Share via


Voci di XAudio2

Esistono tre tipi di oggetti voce XAudio2: voci di origine, submix e mastering . Le voci di origine operano sui dati forniti dal client. Le voci di origine e di missaggio secondario inviano l'output a una o più voci di missaggio secondario o mastering. Le voci di missaggio secondario e mastering missano l'audio proveniente da tutte le voci che le alimentano e operano sul risultato. Le voci mastering scrivono dati audio in un dispositivo audio.

Azioni eseguite da tutte le voci

Tutte le voci eseguono le azioni seguenti in ordine sull'audio che viaggia attraverso di esse.

  1. Regolazione complessiva del volume, che influisce su tutti i canali audio. Vedere IXAudio2Voice::SetVolume.
  2. Catena facoltativa specificata dal client di uno o più effetti DSP, ad esempio il riverbero predefinito o un effetto utente definito dall'interfaccia IXAPO . Vedi Effetti audio XAudio2.
  3. Regolazione del volume di output per canale. Vedere IXAudio2Voice::SetChannelVolumes.
  4. Combinazione di matrici separate a ognuna delle voci di destinazione o al dispositivo di output audio per le voci mastering. Questa combinazione modifica il numero di canali nell'audio, se necessario.

Voci di origine

Usare le voci di origine per inviare dati audio nella pipeline di elaborazione XAudio2. Sono i punti di ingresso nel grafico audio XAudio2. È necessario inviare dati vocali a una voce mastering per essere ascoltati, direttamente o tramite voci di submix intermedie.

Oltre alle azioni eseguite da tutte le voci, le voci di origine eseguono le azioni seguenti.

  • Se necessario, un decodificatore esegue prima di tutto per convertire i dati di origine codificati in Pulse Code Modulation (PCM).
  • Una conversione della frequenza di campionamento a frequenza variabile converte i dati audio di origine della voce nella frequenza di campionamento prevista dalle voci di destinazione, se necessario, e supporta anche le modifiche di passo dinamiche.
  • Un filtro facoltativo di variabile di stato può essere usato per colorare il suono in vari modi. Vedere IXAudio2Voice::SetFilterParameters.
  • È possibile applicare un filtro facoltativo agli output della voce. Vedere IXAudio2Voice::SetOutputFilterParameters.

Voci submix

Una voce di submix viene usata principalmente per migliorare le prestazioni ed eseguire l'elaborazione degli effetti. Non è possibile inviare buffer di dati direttamente alle voci di submix. Non sarà udibile a meno che non lo invii a una voce mastering. È possibile utilizzare una voce di submix per garantire che un determinato set di dati vocali venga convertito nello stesso formato e per avere una particolare catena di effetti elaborata sul risultato collettivo.

Oltre alle azioni eseguite da tutte le voci, le voci submix eseguono le azioni seguenti.

  • Un SRC a frequenza fissa viene eseguito sull'output della voce, se necessario, per convertire l'audio nella frequenza di campionamento prevista dalle voci di destinazione.
  • Un filtro facoltativo di variabile di stato può essere usato per colorare il suono in vari modi. Vedere IXAudio2Voice::SetFilterParameters.
  • È possibile applicare un filtro facoltativo agli output della voce. Vedere IXAudio2Voice::SetOutputFilterParameters.

Mastering Voices

Usare una voce mastering per rappresentare il dispositivo di output audio. Non è possibile inviare buffer di dati direttamente alle voci mastering, ma i dati inviati ad altri tipi di voci devono passare a una voce mastering per essere ascoltati.

Oltre alle azioni eseguite da tutte le voci, le voci mastering eseguono le azioni seguenti.

  • Se si crea la voce mastering con un valore InputSampleRate esplicito non supportato dal dispositivo audio, viene usato un SRC a velocità fissa per convertire nella frequenza di campionamento più vicina supportata dal dispositivo.
  • Ritaglia l'audio di output finale, se richiesto dal dispositivo di output.

Voci

Guida alla programmazione di XAudio2

IXAudio2SourceVoice

IXAudio2SubmixVoice

IXAudio2MasteringVoice