Войти
ПрограммированиеФорумЗвук

Эффект звука в тонеле.

#0
4:31, 4 мая 2019

Сабж. Не знаю как называется такой эффект, и как гуглить его, соответственно, тоже.

1) как такая штука называется?
2) какие подходы к ее реализации?


#1
11:34, 4 мая 2019

Делаешь геометрию, внутри которой будет такой эффект для звука. Или ты хочешь разрушить тоннель и эффект пропадёт? Или сделай клиппинг к материалу пола. А юзай этот материал только в тоннеле.

#2
11:49, 4 мая 2019

vindast
Реверберация?

#3
(Правка: 12:20) 12:17, 4 мая 2019

lookid, да меня не это интересует. Меня интересует что надо с источниками / слушателем делать.

mr.DIMAS
> Реверберация?
Да да да.

Какие подходы к его реализации? Речь не о точном решении волновых уравнений если что )

#4
12:24, 4 мая 2019

Обычно делается несколько линий задержки с обратной связью с низкочастотным фильтром. Я делал по этим докам - https://ccrma.stanford.edu/realsimple/Reverb/

#5
12:35, 4 мая 2019

Можно еще посмотреть Freeverb если интересует конкретно код. Про фильтры можно почитать тут https://ccrma.stanford.edu/~jos/filters/

#6
14:05, 4 мая 2019

mr.DIMAS
> несколько линий задержки с обратной связью с низкочастотным фильтром
vindast
Этот эффект называется Hall, тут я давал вариант кода:
https://gamedev.ru/projects/forum/?id=189866&page=11&m=4664847#m154

#7
18:12, 4 мая 2019

mr.DIMAS
> несколько линий задержки с обратной связью

Надо очень аккуратно - резонируют кратные частоты, звук становится "металлическим". Поэтому либо отрезать высокие частоты нафиг (не во всех случаях приемлемо), либо обратную связь быстро затухать + много-много отводов от длинных линий задержки.

#8
(Правка: 19:21) 18:58, 4 мая 2019

Dmitry_Milk
Обычно и частотный фильтр и затухания эха делают.

Берется небольшой циклический буфер, поэлементно туда копируют исходную волну, и складывают с затухающим фильтрованным значением из этого же буфера с несколькими минус шагами не больше длинны буфера. Шаги для эха нужно брать сразу нескольких вариантов, к примеру 5 по 1000, 2 эха по 2000 (задается через параметры). На каждый из них своя сила амплитудного затухания и фильтра. Генерация тут случается часто поэтому затухание с фильтрацией практически на максимум. После сложения это значение одного элемента копируешь в результат. Можно конечно обойтись без промежуточного буфера, но иногда на него накладываются еще фильтры. По первости лучше готовый вариант смотреть. Например глянуть исходники Plasticator за одно глянуть реализацию фильтров.

Немного теории и простой пример на амплитуде можно глянуть. Все тоже самое что и предлагали.

Ширина комнаты или трубы задается шагом эха, а материал амплитудой и фильтром. Не обязательно фильтрацией высоких частот, тут скорее определенный диапазон частот берется как еще один параметр. Разница в отдельных шагах рядов эха задает форму объекта, круглые/квадратные стены.

#9
22:44, 4 мая 2019

Всем спасибо, буду разбираться. Как что получится / не получится - отпишусь.

ПрограммированиеФорумЗвук