Architettura audio di Windows

Questo argomento ha fornito un riepilogo generale dell'architettura audio di Windows 10/11.

Diagramma dello stack audio di Windows 10/11

Questo diagramma fornisce un riepilogo degli elementi principali dello stack audio di Windows 10/11.

Diagramma che mostra lo stack audio di Windows 10/11, tra cui app, motore audio, driver e hardware.

API

API di primo livello

Le API di primo livello vengono usate per lo sviluppo di applicazioni. Queste API sono attualmente in uso e supportate.

Queste API precedenti sono deprecate.

API di basso livello

Queste API di livello inferiore sono consigliate per lo streaming audio.

  • WASAPI (prestazioni elevate, ma più complicate)
  • IXAudio2 (in genere usato per i giochi)
  • MIDI

Questa API di livello inferiore è consigliata per l'enumerazione.

Queste API non sono consigliate per le applicazioni Windows.

Motore audio

Il motore audio è costituito da due componenti correlati, ovvero Audio Device Graph (audiodg.exe), che carica il motore audio (audioeng.dll).

Motore audio:

  • Combina ed elabora i flussi audio. Per altre informazioni su come il motore audio usa i buffer per trasferire l'audio, vedi Informazioni sul driver di porta WaveRT.
  • Carica gli oggetti di elaborazione audio (APO), ovvero plug-in specifici H/W che elaborano il segnale audio. Per altre informazioni sulle API, vedere Oggetti di elaborazione audio di Windows.

Servizio audio (audiosrv.dll)

Il servizio audio:

  • Viene usato per configurare e controllare i flussi audio.
  • Implementa i criteri di Windows per la riproduzione audio in background, l'anatraggio e così via.

Generatore di endpoint audio (audioendpointbuilder.exe)

Generatore di endpoint audio (audioendpointbuilder.exe):

  • Viene usato per individuare nuovi dispositivi audio e creare endpoint audio software. Per altre informazioni sull'algoritmo usato, vedere Algoritmo di Generatore di endpoint audio.

Driver audio

Driver audio:

  • Seguire il modello port-miniport. Per altre informazioni, vedere Terminologia audio WDM e Sviluppo di un driver miniport WaveRT.
  • Consente allo stack audio di eseguire il rendering e l'acquisizione dell'audio da diversi dispositivi audio, tra cui: altoparlanti e microfoni integrati, cuffie/cuffie, dispositivi USB, dispositivi Bluetooth, HDMI e così via.
  • Il modello port-miniport corrisponde all'architettura avanzata del suono Linux ALSA
  • Per informazioni sul codice del driver di esempio, vedere Driver audio di esempio.

Hardware

L'hardware audio presente in qualsiasi dispositivo varia ma può includere:

  • Codec audio
  • DSP (facoltativo)
  • Altoparlanti integrati, microfono e così via
  • Dispositivi esterni: dispositivi audio USB, dispositivi audio Bluetooth, audio HDMI e così via.
  • L'elaborazione dei segnali può essere implementata anche in H/W (ad esempio, il codec o il DSP), anziché o oltre alle API.