Głosy XAudio2
Istnieją trzy typy obiektów głosowych XAudio2: źródłowych, podmiksówi opanowanie głosów. Głosy źródłowe działają na danych dźwiękowych dostarczonych przez klienta. Głosy źródłowe i podmiksowe wysyłają swoje dane wyjściowe do co najmniej jednego podmiksu lub głosów nadrzędnych. Submix i mastering głosów mieszają dźwięk ze wszystkich głosów, które je karmią, i działają na wynik. Głosy mistrzowskie zapisują dane audio na urządzeniu audio.
Akcje wykonywane przez wszystkie głosy
Wszystkie głosy wykonują następujące akcje w kolejności na dźwięku, który je podróżuje.
- Ogólna korekta głośności, wpływająca na wszystkie kanały audio. Zobacz IXAudio2Voice::SetVolume.
- Opcjonalny łańcuch określony przez klienta jednego lub większej liczby efektów DSP, takich jak wbudowany reverb lub efekt użytkownika zdefiniowany przez interfejs IXAPO. Zobacz efekty dźwiękowe XAudio2.
- Dostosowanie woluminu wyjściowego dla kanału. Zobacz IXAudio2Voice::SetChannelVolumes.
- Oddzielne macierze mieszają się z poszczególnymi głosami docelowymi lub z urządzeniem wyjściowym audio w celu opanowania głosów. Ta kombinacja zmienia liczbę kanałów w dźwięku, jeśli to konieczne.
Głosy źródłowe
Użyj głosów źródłowych, aby przesłać dane audio do potoku przetwarzania XAudio2. Są to punkty wejścia do XAudio2 Audio Graph. Musisz wysłać dane głosowe do głosu mistrzowskiego, który ma być wysłuchany bezpośrednio lub za pośrednictwem pośrednich głosów submiksowych.
Oprócz akcji wykonywanych przez wszystkie głosy, głosy źródłowe wykonują następujące akcje.
- W razie potrzeby dekoder jest uruchamiany jako pierwszy w celu przekonwertowania zakodowanych danych źródłowych na modulację kodu impulsowego (PCM).
- Zmienna częstotliwość konwersji częstotliwości próbkowania (SRC) konwertuje dane audio źródłowego głosu na częstotliwość próbkowania oczekiwaną przez głosy docelowe, jeśli jest to konieczne, a także obsługuje zmiany dynamicznych skoków.
- Opcjonalny filtr zmiennej stanu może służyć do kolorowania dźwięku na różne sposoby. Zobacz IXAudio2Voice::SetFilterParameters.
- Opcjonalny filtr można zastosować do danych wyjściowych głosu. Zobacz IXAudio2Voice::SetOutputFilterParameters.
Głosy podrzędne
Głos podrzędny jest używany głównie do poprawy wydajności i przetwarzania efektów. Nie można przesyłać danych bezpośrednio do głosów podrzędnych. Nie będzie słyszalne, chyba że prześlesz go do głosu mistrzowskiego. Możesz użyć głosu podrzędnego, aby upewnić się, że określony zestaw danych głosowych jest konwertowany na ten sam format i ma określony łańcuch efektu przetworzony na zbiorczy wynik.
Oprócz akcji wykonywanych przez wszystkie głosy, głosy podrzędne wykonują następujące akcje.
- W razie potrzeby funkcja SRC o stałym współczynniku jest uruchamiana na danych wyjściowych głosu, aby przekonwertować dźwięk na częstotliwość próbkowania oczekiwaną przez głosy docelowe.
- Opcjonalny filtr zmiennej stanu może służyć do kolorowania dźwięku na różne sposoby. Zobacz IXAudio2Voice::SetFilterParameters.
- Opcjonalny filtr można zastosować do danych wyjściowych głosu. Zobacz IXAudio2Voice::SetOutputFilterParameters.
Opanowanie głosów
Użyj głosu mastering, aby reprezentować urządzenie wyjściowe audio. Nie można przesyłać danych bezpośrednio do głosów mistrzowskich, ale dane przesyłane do innych typów głosów muszą przejść do głosu mistrzowskiego.
Oprócz akcji wykonywanych przez wszystkie głosy, głosy mistrzowskie wykonują następujące akcje.
- Jeśli utworzysz głos wzorca z jawną wartością InputSampleRate, która nie jest obsługiwana przez urządzenie audio, używana jest stała szybkość SRC do konwersji na najbliższą częstotliwość próbkowania obsługiwaną przez urządzenie.
- Wycinek końcowego dźwięku wyjściowego, jeśli jest to wymagane przez urządzenie wyjściowe.
Tematy pokrewne
-
przewodnik programowania XAudio2