trapwalker
@trapwalker
Программист, энтузиаст

Как лучше реализовать простой энергоэффективный компактный диктофон (устройство)?

Нужно спроектировать относительно дешевое устройство способное непрерывно записывать десятки часов звука (голос) от одной зарядки. При этом оно должно быть достаточно компактным и лёгким, чтобы его можно было носить как клипсу на одежде.
Важно, чтобы отчетливо были различимы голоса владельца и людей в ближайшем окружении 2-3 метра
Конкретно хотелось бы решить следующие вопросы:
  1. Использовать ли кодек (программный или аппаратный) для сжатия или эффективнее тупо писать PCM, благо флешки нынче дешевые и объёмные? Формат не важен, пост-обработка всё порешает.
  2. Имеет ли смысл заморачиваться пропуском тишины с точки зрения энергоэффективности? Не хотелось бы терять начало фразы, придётся использовать какой-то циклический буфер?
  3. Реально ли к озвученным выше условиям добавить возможность эпизодического доступа к фрагментам записанного звука посредством BlueTooth через своё приложение со смартфона?
  4. Использовать для оцифровки АЦП контроллера или лучше взять микрофон с SPI?
  5. Какой микрофон лучше использовать, сложно ли сделать его обвязку для приведенных требований?
  6. Какой контроллер использовать в зависимости от предыдущих вариантов? TI, Atmel, STM?..
  7. Распаивать память или использовать TF Card?

Интересуют общие соображения, прикидки, варианты...
  • Вопрос задан
  • 341 просмотр
Решения вопроса 2
@pfg21
ex-турист
1. воспользовать не сложным кодеком ADPCM, его качества вполне хватит для голосовой записи. а пожатие потока получится весьма неплохим.
уменьшение количества записи на флешку увеличит время работы (запись в флеш тоже хорошо потребляет энергию)
2. имеет. алгоритм несложный. результат отличный. то флешки у тебя безразмерные до пофих, то ram взять побольше боишься. писать часы тишины как минимум глупо и расточительно.
3. реально всё. что напишешь то и будет, только надо сесть написать и допилить до ума.
4. для голоса АЦП контроллера хватит, в дешевый SPI микрофон впиховано АЦП такого же не высокого качества. в общем протестируй запись и решение будет самому понятно.
5. любой подходящий по твоим условиям: направленный/ненаправленный, АЧХ чувствительность...
они все практически сейчас емкостные со встроенным полевиком. большой обвязки снаружи не требуется.
6. любой подходящий. распиши что ты хочешь и получишь предварительные параметры железа.
7. используй tf card - их сейчас как грязи, да и стоимость соотвествующая.
Ответ написан
veydlin
@veydlin
Мне никогда не жалко средств на свое любопытство
И так

Во первых используйте STM32 с I2S. Почему? Да потому что недавно срок лицензии на MP3 кодек истек и вот он уже лежит в открытом доступе на сайте ST с кучей встроенных настроек, эквалайзеров и примеров реализации и записи на флешку (почти весь ваш готовый диктофон)

Во вторых используйте цифровой микрофон. Почему? Да потому что за вас в нем уже сделан аналоговый фронтэнд (AFE), и поверьте, как бы просто не звучала задача "оцифровать АЦП", она не очень простая если вы хотите получить действительно хороший звук. А если и не хотите, почему бы не поставить? Ведь это ничего не стоит

В третьих, берите производителей которые давно на рынках микрофонов, а не несколько лет (например, ST недавно начали их делать, но пока это средне). Вот, посмотрите на этих ребят, которые работают с 1946 (!) https://www.knowles.com/subdepartment/dpt-micropho...

В четвертых, у STM32 есть встроенные возможности для работы с дисплеями, будет плюсом. И есть серии STM32L как раз для портативной электроники и энергосбережения

В пятых, блютуз можно добавить, но в таком случае я советую вам резко сменить курс и поставить NRF52, как у него будет с MP3 кодеком я уже не знаю, возможно придется поломать голову, и на сколько помню у него нет встроенного интерфейса SD карты EMMC, только SPI (что по мне так костыль). Вариантом так же является использовать NRF52 чисто как блютуз и STM32, тогда у вас будет 2 МК, если не против удорожать ваше устройство на пару баксов тогда это вполне приемлемо (многие WIFi и BLE модули в ноутах являются такими же МК с предустановленной прошивкой, и часто в драйверах линукса можно найти код, который каждый раз при старте такого модуля зашивает одну и ту же прошивку. Хоть плеер это не ноутбук и тут такое немного не в тему, но я говорю это чтоб вы понимали, что такой подход вполне нормален)

В шестых.. нуу.. эм, остались ещё какие-то вопросы?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы