Воспроизведение сэмпла посредством ардуино
- Войдите на сайт для отправки комментариев
Втр, 04/10/2016 - 23:19
Друзья!
Есть ардуино Мега(или Уно).
Есть сэмпл.(wav, mp3)
Есть необходимость его вопроизводить.
Вопрос.
Как это можно реализовать?
НЕ ЧЕРЕЗ ШИЛД!!
я понимаю так, что надо записать его в виде последовательности байтов и воспроизводить их каким то образом.
каким же?:)
Считать умеешь? Посмотри сколько байт занимает 1 сек. WAV, потом смотришь сколько флэш памяти на ардуино и делишь одно на другое. MP3 без шилда ваще никак.
НЕ ЧЕРЕЗ ШИЛД!!
Любопытно мне - А ПОЧЕМУ?
Есть библиотека, TMRPCM называется.
Подключается SD карта через преобразователь уровня, например на четырех транзисторах 2N7002, далее какой-нибудь из PWM выходов - к усилителю, или предусилителю для динамика, который можно сделать, скажем, на транзисторе S8050. Они дешёвые (5 юаней за сотню, от силы). Учтите что нельзя увлекаться с "а чо так тихо" и перегружать PWM выход, он может перестать работать. Вообще от слова совсем. Микросхему WTV020 не рекомендую, бажная дрянь которая читает не любые флешки.
Формат WAV - 8 бит, дискретизация 16 кГц, моно.
Более расширенный формат WAV (вплоть до 16b@44.1kHz) можно воспроизводить при помощи R2R преобразователя, на ардуине есть этот проект. Ессно, он требует источника WAV-данных, мужик какой-то на ютубе делал, гнал через Serial (у него программа была написана, которая читает WAV файл и отдаёт в COM-порт).
AVR декодирует только звук в форматах PCM/ADCM с любыми разумными битрейтами. Вывод звука обычно делают через PWM.
Мудрить с фильтрацией PWM сигнала сильно не стоит, частота и разрешение все равно низковаты. Для технических звуков и всяких говорилок вполне сойдёт и так.
Вывод звука через R2R преобразователь, при использовании фильтрации, даёт заметно лучшее качество, чем PWM, но у Arduino слишком мало "лишних" выводов для этого.
STM32 могут декодировать звук в том числе в формате SPEX(почти mp3), при выводе его через более скоростной PWM, без фильтрации, качество приличное, от автомобильного навигатора не отличить. Библиотеки готовые давно есть.
Как, сказали выше, без SD карты что то делать со звуками бесполезно. Во внутренню память процессора не влезет ничего.