Сабж. Не знаю как называется такой эффект, и как гуглить его, соответственно, тоже.
1) как такая штука называется?
2) какие подходы к ее реализации?
Делаешь геометрию, внутри которой будет такой эффект для звука. Или ты хочешь разрушить тоннель и эффект пропадёт? Или сделай клиппинг к материалу пола. А юзай этот материал только в тоннеле.
vindast
Реверберация?
lookid, да меня не это интересует. Меня интересует что надо с источниками / слушателем делать.
mr.DIMAS
> Реверберация?
Да да да.
Какие подходы к его реализации? Речь не о точном решении волновых уравнений если что )
Обычно делается несколько линий задержки с обратной связью с низкочастотным фильтром. Я делал по этим докам - https://ccrma.stanford.edu/realsimple/Reverb/
Можно еще посмотреть Freeverb если интересует конкретно код. Про фильтры можно почитать тут https://ccrma.stanford.edu/~jos/filters/
mr.DIMAS
> несколько линий задержки с обратной связью с низкочастотным фильтром
vindast
Этот эффект называется Hall, тут я давал вариант кода:
https://gamedev.ru/projects/forum/?id=189866&page=11&m=4664847#m154
mr.DIMAS
> несколько линий задержки с обратной связью
Надо очень аккуратно - резонируют кратные частоты, звук становится "металлическим". Поэтому либо отрезать высокие частоты нафиг (не во всех случаях приемлемо), либо обратную связь быстро затухать + много-много отводов от длинных линий задержки.
Dmitry_Milk
Обычно и частотный фильтр и затухания эха делают.
Берется небольшой циклический буфер, поэлементно туда копируют исходную волну, и складывают с затухающим фильтрованным значением из этого же буфера с несколькими минус шагами не больше длинны буфера. Шаги для эха нужно брать сразу нескольких вариантов, к примеру 5 по 1000, 2 эха по 2000 (задается через параметры). На каждый из них своя сила амплитудного затухания и фильтра. Генерация тут случается часто поэтому затухание с фильтрацией практически на максимум. После сложения это значение одного элемента копируешь в результат. Можно конечно обойтись без промежуточного буфера, но иногда на него накладываются еще фильтры. По первости лучше готовый вариант смотреть. Например глянуть исходники Plasticator за одно глянуть реализацию фильтров.
Немного теории и простой пример на амплитуде можно глянуть. Все тоже самое что и предлагали.
Ширина комнаты или трубы задается шагом эха, а материал амплитудой и фильтром. Не обязательно фильтрацией высоких частот, тут скорее определенный диапазон частот берется как еще один параметр. Разница в отдельных шагах рядов эха задает форму объекта, круглые/квадратные стены.
Всем спасибо, буду разбираться. Как что получится / не получится - отпишусь.
Тема в архиве.