Я работаю над игровым движком для домашнего пива, и в настоящее время я работаю над реализацией звука. Это в основном по причинам самообразования. Я хочу создать оболочку интерфейса для общей обработки звука, поэтому я могу переключаться между OpenAL, XAudio2 или другими платформами по мере необходимости или необходимости. Я также хочу, чтобы этот код был повторно использован, поэтому я стараюсь сделать его как можно более полным, и различные системы реализуют как можно больше функциональности. В настоящее время я сосредоточен на реализации XAudio2 и могу перейти к реализации OpenAL позднее.Обработка окклюзии XAudio2
В последние несколько месяцев я много читал о 3D-обработке (слушателе/излучателе), воздействии окружающей среды (реверберации), исключении, окклюзии, обструкции и прямом звуке. Я хочу использовать любой из этих эффектов при воспроизведении звука. Хотя я изучил темы, насколько это возможно, я не могу найти примеров того, как на самом деле реализованы окклюзия (подавление прямого и отраженного сигнала), обструкция (прямое подавление сигнала) или исключение (отражение сигнала отражения). Чтение документации MSDN кажется пассивной ссылкой на окклюзию, но ничего непосредственно о реализации. Лучшее, что я нашел, - это общий «использование фильтра нижних частот», который мне не очень-то помогает
Итак, я задаюсь вопросом: используя XAudio2, как реализовать реалистичный звук глушения звука (исключение) и звуковое прямое подавление сигнала (обструкция) или оба одновременно (окклюзия)? Как бы выглядел звуковой график и как они будут относиться к эффектам реверберации?
Редактировать 2013-03-26:
О дальнейшем думать о графике, я понял, что не может смотреть на график с правильной точки зрения.
Если график, как представляется,: Source → Эффекты (Субмикса) → Овладение
-или-
Если график появляются обобщенно выглядит следующим образом:
↗→ Direct → Effects ↘
Source →Mastering
↘→ Reflections → Effects ↗
Второй график расколет график такой, что исключение и обструкция может быть рассчитана отдельно; частью моей путаницы было то, как они будут обрабатываться независимо.
Я бы подумал, что настройки реверберации из структуры 3D-звука DSP будут применены к пути отражений; что допплер будет применяться либо к прямому, либо к прямому, и к отраженному пути; и что эффекты окружающей среды реверберации повлияют только на путь отражений. Это приближается к правильной модели звукового графика?
Спасибо за ответ. После прочтения это, похоже, не соответствует аспекту реализации моего вопроса. Я отредактировал свой вопрос с некоторыми мыслями к звуковому графику, о котором я, возможно, смутил. По сути, просто демпинг фильтра нижних частот будет влиять как на прямой, так и на отражения, которые я хочу знать, как применять отдельно. –
Фильтр нижних частот приближается к сумме как прямого, так и косвенного сигналов. Если вы хотите их разделить, я бы сделал это на этапе ввода. Косвенный сигнал проходит через фильтр нижних частот и т. Д., Как и раньше. Прямой сигнал расщепляется на входе и будет подаваться в усиление (так что вы можете изменять баланс прямого/косвенного), а затем снова присоединяться к основному пути сигнала на этапе вывода (непосредственно перед реверберацией). Вы хотите, чтобы оба были поданы в реверберацию, когда реверберация моделирует, где вы слушаете (не там, откуда звучит звук). – MikeJones