2013-03-26 2 views
0

Я работаю над игровым движком для домашнего пива, и в настоящее время я работаю над реализацией звука. Это в основном по причинам самообразования. Я хочу создать оболочку интерфейса для общей обработки звука, поэтому я могу переключаться между OpenAL, XAudio2 или другими платформами по мере необходимости или необходимости. Я также хочу, чтобы этот код был повторно использован, поэтому я стараюсь сделать его как можно более полным, и различные системы реализуют как можно больше функциональности. В настоящее время я сосредоточен на реализации XAudio2 и могу перейти к реализации OpenAL позднее.Обработка окклюзии XAudio2

В последние несколько месяцев я много читал о 3D-обработке (слушателе/​​излучателе), воздействии окружающей среды (реверберации), исключении, окклюзии, обструкции и прямом звуке. Я хочу использовать любой из этих эффектов при воспроизведении звука. Хотя я изучил темы, насколько это возможно, я не могу найти примеров того, как на самом деле реализованы окклюзия (подавление прямого и отраженного сигнала), обструкция (прямое подавление сигнала) или исключение (отражение сигнала отражения). Чтение документации MSDN кажется пассивной ссылкой на окклюзию, но ничего непосредственно о реализации. Лучшее, что я нашел, - это общий «использование фильтра нижних частот», который мне не очень-то помогает

Итак, я задаюсь вопросом: используя XAudio2, как реализовать реалистичный звук глушения звука (исключение) и звуковое прямое подавление сигнала (обструкция) или оба одновременно (окклюзия)? Как бы выглядел звуковой график и как они будут относиться к эффектам реверберации?

Редактировать 2013-03-26:
О дальнейшем думать о графике, я понял, что не может смотреть на график с правильной точки зрения.
Если график, как представляется,: Source → Эффекты (Субмикса) → Овладение
-или-
Если график появляются обобщенно выглядит следующим образом:

 ↗→ Direct → Effects ↘ 
Source       →Mastering 
     ↘→ Reflections → Effects ↗ 

Второй график расколет график такой, что исключение и обструкция может быть рассчитана отдельно; частью моей путаницы было то, как они будут обрабатываться независимо.
Я бы подумал, что настройки реверберации из структуры 3D-звука DSP будут применены к пути отражений; что допплер будет применяться либо к прямому, либо к прямому, и к отраженному пути; и что эффекты окружающей среды реверберации повлияют только на путь отражений. Это приближается к правильной модели звукового графика?

ответ

0

Вы хотите, чтобы ваш график, чтобы посмотреть что-то вдоль линий:

Входные данные ---> Низкочастотный фильтр ---> Выход

Вы регулируете фильтр нижних частот в качестве источника становится более засорению. Вы также можете использовать усиление фильтра нижних частот для имитации поглощения. Настройки фильтра лучше всего настраиваются так, чтобы они отображались таким образом, чтобы их можно было отрегулировать с помощью Sound Designer.

Эта статья охватывает звук Размножение более подробно: http://engineroom.ubi.com/sound-propagation-and-diffraction-simulation/

С точки зрения это, то был принят по графику экологических эффектов, таких как реверберация, вы просто желаете, чтобы быть дальше вниз графика:

Вход ---> Фильтр нижних частот ---> Выход ---> Реверберация ----> Мастер-выход

Таким образом, реверберированный звук будет соответствовать окклюдированному звуку (в противном случае он будет звучать нечетно, если реверберация не соответствует прямой сигнал).

Использование фильтра нижних частот звучит неопределенно и неполно, но на самом деле не так уж и много, чем фильтрация высоких частот и регулировка коэффициента усиления. Для более продвинутого моделирования окружающей среды вы хотите исследовать что-то вроде «Предварительно рассчитанного волнового моделирования для распространения звука в реальном времени динамических источников в сложных сценариях» (я не могу напрямую связать, так как пока у меня недостаточно репутации!), Но это может не выходят за рамки того, чего вы пытаетесь достичь.

+0

Спасибо за ответ. После прочтения это, похоже, не соответствует аспекту реализации моего вопроса. Я отредактировал свой вопрос с некоторыми мыслями к звуковому графику, о котором я, возможно, смутил. По сути, просто демпинг фильтра нижних частот будет влиять как на прямой, так и на отражения, которые я хочу знать, как применять отдельно. –

+0

Фильтр нижних частот приближается к сумме как прямого, так и косвенного сигналов. Если вы хотите их разделить, я бы сделал это на этапе ввода. Косвенный сигнал проходит через фильтр нижних частот и т. Д., Как и раньше. Прямой сигнал расщепляется на входе и будет подаваться в усиление (так что вы можете изменять баланс прямого/косвенного), а затем снова присоединяться к основному пути сигнала на этапе вывода (непосредственно перед реверберацией). Вы хотите, чтобы оба были поданы в реверберацию, когда реверберация моделирует, где вы слушаете (не там, откуда звучит звук). – MikeJones

Смежные вопросы