Воспроизведение сэмпла посредством ардуино

mikkry
Offline
Зарегистрирован: 10.03.2016

Друзья!

Есть ардуино Мега(или Уно).

Есть сэмпл.(wav, mp3)

Есть необходимость его вопроизводить.

Вопрос.

Как это можно реализовать?

НЕ ЧЕРЕЗ ШИЛД!!

я понимаю так, что надо записать его в виде последовательности байтов и воспроизводить их каким то образом.

каким же?:)

MagicianT
Offline
Зарегистрирован: 03.10.2015

Считать умеешь? Посмотри сколько байт занимает 1 сек. WAV, потом смотришь сколько флэш памяти на ардуино и делишь одно на другое. MP3 без шилда ваще никак. 

Araris
Offline
Зарегистрирован: 09.11.2012

mikkry пишет:

НЕ ЧЕРЕЗ ШИЛД!!

Любопытно мне - А ПОЧЕМУ?

Voodoo Doll
Voodoo Doll аватар
Offline
Зарегистрирован: 18.09.2016

Есть библиотека, TMRPCM называется.

Подключается SD карта через преобразователь уровня, например на четырех транзисторах 2N7002, далее какой-нибудь из PWM выходов - к усилителю, или предусилителю для динамика, который можно сделать, скажем, на транзисторе S8050. Они дешёвые (5 юаней за сотню, от силы). Учтите что нельзя увлекаться с "а чо так тихо" и перегружать PWM выход, он может перестать работать. Вообще от слова совсем. Микросхему WTV020 не рекомендую, бажная дрянь которая читает не любые флешки.

Формат WAV - 8 бит, дискретизация 16 кГц, моно.

Более расширенный формат WAV (вплоть до 16b@44.1kHz) можно воспроизводить при помощи R2R преобразователя, на ардуине есть этот проект. Ессно, он требует источника WAV-данных, мужик какой-то на ютубе делал, гнал через Serial (у него программа была написана, которая читает WAV файл и отдаёт в COM-порт).

_kp
Offline
Зарегистрирован: 07.10.2016

AVR декодирует только звук в форматах PCM/ADCM с любыми разумными битрейтами. Вывод звука обычно делают через PWM.
Мудрить с фильтрацией PWM сигнала сильно не стоит, частота и разрешение все равно низковаты. Для технических звуков и всяких говорилок вполне сойдёт и так.

Вывод звука через R2R преобразователь, при использовании фильтрации, даёт заметно лучшее качество, чем PWM, но у Arduino слишком мало "лишних" выводов для этого.

STM32 могут декодировать звук в том числе в формате SPEX(почти mp3), при выводе его через более скоростной PWM, без фильтрации, качество приличное, от автомобильного навигатора не отличить. Библиотеки готовые давно есть.

Как, сказали выше, без SD карты что то делать со звуками бесполезно. Во внутренню память процессора не влезет ничего.