The Big Picture: Many Apps, One Speaker

You may have a music player, a video call, a browser tab and Windows notification sounds all making noise at once. But there is only one set of speakers. Somebody has to mix all those sounds into one stream. In old systems each app fought for the hardware. In modern Windows, a central audio engine does the mixing, and every app just hands over its own stream.

 Music player ──┐
 Browser tab ───┤
 Video call ────┼──► AUDIO ENGINE ──► driver ──► hardware ──► speakers
 System sounds ─┘     (mixes, volume, effects)

3.1 The Windows Audio Service (Audiosrv)

What it is: A Windows service (a background program with no window, see Chapter 12 — Windows Services) that manages audio for the whole PC. Its service name is Audiosrv and its display name is Windows Audio. If it stops, you usually see a red cross on the speaker icon and "No audio output device is installed" or simply silence.

Two services work as a pair:

ServiceNamePlain job
Windows AudioAudiosrvRuns the audio engine for the system and manages audio streams
Windows Audio Endpoint BuilderAudioEndpointBuilderBuilds and manages the list of audio endpoints (Speakers, Headphones, Microphone...) from what the drivers report. Windows Audio depends on it

The engine process: audiodg.exe. The actual mixing runs in a process called audiodg.exe (its full name is Windows Audio Device Graph Isolation). Look for it in Task Manager's Details tab. Its job:

  • Mixes the streams of all apps into one.
  • Applies per-app and master volume.
  • Applies effects called APOs (Audio Processing Objects). Examples: loudness equalisation, bass boost, spatial sound.
  • Does sample-rate conversion, so a 44.1 kHz song and a 48 kHz video can both play on a device set to one format (Section 5).

Why a separate process? The engine loads effect plug-ins (APOs) that may come from outside vendors. If one crashes, only audiodg.exe stops, not the whole system. That is what the word "Isolation" in its name means. Windows restarts it for you.

You can check the services and the process from PowerShell (these only read information):

Get-Service Audiosrv, AudioEndpointBuilder
Get-Process audiodg

Expect Status: Running for both services. audiodg may only show up while audio is active or available; on some versions it is always there.

3.2 The Audio Session API (WASAPI)

What it is: WASAPI (Windows Audio Session API) is the main doorway programs use to send sound to, or record sound from, the audio engine. A program opens a stream on an endpoint, then gives WASAPI buffers full of samples. Each program's stream is part of a session. Sessions are what you see in the Volume mixer: one slider per app.

Other APIs lead to the same place. Older and higher-level interfaces still exist, because old programs use them:

APIWhat it isWho uses it
WASAPIThe core modern interfaceMost current apps, directly or indirectly
MME (waveOut)The oldest, simplest Windows audio APIVery old programs
DirectSoundA DirectX audio API from the 1990sOlder games
XAudio2Modern DirectX audio for gamesCurrent games
Media FoundationWindows' media framework: decodes files, then plays through WASAPIMedia players, browsers

On modern Windows these older and higher-level paths end up in WASAPI (for the shared mode below). See Chapter 23 — Windows APIs for the idea of APIs sitting on top of other APIs.

3.3 Shared Mode and Exclusive Mode

What it is: A program using WASAPI can choose how it uses a device.

Shared modeExclusive mode
Who talks to the hardware buffer?The audio engineThe app directly
MixingEngine mixes all appsNone. Only this app plays
FormatOne format set in Sound settings; the engine converts everything to itThe app sets the device format itself (if the device supports it)
Effects (APOs)AppliedUsually bypassed
Delay (latency)A little higherLower
Other appsKeep playingAre silenced or blocked on that device
Typical useEverything normalMusic production, some audio players

In exclusive mode the app can send its samples to the driver without extra processing. That is good for tiny delay or exact "bit-perfect" playback, but it blocks other sounds. A video call app might stop working if another app holds the device exclusively. In the Sound control panel, each device's Advanced tab has options "Allow applications to take exclusive control of this device" and a priority check box.

ASIO (Audio Stream Input/Output) is a third-party low-latency driver model from a music-software company. Studio programs often use it, and it bypasses the Windows engine.

3.4 Volume: Master, Per-App and Device

Volume exists at three levels:

  1. Per-app volume (the app's own slider in the Volume mixer).
  2. Device volume (the master slider for an endpoint, the speaker icon in the taskbar).
  3. Hardware volume: the knob on your speakers or headset.

They multiply. If an app is at 50% and the device is at 50%, you hear about a quarter of the full level. If everything is quiet, check all three.

See the Volume mixer. Right-click the speaker icon in the taskbar and choose Open Volume mixer (Windows 11 shows it under Settings → System → Sound → Volume mixer). Start a song and a video and watch each app appear with its own slider.

Summary

TermPlain meaning
Audiosrv (Windows Audio)Service that runs the audio system
AudioEndpointBuilderService that builds the list of audio endpoints
audiodg.exeProcess that mixes streams, applies effects, converts sample rates
APOAudio Processing Object: an effect plug-in (loudness, spatial sound)
WASAPIWindows Audio Session API: main doorway for sound
MME, DirectSound, XAudio2, Media FoundationOther audio APIs that end up in WASAPI
Shared modeEngine mixes all apps in one agreed format
Exclusive modeOne app owns the device buffer: low delay, no mixing
ASIOThird-party low-latency driver model used by music software
SessionOne app's audio stream (one slider in Volume mixer)