Share via


Conversioni di frequenza di esempio XAudio2

Le voci XAudio2 possono eseguire conversioni automatiche della frequenza di esempio se la frequenza di esempio di input è diversa dalla frequenza di esempio di input delle voci di output.

Le conversioni di frequenza di esempio seguono queste regole:

  • La frequenza di esempio di input vocale è fissa.

    Le voci possono gestire solo la frequenza di esempio di input specificata al momento della creazione. Per il mastering di voci e voci submix, la frequenza di esempio di input viene specificata con l'argomento InputSampleRate alle funzioni IXAudio2::CreateMasteringVoice e IXAudio2::CreateSubmixVoice. Per le voci di origine, la frequenza di esempio di input della voce viene specificata dall'argomento pSourceFormat alla funzione IXAudio2::CreateSourceVoice .

  • Tutte le voci di output di una voce devono avere la stessa frequenza di esempio di input.

    Le voci possono essere convertite dalla frequenza di esempio di input a qualsiasi frequenza di esempio di output, ma tutte le voci di output della voce devono avere la stessa frequenza di esempio di input. Ad esempio, una voce potrebbe restituire un numero qualsiasi di voci con una frequenza di esempio di input pari a 22 kHz. Tuttavia, se la stessa voce aveva diverse voci di output, ognuna delle quali aveva una frequenza di esempio di input diversa, il grafico audio non sarebbe valido.

  • L'elaborazione della conversione della frequenza di esempio si verifica solo quando necessario.

    La conversione di dati audio in una frequenza di esempio diversa comporta un sovraccarico di elaborazione maggiore, che è preferibile evitare. Se la frequenza di esempio di input di una voce corrisponde alla frequenza di esempio di input delle voci di output, questa conversione non viene eseguita e il tempo di elaborazione viene abbreviato.

  • La frequenza di esempio di output può variare rispetto alla durata di una voce.

    La frequenza di esempio di output di una voce non è fissa. Purché tutte le voci di output abbiano la stessa frequenza di esempio di input, il grafico audio sarà valido. Se una voce viene modificata in output in nuove voci con una frequenza di esempio di input diversa, la voce convertirà nella frequenza di esempio di input delle nuove voci.

Esistono alcuni scenari in cui è necessario aggiungere una voce submix per eseguire la conversione della frequenza di esempio tra voci. Se una voce deve restituire voci con varie frequenze di esempio di input, solo una delle voci può essere un output diretto della voce originale. Poiché tutte le voci di output di una voce devono avere la stessa frequenza di esempio di input, le altre voci ricevono indirettamente l'output. Deve essere presente una voce submix con la frequenza di esempio di input corretta che viene compresa tra la voce originale e la voce di output prevista.

Si consideri ad esempio una voce di origine con una frequenza di esempio di input di 22 kHz, che deve restituire una voce submix con una frequenza di esempio di input di 11 kHz e una voce di mastering con una frequenza di campionamento di input pari a 44,1 kHz. Poiché le due voci di output hanno frequenze di esempio di input diverse, è necessario inserire più voci di submix tra la voce originale e le voci di output previste. Per mantenere la fedeltà della voce di origine ed evitare conversioni costose non necessarie a tassi di campionamento superiori, è necessario inserire due voci submix con 22 khz frequenza di input di esempio nel grafico. Una voce submix restituisce a 11 khz la voce submix con l'effetto riverbero e l'altra voce submix restituisce la voce mastering a 44,1 khz.

Esempi di conversione della frequenza di esempio nei grafici audio

Tutte le voci hanno la stessa frequenza di input di esempio; nessuna conversione della frequenza di esempio viene eseguita nel grafico audio. nessuna conversione della frequenza di esempio viene eseguita nel grafico audio.

Tutte le voci hanno la stessa frequenza di input di esempio tranne la voce mastering; la conversione della frequenza di esempio viene eseguita solo sui dati che passano alla voce mastering. la conversione della frequenza di esempio viene eseguita solo sui dati che passano alla voce mastering.

Le voci hanno velocità di input di esempio diverse e richiedono più voci submix per eseguire conversioni di frequenza di esempio; la conversione della frequenza di esempio viene eseguita in più posizioni nel grafico audio. la conversione della frequenza di esempio viene eseguita in più posizioni nel grafico audio.

Voci

Guida alla programmazione di XAudio2