Задача: wav или mp3 проигрыватель с интернета

Тема в разделе "Iskra JS, Espruino, Йодо", создана пользователем studentIvan, 29 ноя 2017.

Метки:
  1. studentIvan

    studentIvan Нерд

    Хочу сделать проигрыватель wav или mp3 с IskraJS.
    Модули в наличии: IskraJS, вывод аудио, динамик, SD-картридер и SD-карта в нем, ESP8266 (тройка wi-fi модуль).

    Понял что Iskra декодировать WAV/MP3 не умеет и вроде как готовых библиотек на это дело нет.
    В связи с чем главный вопрос - решит ли мою проблему модуль mp3-плеер и смогу ли я его подключить в этот комбайн, при условии что тройка-wifi уже использует RX/TX, а mp3 плеер хочет RX/TX?

    Следующий вопрос - как считывать файл с тройка модуля SD-карты? В библиотеке нашел только readFile - она забивает оперативу полностью. E.openFile вылетает с какой-то ошибкой вроде "connect SD-cart first". Чтобы сделать connect SD-cart надо передать "уже настроенный объект SPI" как его настроить? Что такое mosi/miso - какие это пины если я использую troyka-slot-shield левый нижний вертикальный квадрат? Немного туплю, заранее спасибо за ответы.
     
  2. rkit

    rkit Гуру

    Написать декодер wav совсем не сложно. Да и есть наверняка, вы просто плохо искали.
     
  3. Spark

    Spark Нерд

    Попробуйте посмотреть на сайте espruino библиотеки...
     
  4. ИгорьК

    ИгорьК Гуру

    Есть несколько проектов esp-8266 без искры. Найдите - не изобретайте велосипед с пятью колесами.
     
    NikitOS нравится это.
  5. studentIvan

    studentIvan Нерд

    Мне как новичку немного сложно разобраться, сначала думал раз класс называется Waveform то можно читать wav))). esp8266 wav гуглится, но частенько используются дополнительные платы. Если был бы официальный какой-то шилд или пример от амперки - было бы круто. Нужно чтобы было понятно домохозяйкам и детям)))
     
  6. ИгорьК

    ИгорьК Гуру

    Ищите . Радио использует esp-8266 и mp3 модуль. Это минимально необходимое.
    Даже на на этом сайте есть ссылки.
     
  7. ИгорьК

    ИгорьК Гуру

    arkadyf нравится это.
  8. studentIvan

    studentIvan Нерд

    То есть mp3 модуль все таки приобрести стоит? вижу по ссылке речь идет о VS1053
     
  9. ИгорьК

    ИгорьК Гуру

    Есть и без него где-то, только что видел. но качество звука будет отвратительным.
     
  10. ИгорьК

    ИгорьК Гуру

    arkadyf нравится это.
  11. acos

    acos Официальный гик Администратор

    https://www.espruino.com/Waveform

    Там для Wav пример. Правда этот wav надо специально подготовить
    Ну и такие штуки требуют от камня наличие DAC. У Iskra JS он есть, а вот у esp8266 - нет. По ссылке @ИгорьК используют как раз I2S DAC... Ааа. Хотя увидел уже по описанию, что они могут и на PWM на esp извратиться)
     
  12. ИгорьК

    ИгорьК Гуру

    ИМХО, слушать музыку и не иметь хотя бы среднего качества карты... Зачем оно нужно вообще... Это как робот, что по линии ездит. Ну ездит... И что :)
     
  13. studentIvan

    studentIvan Нерд

    Моя изначальная идея была выкачивать звук через ESP8266 с интернета, в формате wav, с yandex speech api, сохранять на SD-карту и воспроизводить через динамик. Яндекс может выдавать два формата (mp3, wav) и у wav можно ухудшать качество. Нужен ли для этого mp3-модуль? Я полагаю все же нужен. Но тут тогда другой вопрос - а можно ли вместе на одну плату усадить mp3-модуль и тройка wifi-модуль?
     
  14. studentIvan

    studentIvan Нерд

    Просто хочется чтобы робот говорил все что думает, голосом)))
     
  15. rkit

    rkit Гуру

    А как вы собрались сохранять mp3 на карту, вставленную в mp3 модуль?
     
  16. studentIvan

    studentIvan Нерд

    И еще вопрос - а можно ли вообще подключить mp3-модуль к IskraJS без напряга - или все же потребуется еще дополнительная ардуино. Подозреваю что задаю глупые вопросы, но кто знает - вдруг получу на них ответы)
     
  17. studentIvan

    studentIvan Нерд

    Подозреваю что решение может существовать

    Вот тут например https://github.com/DFRobot/DFRobotDFPlayerMini/blob/master/examples/FullFunction/FullFunction.ino в исходном коде примера библиотеки, есть во первых вот такой интересный код

    Код (C++):
    //----Set device we use SD as default----
    //  myDFPlayer.outputDevice(DFPLAYER_DEVICE_U_DISK);
      myDFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
    //  myDFPlayer.outputDevice(DFPLAYER_DEVICE_AUX);
    //  myDFPlayer.outputDevice(DFPLAYER_DEVICE_SLEEP);
    //  myDFPlayer.outputDevice(DFPLAYER_DEVICE_FLASH);
    Значит ли это что я могу выбрать источник звука?
     
  18. rkit

    rkit Гуру

    Ну удачи :).
     
  19. studentIvan

    studentIvan Нерд

    При питании от розетки странные шумы в динамике, усилитель сходит с ума
     
  20. studentIvan

    studentIvan Нерд

    В итоге все получилось, чуть позже опишу как :)
     
    sys нравится это.