
Комментарии 28
Вы делали воспроизведение звука на микроконтроллере?
а бипер считается? На zx spectrum :)
Я не застал торжество zx spectrum.
Даже не знаю какая там была аппаратная начинка.
Есть ли блок-схема zx spectrum?
Кто в теме - расскажите, а как в мире цифрового аудио борются с несовпадением частот приемника и передатчика? Используют тактовый сигнал из самого I2S для ЦАПа или манипулируют с отсчетами?
как в мире цифрового аудио борются с несовпадением частот приемника и передатчика?
Не совсем понята постановка задачи.
Есть ли возможность добавить подробностей?
Ну, например, телевизор выдает цифровой сигнал по I2S на ресивер с частотой дискретизации 48001Гц (частота шины в 32 раза больше). Далее нужно этот клок нужно чистить и заводить на ЦАП ресивера. Либо использовать внутренний клок, но его частота будет, скажем 47999Гц (цифры условные, наверное там точнее генератор). Тогда часть отсчетов будет выпадать и с этим нужно что-то делать.
На самом деле я уже глянул и увидел ключевые слова Word clock, Master reference clock, High-end 10Mhz и т.п. Так что, видимо, первый вариант.
По разному. Можно ресемплингом, можно подстройкой частоты мастерклока vcxo.
Зачем Вам внешний кодек для WAV плеера, если в микроконтроллере и так уже есть ЦАП? Вряд ли Вы делаете это для какого-то Hi-End воспроизведения, а для звука, встроенного в какое-то устройство, вполне хватит. WM8731, конечно, и в MP3 умеет, но в статье про это не упоминается.
WM8731, конечно, и в MP3 умеет, но в статье про это не упоминается.
Внутри ASIC WM8731 отсутствует MP3 декодер/энкодер.

А что, ШИМа у него тоже нет? ))) Если есть - то это и есть DAC. А ШИМ можно еще и через DMA делать, а можно и вообще прерыванием и битбангом, если нет аппартаного.
Недоумеваю - я (и куча других людей) делали воспроизведление WAV ATTINY85, которая 8-битная с 16MHz, и да, она одновременно еще и успевала читать это с SD, а не просто играть, при этом вполне себе на 44kHz.
А тут 32-битный проц с частотой космолета - и для него использовали отдельную микруху....
да, она одновременно еще и успевала читать это с SD, а не просто играть, при этом вполне себе на 44kHz.
Мне нужна частота дискретизации 96kHz.
на AVR можно программировать буквально по тактам, в прерывании можно не сохранять регистры, на STM32 этих вольностей нет.
У STM32F407 есть двухканальный 12бит DAC, для сигналов, сообщений за глаза, для музыки мало.
А почему в stm32 вдруг стало нельзя по тактам программировать?
Если вы про HAL, то вроде никто не заставляет его использовать.
У меня есть проект на stm32 (не такой как в статье, но все же) в котором именно по тактам один кусок работает без каких-либо проблем, да, во внимание нужно больше принимать, так как проц куда навороченней, но это не проблема.
А что, ШИМа у него тоже нет? ))) Если есть - то это и есть DAC.
Про то мне ведомо.
Управление напряжением PWM сигналом (PWM+RC=DAC)
https://habr.com/ru/articles/821951/
А тут 32-битный проц с частотой космолета - и для него использовали отдельную микруху....
В планах на этом железе сделать полно дуплексную перекачку звука.
Воспроизводить WAV и записывать WAV одновременно.
Как тут
Запуск I2S Трансивера на Artery [часть 2] (DMA, FSM, PipeLine)
https://habr.com/ru/articles/834304/
Пардоньте, был не прав насчёт MP3. Смутило, что в даташите в нескольких местах MP3 плеер упоминается как типичное применение. Но, как я писал, если Вы используете эту микруху, чтобы условно часы или игрушку электронную озвучить, это из пушки по воробьям, т.к. сам микроконтроллер ЦАП имеет
Зачем Вам внешний кодек для WAV плеера, если в микроконтроллере и так уже есть ЦАП?
Благодаря аудиокодеку появляется ещё и парочка ADC для записи звука + аппаратная DSP обработка.
Там нет никаких технических подробностей.
Отсутствует бинарь с прошивкой.
Нет сорцов.
Оказалось, это отсюда отзеркалено
https://sdelaysam-svoimirukami.ru/4210-pleer-wav-faylov-na-mikrokontrollere-attiny85.html
И прошивка там есть.
Спасибо за статью, мне как раз эта тема интерсна. Статью в целом понял, но в деталях практически ничего не понял, может быть потом осенит. После чтения возник один вопрос — вы какое-то конкретное устройство планируете или просто прототипируете новые технологии? Просто интересно, т.к. конкретно мне интересен звук на микроконтроллерах был, потому что можно сделать устройства по типу умных колонок, роботов, медиа плееров или еще что-то.
После чтения возник один вопрос — вы какое-то конкретное устройство планируете или просто прототипируете новые технологии?
Да. Я хочу сделать сонар с синтезированной апертурой
шаг 1) Научиться воспроизводить звук
шаг 2) Научиться записывать звук
шаг 3) Научиться воспроизводить и одновременно записывать звук
шаг 4) Отправлять зондирующие ЛЧМ импульсы и записывать эхо.
шаг 5) Вычислять свертку принятого ЛЧМ и получать графики корреляции (дальномер)
шар 6) Измерить N свёрток в известных местах вдоль прямой с шагом 0,2...3 метра
шаг 7) Далее загрузить графики свёрток на PC и построить карту окружающих предметов на основе интерференции свёрток (синтез апертуры)
Только и всего.
Спасибо за статью, мне как раз эта тема интерсна.
Пожалуйста.
Проигрыватель WAV файлов на STM32