Player WAV управляемый по uart. Поделитесь опытом.

Comprador
Offline
Зарегистрирован: 24.12.2020

Всем крепкого здравия.

Какой голосовой модуль/player wav файлов воспроизводит без заметных на слух пауз, особенно в режиме зацикленного одного трека.

Dfplayer mini - пробовал, хорошо различимые паузы после воспроизведения.(где то читал что это связано с чтением с sd).

DY-SV17F, jq8400?

Comprador
Offline
Зарегистрирован: 24.12.2020

Уточнение: проигрывается трек #х, требуется запустисть трек #y.
В каком модуле время на переключение (пауза, щелчок,,...) незаметны на слух?
(dfplayer mini явно подтормаживает)

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

Модули - это вряд ли.

Из доступного, что может решить эту проблему - Arduino Due.

Comprador
Offline
Зарегистрирован: 24.12.2020

Esp32, работают два ядра, загружены прилично.
(ног уже почти нет свободных)
Хотелось бы только по uart команды отправлять.
WAV 48 khz, 16 bit.

genia1991
Offline
Зарегистрирован: 25.12.2019

Comprador пишет:
Уточнение: проигрывается трек #х, требуется запустисть трек #y. В каком модуле время на переключение (пауза, щелчок,,...) незаметны на слух? (dfplayer mini явно подтормаживает)

а зачем?

а может вы не музыку будете воспроизводить?

тут uart есть: Dfplayer mini

 

Comprador
Offline
Зарегистрирован: 24.12.2020

Имитация звука двигателя. Dfplayer воспроизводит с явными паузами. Если mp3 формат, то ещё более тормозит.

genia1991
Offline
Зарегистрирован: 25.12.2019

попробуйте поискать библиотеки и потестить их. может без задержки получится сделать.

Но я вроде не встречал без задержек в начале

Comprador
Offline
Зарегистрирован: 24.12.2020

genia1991 пишет:

попробуйте поискать библиотеки и потестить их. может без задержки получится сделать.

Но я вроде не встречал без задержек в начале

Может ошибаюсь, но библиотеки не при чем: отправляем одну команду проигрывать один трек зацикленно- воспроизводит с паузами.
В aimp этот же трек нормально зацикливается.

sadman41
Offline
Зарегистрирован: 19.10.2016

Ну так правильно. Это же дешёвый плеер с простой логикой: открыл файл, начал декодировать, дошел до конца и закрыл файл. Затем гоу ту старт. 

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

Тут вещь принципиальная: чтобы воспроизводить принципиально без швов, устройство должно знать о необходимости воспроизведения следующего (в том числе того же самого) фрагмента до окончания воспроизведения текущего. Хотя бы для того, чтобы аккуратно сделать cross-fade.

sadman41
Offline
Зарегистрирован: 19.10.2016

Да тут спора нет. Китайцы деньги умеют считать и правильно отрабатывающую луп штуковину продадут втрое дороже, нежели ту, что формально этот луп таки делает.

Comprador
Offline
Зарегистрирован: 24.12.2020

Модуль Vs1053 с sd картой. Вроде может по uart запускаться, но как он работает в этом случае - не ясно.

Заказал в Китае dy-sv17f и jq8400, буду пробовать.

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

Comprador пишет:
Модуль Vs1053 с sd картой. Вроде может по uart запускаться, но как он работает в этом случае - не ясно.

Думаю, никак. UART микросхемы на модуле не распаян. Все управление по SPI.

mykaida
mykaida аватар
Offline
Зарегистрирован: 12.07.2018

Вот была идея подцепиться к магнитоле по SPI. Только SPI там был полудуплексный и по инвесному сигналу.... Типа - велкам!

Comprador
Offline
Зарегистрирован: 24.12.2020

andriano пишет:

Comprador пишет:
Модуль Vs1053 с sd картой. Вроде может по uart запускаться, но как он работает в этом случае - не ясно.

Думаю, никак. UART микросхемы на модуле не распаян. Все управление по SPI.

Некорректно задал вопрос изначально. Признаю.
Не важно каким протоколом отправлять команды на плеер, главное чтобы плеер сам читал и воспроизводил. Vs1053 подойдет?

b707
Offline
Зарегистрирован: 26.05.2017

Comprador пишет:
Имитация звука двигателя. Dfplayer воспроизводит с явными паузами. Если mp3 формат, то ещё более тормозит.

а надо для этого плеер?

А если так:

ссылка на источник

https://cxem.net/beginner/beginner98.php

Comprador
Offline
Зарегистрирован: 24.12.2020

b707 пишет:

Comprador пишет:
Имитация звука двигателя. Dfplayer воспроизводит с явными паузами. Если mp3 формат, то ещё более тормозит.

а надо для этого плеер?

А если так:

ссылка на источник

https://cxem.net/beginner/beginner98.php

Я не ищу легких путей. Это очень незатейливо.

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

Comprador пишет:
Я не ищу легких путей.

Тогда осмелюсь напомнить о варианте, предложенном в сообщении №2, - это как раз то, что Вам нужно.

Comprador
Offline
Зарегистрирован: 24.12.2020

andriano пишет:

Comprador пишет:
Я не ищу легких путей.

Тогда осмелюсь напомнить о варианте, предложенном в сообщении №2, - это как раз то, что Вам нужно.

Да. (esp32 +vs1053) - будет где поразмять мозги.

Comprador
Offline
Зарегистрирован: 24.12.2020

Попробую два модуля с одинаковыми треками параллельно. Выходы суммировать.
Управление по разным rx/tx. Может что получится если поиграть с уровнями выходных сигналов.
Некое подобие кроссфейда (убрать паузы и т.д.)

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

Comprador пишет:
Да. (esp32 +vs1053) - будет где поразмять мозги.

А зачем vs1053?

Comprador
Offline
Зарегистрирован: 24.12.2020

andriano пишет:

Comprador пишет:
Да. (esp32 +vs1053) - будет где поразмять мозги.

А зачем vs1053?


WAV в vs1053 толкать.
Я новичок. Что посоветуете.

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

А зачем толкать WAV в vs1053?

rkit
Offline
Зарегистрирован: 23.11.2016

В esp32 есть встроенный ЦАП, а значит для вывода звука достаточно одного пина и усилителя. Качество будет не фантастическое, зато фантастический контроль.

genia1991
Offline
Зарегистрирован: 25.12.2019

rkit пишет:

В esp32 есть встроенный ЦАП, а значит для вывода звука достаточно одного пина и усилителя. Качество будет не фантастическое, зато фантастический контроль.

я сегодня юзал такую хрень и такое качество что отказался от идеи ((

wav 22hz  8 bit . Вот такое качество на выходе. звук хреновый 1 словом

разочаровался сильно

Comprador
Offline
Зарегистрирован: 24.12.2020

В esp32 два свободных аппаратных uart, буду пробовать два модуля поочередно запускать.
Dfplayer mini: если с периодом t запускать треки, которые длиннее t , то громкость не регулируется, надо перед каждым play делать stop.

Может другие модули по другой логике работают.
Вскрытие покажет))))))))

sadman41
Offline
Зарегистрирован: 19.10.2016

Можете и 5 плееров запускать, если не нужно ловить подтверждение от DFPlayer - software serial работает и на ESP.

А что, wav вообще плохой? Для звука нотификаций типа "блюм-блюм" потянет хоть?

Comprador
Offline
Зарегистрирован: 24.12.2020

sadman41 пишет:
Можете и 5 плееров запускать, если не нужно ловить подтверждение от DFPlayer - software serial работает и на ESP.

А что, wav вообще плохой? Для звука нотификаций типа "блюм-блюм" потянет хоть?

Попытка имитации звука двигателя (550-2100 об/мин).
(сэмплы реального мотора с шагом 50 об/мин).
Хочется без треска и пауз сделать.

genia1991
Offline
Зарегистрирован: 25.12.2019

Comprador][quote=sadman41 пишет:
Хочется без треска и пауз сделать.

Если звук не собираетесь в наушниках слушать то wav вполне подходит и треска особого не будет.

Для наушников он не годится .всплывает качество самого файла. а оно так себе.

Делайте с wav файлом через библиотеку

 

Comprador
Offline
Зарегистрирован: 24.12.2020

genia1991] </p> <p>[quote=Comprador пишет:
sadman41 пишет:
Хочется без треска и пауз сделать.

Если звук не собираетесь в наушниках слушать то wav вполне подходит и треска особого не будет.

Для наушников он не годится .всплывает качество самого файла. а оно так себе.

Делайте с wav файлом через библиотеку

 

Спасибо. Попробую.
(эксперимент с двумя dfplayer: подобие crossdade работает, но изменение громкости происходит очень медленно, пока не разобрался как влияет serialtimeout(ms) и почему.
Похоже это тупиковая направление).

rkit
Offline
Зарегистрирован: 23.11.2016

genia1991 пишет:

Если звук не собираетесь в наушниках слушать то wav вполне подходит и треска особого не будет.

Для наушников он не годится .всплывает качество самого файла. а оно так себе.

А взять файл "не так себе" не судьба?

b707
Offline
Зарегистрирован: 26.05.2017

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

genia1991
Offline
Зарегистрирован: 25.12.2019

rkit пишет:

genia1991 пишет:

Если звук не собираетесь в наушниках слушать то wav вполне подходит и треска особого не будет.

Для наушников он не годится .всплывает качество самого файла. а оно так себе.

А взять файл "не так себе" не судьба?

мы за wav говорим. а не за mp3 какие нибудь декодеры и плееры.

 

Да нельзя сделать wav файл высокого качества и пропустить через голую ардуино. будет запаздывать сигнал. Проверено вчера. я много перепробовал библиотек для этого

b707
Offline
Зарегистрирован: 26.05.2017

genia1991 пишет:

Да нельзя сделать wav файл высокого качества и пропустить через голую ардуино. будет запаздывать сигнал. Проверено вчера. я много перепробовал библиотек для этого

вы какую ардуину для этого брали?

genia1991
Offline
Зарегистрирован: 25.12.2019

b707 пишет:

genia1991 пишет:

Да нельзя сделать wav файл высокого качества и пропустить через голую ардуино. будет запаздывать сигнал. Проверено вчера. я много перепробовал библиотек для этого

вы какую ардуину для этого брали?

UNO использовал

b707
Offline
Зарегистрирован: 26.05.2017

genia1991 пишет:

UNO использовал

выше ведь написано - для нормального качества нужен встроенный ЦАП. Он есть на Дуе и на ЕСП32, на Уно нет

genia1991
Offline
Зарегистрирован: 25.12.2019

b707 пишет:

genia1991 пишет:

UNO использовал

выше ведь написано - для нормального качества нужен встроенный ЦАП. Он есть на Дуе и на ЕСП32, на Уно нет

ясно. Дуе никогда не пользовался. я думал тут за UNO писали.

 

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

genia1991 пишет:

Да нельзя сделать wav файл высокого качества и пропустить через голую ардуино.

Это Вы чего-то съели. Именно wav обеспечивает максимальное качество звука. В отличие от mp3 и подобных.

Цитата:

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

Это не wav-файл, это - руки.

sadman41
Offline
Зарегистрирован: 19.10.2016

Еще один вариант - I2S: https://diyi0t.com/i2s-sound-tutorial-for-esp32/

genia1991
Offline
Зарегистрирован: 25.12.2019

andriano]</p> <p>[quote=genia1991]</p> <p>[quote пишет:

 Именно wav обеспечивает максимальное качество звука. В отличие от mp3 и подобных.

Именно. и я бы согласился если бы не те настройки которые надо выставить в финале.

Качество вы все равно сжимаем. Как по частотам так и по битам.  в итоге получается хуже чем mp3

1 минута wav ну пусть будет 8мб весить. это хреновый звук будет

если 1 минуту wav сохранить без сжатия по максимум. 1 минута будет уже 80мб весить.

Ардуино с таким потоком даже не справится.

Так что wav он тут тоже разный

 

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

genia1991]</p> <p>[quote=andriano]</p> <p>[quote=genia1991 пишет:

Цитата:

 Именно wav обеспечивает максимальное качество звука. В отличие от mp3 и подобных.

Именно. и я бы согласился если бы не те настройки которые надо выставить в финале.

Истина - она как бы не зависит от того, согласны Вы с ней или нет.

Цитата:

Качество вы все равно сжимаем.

Качество сжатию не поддается.

Что же касается wav - это формат без сжатия. Так что никак не "все равно".

Цитата:

Как по частотам так и по битам.  в итоге получается хуже чем mp3

Руки, сэр.

Цитата:

1 минута wav ну пусть будет 8мб весить. это хреновый звук будет

если 1 минуту wav сохранить без сжатия по максимум. 1 минута будет уже 80мб весить.

Сэр в школе арифметику проходил?

Если "да", то он мог бы и сам подсчитать, что не 80, а лишь 10.1 Мб.

Цитата:

Ардуино с таким потоком даже не справится.

Так что wav он тут тоже разный

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

genia1991
Offline
Зарегистрирован: 25.12.2019

andriano]</p> <p>[quote=genia1991]</p> <p>[quote=andriano пишет:

genia1991 пишет:

Цитата:

 Именно wav обеспечивает максимальное качество звука. В отличие от mp3 и подобных.

Именно. и я бы согласился если бы не те настройки которые надо выставить в финале.

Истина - она как бы не зависит от того, согласны Вы с ней или нет.

Цитата:

Качество вы все равно сжимаем.

Качество сжатию не поддается.

Что же касается wav - это формат без сжатия. Так что никак не "все равно".

Цитата:

Как по частотам так и по битам.  в итоге получается хуже чем mp3

Руки, сэр.

Цитата:

1 минута wav ну пусть будет 8мб весить. это хреновый звук будет

если 1 минуту wav сохранить без сжатия по максимум. 1 минута будет уже 80мб весить.

Сэр в школе арифметику проходил?

Если "да", то он мог бы и сам подсчитать, что не 80, а лишь 10.1 Мб.

Цитата:

Ардуино с таким потоком даже не справится.

Так что wav он тут тоже разный

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

 

Тоесть изменение битрейда .частоты дискретизации и других параметром wav файла. Вы все равно будете считать что качество он не потеряет?

 

пример: 8 бит или 32 бил битрейт. Тоже качество будет одинаковым?

У меня даже без ардуино через колонки слышно мусор

nik182
Offline
Зарегистрирован: 04.05.2015

genia1991 пишет:

...Ардуино с таким потоком даже не справится. ...

Скажите, где вас таких делают? Не ознакомившись с основами выдавать перлы. Собственно вопрос.  Зачем в системе стоит кодек? Если нет аппаратного декодера MP3, то в каком виде выдаетcz звук на карту? Чем поток после софтверного декодирования MP3 отличается от изначального wav? 

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

genia1991 пишет:

пример: 8 бит или 32 бил битрейт. Тоже качество будет одинаковым?

Уважаемый, подучите для начала терминологию. Хотя бы для того, чтобы в дальнейшем понимать физику, когда начнете что-нибудь читать.

genia1991
Offline
Зарегистрирован: 25.12.2019

ну так у wav файла нет сжатия это понятно. Тоесть кокеки и декодеры не нужны для него. из за этого файл не сжатый и следовательно размер будет больше чем у того же mp3.

Но это же не значит что wav файл нельзя создать с гомно настройками. Эти параметры и будят влиять на качество звучания.

Если взять например битность файла и уменьшить ее. то мы получим файл с меньшей глубиной звучания. Тоесть диапазон будет урезан. более плоский звук. Это например как экран у 1 будет 256 цветов .  а у другого миллион. Какой для глаза будет приятнее смотреть? думаю понятно и так.

Без сжатия это всего лишь что структура файла сохраняется "как есть"  . любым устройством можно воспроизвести его

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

genia1991 пишет:

ну так у wav файла нет сжатия это понятно. Тоесть кокеки и декодеры не нужны для него. из за этого файл не сжатый и следовательно размер будет больше чем у того же mp3.

Да, но при этом уменьшение размера достигается как раз за счет снижения качества звука.

Цитата:

Но это же не значит что wav файл нельзя создать с гомно настройками. Эти параметры и будят влиять на качество звучания.

Можно создать wav файл с какими угодно настройками, но после сжатия его в mp3 качество звука неизбежно ухудшится.

Цитата:

Если взять например битность файла и уменьшить ее. то мы получим файл с меньшей глубиной звучания. Тоесть диапазон будет урезан. более плоский звук.

Уважаемый, Вы немного опоздали: 1 апреля было 6 дней назад.

Comprador
Offline
Зарегистрирован: 24.12.2020

andriano пишет:

Comprador пишет:
Да. (esp32 +vs1053) - будет где поразмять мозги.

А зачем vs1053?

1. Почитал. Vs1053 не в тему.)))) спасибо.

2. - Читаем wav с sd (тут вроде все понятно).
Crossfade получается.
- Вывод через i2s на max98357. (здесь пока разбираюсь, много неясных моментов)

Такой путь?

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

Не, ну если есть i2s - то без проблем. Но в Blue Pill, например, - нету. Про AVR я даже не говорю. Обычно если есть i2s, то есть и DAC, так что можно выводить и без внешней периферии.

Comprador
Offline
Зарегистрирован: 24.12.2020

andriano пишет:

Не, ну если есть i2s - то без проблем. Но в Blue Pill, например, - нету. Про AVR я даже не говорю. Обычно если есть i2s, то есть и DAC, так что можно выводить и без внешней периферии.

Встроенный dac 8 bit (esp32). Плюс усилитель все равно.

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

Comprador пишет:
Встроенный dac 8 bit (esp32). Плюс усилитель все равно.

Ну, тогда грустно. Почему-то считал, что стандартом для более или менее современных МК является 12 разрядов.