Одна флешка - несколько мп3 модулей.
- Войдите на сайт для отправки комментариев
Всем привет! подскажите плз!
Я хочу воспроизвести разные файлы (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
Можете подсказать, такое возможно?
Нет
Vueaou, Вы подходите к задаче не с той стороны. Обычно сначала формулируют задачу с точки зрения функциональности и только потом подбирают подходящий метод реализации. Вы же с самого начала пытаетесь придумать метод реализации.
Сообщите форумчанам, чего Вы хотите добиться в результате, и, скорее всего, Вам подскажут что-то дельное.
Пока же Вы задаете вопрос типа: у меня есть один автомобиль и три водителя, могу ли я доставить груз в три города одновременно?
Зачем?
Правильные подозрения.
Генерируют. Он называется SCK (тактовый на флешку, как минимум они не обязаны совпадать в пространственно-временных континуумах изолированных инерциальных систем отчёта, коими является каждый модуль).
Не, ни██я. ни диодами ни тетродами, ничо не поможет. Нужна фундаментально другая система.
У меня была подобная тема, решили компуктором. Объясняю как:
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
andriano, не иначе как для этого: http://arduino.ru/forum/pesochnitsa-razdel-dlya-novichkov/tekhnicheskie-aspektyvoprosy-vybora-arduino-dlya-novichka
Как говорится будем наблюдать ))
Полной картины, как и в прошлой теме, не будет похоже.
Предлагаю техническое решение: по флэшке на плеер! Получится sd-ченджер на ардуине)) Можно в патентное бюро тащить на регистрацию
Всем привет! подскажите плз!
Я хочу воспроизвести разные файлы (1.мп3, 2.мп3, 3.мп3) с одной флешки на разных мп3 модулях в один и тот же момент
что мешает скопировать содержимое флешки один в один на две других - после чего вставить в каждый модуль свою флешку?
b707, ога, у меня от представления как спаять три ридера и одну флешку, вспомнилась картина из фильма "Конвой". Там где шериф пристёгнутый к стулу пытался отстрелить наручники.
Vueaou, Вы подходите к задаче не с той стороны. Обычно сначала формулируют задачу с точки зрения функциональности и только потом подбирают подходящий метод реализации. Вы же с самого начала пытаетесь придумать метод реализации.
Сообщите форумчанам, чего Вы хотите добиться в результате, и, скорее всего, Вам подскажут что-то дельное.
Пока же Вы задаете вопрос типа: у меня есть один автомобиль и три водителя, могу ли я доставить груз в три города одновременно?
Ну в результате хотел воспроизводить несколько файлов, где источником данных файлов является один и тот же носитель. Необходим быстрый отклик, не в микросекундах канешно, но просто чтобы при нажатии на кнопку воспроизведения для каждого файла не чувствовалась задержка.
Я к тому, что если есть 1 модуль, который считает с флешки к примеру несколько файлов (их планируется от 22ух), воспроизведёт их все по нажатию на кнопку в один и тот же момент, либо по нажатию в разных сочетаниях и количествах (то есть полифония), то ето будет клёво.
что мешает скопировать содержимое флешки один в один на две других - после чего вставить в каждый модуль свою флешку?
Думал уже об етом, ето крайний варик, просто изначально подумал о каком то варианте\модуле, о котором я еще не знаю и который может сразу несколько файлов воспроизводить.
Так как я не знаю кешируются ли файлы, или просто читаются потоком с флешки, и как ето реализовано в модуле мп3, поетому я просто задал вопрос в лоб с пайкой флешки).
Понятно дело что ето абсурдно, я просто пытался так передать свою мысль).
Никаких волшебных ардуино-синтезаторов на 22 канала искать не стоит, как мне кажется.
Ну в результате хотел воспроизводить несколько файлов, где источником данных файлов является один и тот же носитель.
А почему свет клином сошелся непременно на "одном и том же носителе"?
Необходим быстрый отклик, не в микросекундах канешно, но просто чтобы при нажатии на кнопку воспроизведения для каждого файла не чувствовалась задержка.
С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.
Я к тому, что если есть 1 модуль, который считает с флешки к примеру несколько файлов (их планируется от 22ух), воспроизведёт их все по нажатию на кнопку в один и тот же момент, либо по нажатию в разных сочетаниях и количествах (то есть полифония), то ето будет клёво.
Есть ли такой модуль - не знаю. Т.к. непонятно, где он может понадобиться (кроме какой-то явной экзотики), скорее всего, нет. А если найдете, не факт, что его просто будет подключить к Ардуино. Как-то проект обычно оптимизируют по собственным трудозатратам, т.к. "железо" по сравнению с ними стоит копейки.
С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.
А есть модули которые читают не сжатые форматы или специальные для ардуино форматы? чтобы не ждать пока модуль мп3 докомпрессит и потом воспроизведет мп3? не встречали?
[/quote]
Arduino формат)). Apple напряглась сейчас со своим lossless)) Wav очень долго будет только с флешки подгружаться. Скорее всего без затыков даже воспроизвестись не сможет
С mp3 это проблема: формат сам по себе не обеспечивает быстрого отклика. Нужно быть готовым к задержке примерно до 50 мс.
А есть модули которые читают не сжатые форматы или специальные для ардуино форматы? чтобы не ждать пока модуль мп3 докомпрессит и потом воспроизведет мп3? не встречали?
Я, похоже, не очень доходчиво объяснил. Указанные мною 50 мс - это не время на распаковку, это неопределенность во времени, которую добавляет сам формат. Соответственно, время на распаковку - добавляется к этим 50 мс.
Ну а специальных аудиоформатов "для Ардуино" нет и быть не может. Просто потому, что "средний" контроллер Ардуино не обладает производительностью достаточной для работы со звуком. Единственный контроллер способный работать с аудио, как я уже писал, - Arduino Due. Правда, не знаю, может ли он декодировать mp3, но с несжатым аудио вполне работает.
https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer
а может быть через шилд ?
несколько файлов сразу с 1ой флешки
Есть возможность?
https://www.arduino.cc/en/Tutorial/SimpleAudioPlayer
а может быть через шилд ?
несколько файлов сразу с 1ой флешки
Есть возможность?
0. Примечание ниже.
1. О каком шилде речь?
2. Если правильно организовать чтение этих файлов - почему бы и нет.
3. Возможность всегда есть.
Примечание: Вообще говоря, весьма стремная библиотека.
- во-первых, к ней только единственный пример,
- во-вторых, видим в примере:
и сравниваем с описанием:
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()). Что практически приводит к невозможности использования этой библиотеки где угодно кроме демонстрационного примера без серьезной переделки.