Как стать автором
Обновить

Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи

Время на прочтение7 мин
Количество просмотров49K
Всего голосов 33: ↑32 и ↓1+31
Комментарии17

Комментарии 17

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

Я думаю, вам поможет команда "__HAL_DBGMCU_FREEZE_TIM3()"
После ее вызова при входе в режим отладки TIM3 автоматически остановится, при переходе в обычный режим работы — вновь запустится. Немного подробнее: ссылка.
Спасибо большое, буду знать
Если не ошибаюсь для Speex не нужна floating point арифметика. Когда-то портировал джавную реализацию на JavaME, выдрав как зависимость кусок из Apache Harmony
То, что CubeMx в разы упрощает жизнь я слышал давно. А сколько, если не секрет, времени заняла вся разработка с нуля?
Тяжело ответить на этот вопрос, занимался не спеша в свободное время
Это личный проект? Бюджет на комплектующие сильно ограничен?
Если денег не особо жалко то можно воткнуть хороший I2S микрофон, например ICS-43434.
Это избавит от аналогового тракта и позволит достичь очень высокого качества звука.
Изучали Вы или кто-то другой вопрос ошибки при кодировании-декодировании с помощью Speex?
Проект личный, бюджет не особо ограничен, посмотрю насчет микрофона.
Нет, вопросы ошибок не изучал
А что, действительно хороший микрофон, или просто удобно, что с цифровым выходом?
$3.40 на DigiKey — это, я бы сказал, дёшево.

Действительно хороший.
24 bit, чувствительность -26 dB, SNR 60 dBA.
Записывал сырой поток на частоте 24 кГц. Слышно птичек за окном, сравнивал на слух — в айфон 6 качество намного хуже.

Любопытно, спасибо! АЧХ странноватая (резко растёт на ВЧ), но зато хоть не обрезана. И снизу только от 100 Гц слышит, но за 3.5 бакса большего хотеть странно.
Интересно тогда вот что: почему нет нормальных недорогих USB-микрофонов? Под недорогими я подразумеваю хотя бы за $50! Их нет, хотя вот есть микрофон, STM32 F1 стоит вообще копейки и имеет нужную периферию — остаётся только программирование.
Нет спроса — нет товара.
Да конечно, нет спроса. Лучшим дешевым микрофоном считается Yeti за ~$120. Каждый первый ютубер им пользуется (кроме тех, у кого есть деньги на технику подороже).
А почему именно speex? Он же отъедает много ресурсов у контроллера. Почему, например, не G711 aLaw или uLaw? У них полоса всего 64 килобита, они табличные и ресурсы не едят.
Как раз интересна эта тема. Можете, пожалуйста, поподробнее рассказать про опыт использования этих библиотек?
Только если продавать или покупать уже «готовый» продукт. Ну или попасться на горячем в момент извлечения закладки. А для себя можно что угодно в учебных целях делать.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории