Попадался кому модуль плеера для ардуино быстрый?

попадался кому модуль плеера для ардуино быстрый ?
способный воспроизводить по 2 коротенькие мелодии (200-400 мл.c.) каждую секунду…
я создавал тему в аппаратные вопросы…
не понимаю как она тут то оказалась…
наверное из за того что продолжил редактирование))) переместите пж…

эммм, это если что не про алкоголь…

воспроизводить меньше двух раз в секунду не вариант, по тому что это эффекты для меча, и два удара в секунду может даже мало…

плееры дешевенькие не успевают останавливать воспроизведение, и снова запускать, а без него если конвертировать звук в код плохое качество звука…

в общем мне бы готовый быстрый модуль плеера нужен… что бы 2 коротеньких звука успевал быстро запускать…

Не знаю насчёт всяких мр3, но есть специализированные микросхемки, “voice recorder” или как-то так. Но там WAV только. По сути это флешки, но с упором на запись/чтение звуков. Работает так быстро, насколько способен МК.

можно самому написать… ЕСП32 способен декодировать МП3 и даже библиотеки есть. Будет работать быстро.

Правда сам процесс “написать” может занять “долго” :slight_smile:

Только непонятно зачем для “вжух…” использовать мп3.

ISD1820 ? там только 1 мелодия вроде… мне бы 3-5 записать, и общей длительностью 5 секунд более чем…
JQ6500 ? не уверен что быстро сможет воспроизводить файлы…
покупать все, и перебирать не хватит денех)))

спс, вроде что то есть в сети https://www.youtube.com/watch?v=a8Po25Sa6h0 и кажется это будет получше чем так делать https://arduinoplus.ru/vosproizvedenie-audiofailov-arduino/

над вжух еще не думал… хотя можно добавить модуль mpu6050… и добавить еще звуковой эффект взмахов… но я хотел пока что просто сделать меч джедая))) (подсветка и звуковое сопровождение) который реагирует на другой такой меч, и на тело человека…(изменяя яркость свечения адресной ленты, и проигрывание соответствующего звука при контакте) добавить звук активации меча, звук соприкосновения, и звук непрерывного контакта мечей… а мп3 использовать потому что плохое звучание получается…

Lossless WAV хуже Lossy MP3?
Ну, окчо.

1 лайк

эммм, уже не уверен… я как думал, если мп3 то звук будет лучше… битность там больше может… а вообще не вникал еще в то как они на esp воспроизводят мп3…

Вы можете одним длинным пакетом записать все нужные звуки, с маленькими интервалами, потом воспроизводить выборочно, кусками, то что нужно. Входной сигнал или с микрофона или аудиовход. В таком режиме управлять этим девайсом надо по SPI, в сети все на эту тему есть. Насчет скорости, не могу сказать, не мерял.
Вся аудиодорожка разбита на кванты, довольно короткие. По номеру начального и конечного кванта запрашивается воспроизведение нужной части аудиодорожки

сам чип ISD1760. Можно купить отдельно.

А вообще не проще ль звук хранить во Flash? Не думаю что там много надо. К примеру мега128. 88кБ на 2,4,10 секунд хватит, сморя какое качество надо.

С модулем на ISD1760 поработал, то что хотел - получил. Иные варианты не пробовал.

Ну, на той “акустической системе”, которой наверняка будет пользоваться ТС, разницы он все равно не заметит.
А вот то, что формат mp3 принципиально вносит заметные временнЫе задержки, - это гораздо существеннее.

извините за ссылку которую не проверил, там пример с ошибками…
вот скачайте это, и подключите динамик к 11 пину и к gnd, и скажите разве это не во флеш памяти уже ?
это дура съедает окончание ий или й(
переделывать нет времени)))
надеюсь с яндекс диска не удалится))) а то файлобменики куда то девают мои файлы…
https://disk.yandex.ru/d/zY5x6KYbowfM0A

тут еще покопался, и вроде даже не плохо… а у меня плохой звук был из за того что провод отходит)))

Боюсь у меня нет сейчас времени и технической возможности. Попробую в течение дня посмотреть.
В субботу гляну, пока восстанавливаю систему ПЭВМ свою. Пока поставлю Студию, то да сё.

Агась. Посмотрел я. А съедает последний звук оттого что он так записан может быть?

или от того что так записан, или от того что где то в коде приглушение идет в конце…

// Рампа вниз до нуля, чтобы уменьшить щелчок в конце воспроизведения.
OCR2A = sounddata_length + lastSample - sample;

я тут покопался еще и не могу понять хороший звук или нет…
одни файлы хорошо выходят другие совсем плохо, провод не отходит теперь точно)))

Код
int speakerPin = 11; 
volatile uint16_t sample; 
byte lastSample; 
ISR(TIMER1_COMPA_vect) 
{ 
    if (sample >= sounddata_length) 
    { 
        if (sample == sounddata_length + lastSample) 
        {
            stopPlayback();
        }
        else
        { 
             // Рампа вниз до нуля, чтобы уменьшить 
             щелчок в конце воспроизведения. 
             OCR2A = sounddata_length + lastSample - 
             sample;
        } 
    }
    else
    { 
      OCR2A=pgm_read_byte(&sounddata_data[sample]);} ++sample; 
}

Корявенько с телефона форматировать, ну да ладно.

Сложновато в логике разобраться. Sample это номер семпла, а LastSample значение последнего что ли?
Непонятно тогда зачем номер семпла сравнивать с количеством семплов и значением последнего:

lastSample=pgm_read_byte(&sounddata_data[sounddata_length-1]);
if(sample==sounddata_length + lastSample)

там фигня такая что
void loop(){startPlayback();delay(1500);}
делай настраивает длительность звучания, причем если не остановить раньше будет щелчок… короче надо играться с длительностью воспроизведения)))