Ревербератор на Arduino

Sanyaba
Sanyaba аватар
Offline
Зарегистрирован: 27.07.2015

Друзья подскажите можно ли реализовать эффект реверберации на ардуино, очень нужно реализовать микрофон с эффектом реверберации или эффектом эхо, а под руками есть только ардуино.

Если у кого есть какие мысли по этому поводу буду благодарен.

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sanyaba, компьютер стало быть не под рукой? На нём это проще в 100 000 раз :)

Sanyaba
Sanyaba аватар
Offline
Зарегистрирован: 27.07.2015

да в том то и дело, что там где будет использоваться микрофон нет компьютера, решение нужно портативное, нашел кое что но с ангийским сложно http://interface.khm.de/index.php/lab/interfaces-advanced/arduino-realtime-audio-processing/

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sanyaba пишет:

да в том то и дело, что там где будет использоваться микрофон нет компьютера, решение нужно портативное,

Смартфон? ;)

Sanyaba
Sanyaba аватар
Offline
Зарегистрирован: 27.07.2015

любительская радиостанция (трансивер)

dimax
dimax аватар
Offline
Зарегистрирован: 25.12.2013

Sanyaba, да всё равно для чего. Ардуино -это худший вариант из всех возможных. Если и возможноэто сделать, то звук будет полное г.  Идеально программу для смартфона найти.   Можно чисто аппаратно эхо делать, вот специальная микруха продаётся, есть даже в чип-дипе чуть дороже. Или набор сделай сам.

Sanyaba
Sanyaba аватар
Offline
Зарегистрирован: 27.07.2015

спасибо за ответ, по поводу PT2399 в курсе но преобрести ее Донецке врятли получится, а с доставкой товаров с али у нас очень сложно... есть варианты доставки но ждать минимум 2 месяца

Alex_Sk
Offline
Зарегистрирован: 06.01.2015

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

Т.е. не требуется какая то сложная математическая обработка. Нужно просто повторять на выходе входной сигнал с задержкой. Суммировать можно и аналогово если с производительностью будет туго. Ведь о какой Ардуино речь не указано. Но даже Уно должно хватить если применить некоторые приемы повышения быстродействия - повысить частоту АЦП, читать с него 8 бит, выход делать параллельным через ЦАП на резисторах. У меня по такому принципу сделано на Нано управление дугой в сварочном инверторе практически в реальном времени. Цикл регулирования получился около 20мкс.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

Alex_Sk, первый раз слышу, чтобы ревербератор от эха отличался направлением линии задержки. Уж если рассматривают ревербератор именно как линию задержки, то обычно либо считают, что ээхо и реверберация - это один и тот же эффект, либо - что они различаются по величине задержки.

Кроме того, для ревербератора одной линии задержки как-то маловато. Обычно используется от 2 до 4-7 (причем обязательно с некратными временами), а то и вообще конструкцию, в которой отражение сигнала происходит непреоывно (эхо-камера, листовой ревербератор).

На мой взгляд, на Ардуино сделать мало-мальски вменяемый ревербератор невозможно.

У штатного АЦП даже при частоте дискретизации около 8 кГц фактически 8 разрядов (два оставшихся - шумовые). И 8 кГц - мало, и 8 разрядов - мало. Да и на этой частоте максимальное время задержки примерно 0.2 с. В принципе, для реверберации достаточно (если не пытаться увеличивать частоту дискретизации), для эха - нет.

Можно, конечно, в качестве АЦП взять что-то вроде MCP3008, взять 2560 Мегу, прицепить к ней дополнительную память... Только овчинка выделки не стоит.