Share via


Grafico audio XAudio2

Il set di tutte le voci, con i relativi effetti contenuti e le relative interconnessioni, viene definito grafico di elaborazione audio. Il grafico accetta un set di flussi audio dal client come input, li elabora e recapita il risultato finale a un dispositivo audio. Tutta l'elaborazione audio avviene in un thread separato con una periodicità definita dal quantum del grafico (attualmente 10 millisecondi in Microsoft Windows e 5 1/3 millisecondi in Xbox 360). Ogni millisecondo quantistico, il thread si riattiva e distribuisce i millisecondi quantistici dei dati audio attraverso l'intero grafico. Per un esempio di creazione di un grafico audio di base, vedere Procedura: Creare un grafico di elaborazione audio di base.

Un semplice grafico audio:

un semplice grafico audio

Il client può controllare lo stato del grafico in modo dinamico durante l'esecuzione. Le azioni di controllo possono includere l'aggiunta e la rimozione di input e output, la modifica degli effetti interni e delle interconnessioni, l'impostazione dei parametri sugli effetti, l'abilitazione e la disabilitazione di parti del grafico e così via. Per un esempio di modifica dinamica di un grafico audio, vedere Procedura: Aggiungere o rimuovere dinamicamente voci da un grafico audio.

Elaborazione del grafico

Qualsiasi chiamata al metodo che influisce su qualsiasi oggetto nel grafico viene considerata come effetto di una modifica dello stato del grafo. Le modifiche dello stato del grafo includono quanto segue:

  • Creazione e eliminazione delle voci
  • Avvio o arresto delle voci
  • Modifica delle destinazioni di una voce
  • Modifica delle catene di effetti
  • Abilitazione o disabilitazione degli effetti
  • Impostazione dei parametri sugli effetti o sulle SRC predefinite, filtri, volumi e mixer

Qualsiasi set di modifiche dello stato del grafo può essere combinato ed eseguito come transazione atomica. Queste operazioni atomiche sono note come set di operazioni. Vengono illustrati nella panoramica dei set di operazioni XAudio2 .

Rappresentazione dei dati interna

I dati audio all'interno del grafico XAudio2 vengono sempre archiviati ed elaborati in formato PCM a virgola mobile a 32 bit. Tuttavia, il numero di canali e la frequenza di campionamento possono variare all'interno del grafico. Il formato in cui una determinata voce elabora l'audio è determinato dal tipo di voce e dai parametri usati per creare la voce.

Tipo di voce Parametri
IXAudio2SourceVoice Numero di canali e frequenza di campionamento delle voci a cui la voce di origine invia l'audio.
IXAudio2SubmixVoice e IXAudio2MasteringVoice Argomenti InputChannels e InputSampleRate usati per creare la voce submix/mastering.

 

Conversione del formato

XAudio2 gestisce qualsiasi frequenza di campionamento o conversioni di canale necessarie per il trasferimento audio da una voce a un'altra, con le limitazioni seguenti:

  • Tutte le voci di destinazione per una determinata voce devono essere in esecuzione con la stessa frequenza di campionamento
  • Gli effetti in una catena di effetti possono modificare il conteggio dei canali audio, ma non la frequenza di campionamento
  • Il conteggio dei canali di output di una catena di effetti deve corrispondere a quello delle voci a cui invia
  • Non è possibile apportare alcuna modifica dinamica del grafico che interrompe le regole precedenti

Sul lato input, le voci di origine possono leggere i dati in qualsiasi formato PCM valido o in uno dei formati compressi supportati da XAudio2. Se i dati di input vengono compressi, questi vengono decodificati in PCM a virgola mobile prima di eseguire ulteriori elaborazioni.

Sul lato output, le voci mastering possono produrre solo dati PCM. Questi dati soddisfano sempre le stesse restrizioni descritte in precedenza per i dati PCM di input.

Grafici audio

Guida alla programmazione di XAudio2

Procedura: Creare un grafico di elaborazione audio di base

Procedura: Aggiungere o rimuovere dinamicamente voci da un grafico audio

Procedura: Usare voci di missaggio secondario

Procedura: Creare una catena di effetti