Одна флешка - несколько мп3 модулей.

Vueaou
Offline
Зарегистрирован: 30.01.2021

Всем привет! подскажите плз!

Я хочу воспроизвести разные файлы (1.мп3, 2.мп3, 3.мп3) с одной флешки на разных мп3 модулях в один и тот же момент. (либо других подобных модулях, формат не важен, лишь бы качество было не слишком низким).

Грубо говоря схематически ето хотелось бы увидеть так:

Пусть у ардуино 3 пина упавляющие модулем1 модулем2 модулем3.

Я беру 1 флешку, "припаиваю" её контакты к соотвествующим контактам на каждом из модулей.

Потом пином 1 говорю модулю1 воспроизвести файл 1.мп3 с одной флешки

пином 2 модулю2 говорю воспроизвести файл 2.мп3 с той же флешки

пином 3 модулю3 говорю воспроизвести файл 3.мп3 с той же флеки

и всё в один и тот же момент

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

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

Можете подсказать, такое возможно?

Возможно модули только ждут сигнал и не генерируют его и не возникает коллизии, я имею ввиду на каких то

конкретных контактках флешки. И если только ждут то теоретически возможно чтение сразу с одного носителя.

Может быть можно решить коллизии как то диодами? В случае если всё не так просто.

как пример модуля https://www.youtube.com/watch?v=E7rniy1q_8s

 

DetSimen
DetSimen аватар
Offline
Зарегистрирован: 25.01.2017

Vueaou пишет:

Можете подсказать, такое возможно?

Нет

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

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

Сообщите форумчанам, чего Вы хотите добиться в результате, и, скорее всего, Вам подскажут что-то дельное.

Пока же Вы задаете вопрос типа: у меня есть один автомобиль и три водителя, могу ли я доставить груз в три города одновременно?

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

Vueaou пишет:
воспроизвести разные файлы (...) с одной флешки на разных мп3 модулях в один и тот же момент

Зачем?

Vueaou пишет:
подозрения что если "припаять" до каждого (...) то ето может не проканать в ввиду замкнутности (...) протоколов чтения

Правильные подозрения.

Vueaou пишет:
Возможно модули только ждут сигнал и не генерируют

Генерируют. Он называется SCK (тактовый на флешку, как минимум они не обязаны совпадать в пространственно-временных континуумах изолированных инерциальных систем отчёта, коими является каждый модуль).

Vueaou пишет:
можно решить (...) диодами

Не, ни██я. ни диодами ни тетродами, ничо не поможет. Нужна фундаментально другая система.

У меня была подобная тема, решили компуктором. Объясняю как:

1. Компуктор (желательно ATX, WOL). winxp+denwer+howler.js (завыватель, воспроизводит звуки)+firefox+tightvnc (для управления, если он забетонирован, чтобы раком под грязной лестницей не стоять с ноутом)+усилитель

2. Настраиваем компуктор так чтобы можно было его включать. Удобно когда дистанционно, поэтому упомянуто WOL. Услиливателены, маленькие офисные колонки часто бывают на низкое напряжение, соответственно их можно питать прям от него.

3. На системе должны стоять:

- вебсервер (денвер самый низкий по требованиям, работает на любом корыте под 370й, 478й сокеты), автозапускающийся

- если надо удалённое управление то VNC. говорю про tightvnc потому что оно не рвёт сеанс через 2 часа, как teamviewer, и не платное, как anydesk. автозапускающийся

- обозреватель интернетов, который будет обозревать некую страницу, на которой есть опрос сервера и howler, + звуки. фокс самый нормальный вариант под обрыганский компьютер, █овна за 500 рублей с авито (соплерон, 256 мб памяти) достаточно. главное чтобы у него не были ржавыми разъёмы памяти и сокет, ну и родившие электролиты заменить. блок питания ессно осмотреть наиболее тщательно (это самая критичная деталь в ПК)

- самый индусский способ - читать из файла, его можно читать скажем раз в 5 сек. но теоретически это изнашивает диск, поэтому прям топчик - завести RAM-диск. imdisk например (на winxp встаёт)

4. управление TCP/IP путём запроса к PHP.

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

5. на странице которую автооткрывает автозапускающийся фокс:

- мотаем бесконечный цикл спрашивающий содержимое файла (примеры читаем на AJAX jQuery $.get() запрос, элементарно) [ЕССНО кроме howler ещё иметь jquery, ну это напоминаю на всякий случай, вдруг вы дерево]

- пусть в файле будет ну допустим цифра 0. тогда ничо не делать

- если цифра не ноль, то предусмотреть условия чо делать, сделать, проиграть звук (есть в руководстве по howler), сделать запрос к самому себе "запиши туда снова ноль". узбагоиться, дождаться конца звуков. перезапустить цыкал.

6. в ПХП:

- обслуживание записи цифр в нутрь файла

- ну и вобщем-то всё, больше там ничего не нужно.

Способ на любителя, но работает.

UPD: Warfley/LazWebsockets в гитхабе, снимает вопрос про питон. собирается FPC

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

andriano, не иначе как для этого: http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/tekhnicheskie-aspektyvoprosy-vybora-arduino-dlya-novichka  

Как говорится будем наблюдать ))

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Полной картины, как и в прошлой теме, не будет похоже. 

Предлагаю техническое решение: по флэшке на плеер! Получится sd-ченджер на ардуине)) Можно в патентное бюро тащить на регистрацию

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

Vueaou пишет:

Всем привет! подскажите плз!

Я хочу воспроизвести разные файлы (1.мп3, 2.мп3, 3.мп3) с одной флешки на разных мп3 модулях в один и тот же момент

 

что мешает скопировать содержимое флешки один в один на две других - после чего вставить в каждый модуль свою флешку?

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

b707, ога, у меня от представления как спаять три ридера и одну флешку, вспомнилась картина из фильма "Конвой". Там где шериф пристёгнутый к стулу пытался отстрелить наручники.

Vueaou
Offline
Зарегистрирован: 30.01.2021

andriano пишет:

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

Сообщите форумчанам, чего Вы хотите добиться в результате, и, скорее всего, Вам подскажут что-то дельное.

Пока же Вы задаете вопрос типа: у меня есть один автомобиль и три водителя, могу ли я доставить груз в три города одновременно?

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

Я к тому, что если есть 1 модуль, который считает с флешки к примеру несколько файлов (их планируется от 22ух), воспроизведёт их все по нажатию на кнопку в один и тот же момент, либо по нажатию в разных сочетаниях и количествах (то есть полифония), то ето будет клёво.

 

Vueaou
Offline
Зарегистрирован: 30.01.2021

b707 пишет:

что мешает скопировать содержимое флешки один в один на две других - после чего вставить в каждый модуль свою флешку?

Думал уже об етом, ето крайний варик, просто изначально подумал о каком то варианте\модуле, о котором я еще не знаю и который может сразу несколько файлов воспроизводить.

Так как я не знаю кешируются ли файлы, или просто читаются потоком с флешки, и как ето реализовано в модуле мп3, поетому я просто задал вопрос в лоб  с пайкой флешки).

Понятно дело что ето абсурдно, я просто пытался так передать свою мысль).

 

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

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

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

Vueaou пишет:

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

А почему свет клином сошелся непременно на "одном и том же носителе"?

Цитата:

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

С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.

Цитата:

Я к тому, что если есть 1 модуль, который считает с флешки к примеру несколько файлов (их планируется от 22ух), воспроизведёт их все по нажатию на кнопку в один и тот же момент, либо по нажатию в разных сочетаниях и количествах (то есть полифония), то ето будет клёво.

Есть ли такой модуль - не знаю. Т.к. непонятно, где он может понадобиться (кроме какой-то явной экзотики), скорее всего, нет. А если найдете, не факт, что его просто будет подключить к Ардуино. Как-то проект обычно оптимизируют по собственным трудозатратам, т.к. "железо" по сравнению с ними стоит копейки.

Vueaou
Offline
Зарегистрирован: 30.01.2021

andriano пишет:

С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.

А есть модули которые читают не сжатые форматы или специальные для ардуино форматы? чтобы не ждать пока модуль мп3 докомпрессит и потом воспроизведет мп3? не встречали?

Rumata
Rumata аватар
Offline
Зарегистрирован: 29.03.2019

Vueaou пишет:

специальные для ардуино форматы

[/quote]

Arduino формат)). Apple напряглась сейчас со своим lossless)) Wav очень долго будет только с флешки подгружаться. Скорее всего без затыков даже воспроизвестись не сможет

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

Vueaou пишет:

andriano пишет:

С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.

А есть модули которые читают не сжатые форматы или специальные для ардуино форматы? чтобы не ждать пока модуль мп3 докомпрессит и потом воспроизведет мп3? не встречали?

Я, похоже, не очень доходчиво объяснил. Указанные мною 50 мс - это не время на распаковку, это неопределенность во времени, которую добавляет сам формат. Соответственно, время на распаковку - добавляется к этим 50 мс.

Ну а специальных аудиоформатов "для Ардуино" нет и быть не может. Просто потому, что "средний" контроллер Ардуино не обладает производительностью достаточной для работы со звуком. Единственный контроллер способный работать с аудио, как я уже писал, - Arduino Due. Правда, не знаю, может ли он декодировать mp3, но с несжатым аудио вполне работает.

Vueaou
Offline
Зарегистрирован: 30.01.2021

https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer

а может быть через шилд ?

несколько файлов сразу с 1ой флешки

Есть возможность?

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

Vueaou пишет:

https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer

а может быть через шилд ?

несколько файлов сразу с 1ой флешки

Есть возможность?

0. Примечание ниже.

1. О каком шилде речь?

2. Если правильно организовать чтение этих файлов - почему бы и нет.

3. Возможность всегда есть.

Примечание: Вообще говоря, весьма стремная библиотека.

- во-первых, к ней только единственный пример,

- во-вторых, видим в примере:

    // Prepare samples
    int volume = 1024;
    Audio.prepare(buffer, S, volume);

и сравниваем с описанием:

volume (int) : a 10-bit number representing the volume of the audio being played. 0 turns the sound off, 1023 is the maximum volume.

- в-третьих, судя по примеру, возможно одно из двух: либо этот пример может работать только с довольно короткими файлами (не более 90к), либо в библиотеке должны быть блокирующие функции (предположительно это write()). Что практически приводит к невозможности использования этой библиотеки где угодно кроме демонстрационного примера без серьезной переделки.