Речь в XAudio2
Существует три типа голосовых объектов XAudio2: исходные, субмикшируемые и мастеринговые . Исходные голосовые объекты берутся из звуковых данных, предоставленных клиентом. Данные исходных и комбинированных голосов используются для получения одного или более комбинированных или обработанных голосов. Комбинированные и обработанные голоса смешивают звуковые сигналы из всех голосов, чьи данные они получают, и работают с итоговым звуком. Обработанные голоса записываются в виде звуковых данных на аудиоустройство.
Действия, выполняемые всеми голосами
Все голоса выполняют следующие действия по порядку для звука, который проходит через них.
- Общая регулировка громкости, затрагивающая все звуковые каналы. См. раздел IXAudio2Voice::SetVolume.
- Необязательная цепочка, определяемая клиентом, из одного или нескольких эффектов DSP, например встроенной реверберации или пользовательского эффекта, определенного интерфейсом IXAPO . См. раздел Аудиоэффекты XAudio2.
- Настройка объема выходных данных по каналу. См. раздел IXAudio2Voice::SetChannelVolumes.
- Отдельные матричные сочетания с каждым из целевых голосов или с устройством вывода звука для овладения голосами. При необходимости этот микс изменяет количество каналов в аудио.
Исходные голоса
Используйте исходные голоса для отправки звуковых данных в конвейер обработки XAudio2. Они являются точками входа в аудио граф XAudio2. Вы должны отправлять голосовые данные в голос хозяина, чтобы быть услышанным напрямую или через промежуточные голоса субмикширования.
Помимо действий, выполняемых всеми голосами, исходные голоса выполняют следующие действия.
- При необходимости сначала запускается декодер для преобразования закодированных исходных данных в пульсовую модуляцию кода (PCM).
- Преобразование частоты выборки с переменной частотой (SRC) преобразует исходные звуковые данные голоса в частоту выборки, ожидаемую целевыми голосами, если это необходимо, а также поддерживает динамические изменения тона.
- Необязательный фильтр с переменной состояния можно использовать для цвета звука различными способами. См. раздел IXAudio2Voice::SetFilterParameters.
- К выходным данным голоса можно применить необязательный фильтр. См. раздел IXAudio2Voice::SetOutputFilterParameters.
Субмикшные голоса
Подмиксный голос используется в основном для повышения производительности и обработки эффектов. Вы не можете отправлять буферы данных напрямую в подмиксные голоса. Он не будет слышен, если вы не отправите его на мастеринг голоса. Вы можете использовать голос подмиги, чтобы убедиться, что определенный набор голосовых данных преобразуется в тот же формат, а также для обработки определенной цепочки эффектов в коллективном результате.
В дополнение к действиям, выполняемым всеми голосами, голоса субмикширования выполняют следующие действия.
- При необходимости на выходных данных голоса выполняется SRC с фиксированной частотой, чтобы преобразовать звук в частоту выборки, ожидаемую для голосов назначения.
- Необязательный фильтр с переменной состояния можно использовать для цвета звука различными способами. См. раздел IXAudio2Voice::SetFilterParameters.
- К выходным данным голоса можно применить необязательный фильтр. См. раздел IXAudio2Voice::SetOutputFilterParameters.
Мастеринг голосов
Используйте мастеринг-голос для представления устройства вывода звука. Вы не можете отправлять буферы данных напрямую в голосовые голоса, но данные, отправляемые в другие типы голосов, должны передаваться в мастеринговой голос, чтобы быть услышанным.
В дополнение к действиям, выполняемым всеми голосами, голосовые команды для овладения выполняют следующие действия.
- Если вы создаете мастеринговый голос с явным значением InputSampleRate , которое не поддерживается звуковым устройством, для преобразования в ближайшую частоту выборки, поддерживаемую устройством, используется SRC с фиксированной частотой.
- Закрепите окончательный выходной звук, если это требуется выходному устройству.
Связанные темы