Pull to refresh

Comments 61

Схема уровня «бог». Бог издевательства над над схемотехникой. Особенно символ какой-то непонятной ардуины. Что к чему подключать — а кому это важно. Там же есть ардуина.
Перерисовать схему? А зачем — я жпереводчик. Раз-раз — статья готова.
В схеме приемника во втором транзисторе, база без смещения и развязана конденсатором. Такой транзистор, даже если и будет работать, то с адскими искажениями.
В первом транзисторе, смещение 1 МОм, это тоже многовато, я бы 75 кОм поставил бы.
Ага, без смещения, странно, что вообще работает, но на видео работает же как-то.
Я полагаю, что если задать правильный режим транзистору, то будет работать намного лучше. Громче и качественнее. Сейчас, наверняка, воспроизводятся только положительные полуволны. Отрицательные срезаются, таким образом имеется множество четных гармоник. Я думаю, что через видео не так заметно качество.
Кроме того, интересна полоса передаваемых частот, несущая 40 кГц, а вот какая полоса?
4кГц? или 5кГц? Но вот качество аналогичное 8кГц и 8 Бит…
Отрицательные полуволны все больше запирают транзистор. Утечка через базу не очень большая, непонятно как это вообще может работать
Индийская схемотехника, «как-то работает» :)
Зато диод в «детекторе» всегда открыт))) Схема и работает то благодаря ошибке со смещением второго транзистора — ему приходится быть амплитудным детектором того ада, что к нему приходит.
Это когда звук получается от биений двух ультразвуковых колебаний, и приёмник не нужен?

Нет, я про DSP. Берем табличный синус, умножаем на передаваемый сигнал и выводим в ЦАП. ЦАП можно типа R-2R соорудить.

Я немого не понял — А как реализована сама «USB-Звуковая»?
Судя по фотке — там типичная Atmega 328p и на USB порту висит FT232 (Или его китайский аналог), которая является USB-UART преобразователем…

Используется какойто древний драйвер для COM-звуковой?
Там ардуиновская прошивка выкинута, написана новая на avr-gcc с применением библиотеки LuFA. Значит, ресурсов и на звуковуху хватило.
Я не про ресурсы, а про то, как эта ардуинка в системе определяется?
Еслиб её через 3.5mm-jack подключили — то всё понятно (Это не звуковуха, по сути).
Но в тексте прямо написано — через USB. Значит девайс определяется USB звуковухой.
Но как это возможно, если у Atmega328 нет аппаратного USB, а тот, что распаян на плате — подключен к FT232 (USB-UART/COM), который уже цепляется к Атмеге через UART_0…
Ответили — 32U4. Собственно, то, что это Arduino Pro micro в самом тексте написано.
в Pro Micro стоит ATMega32U4
А зачем в этой системе нужна Ардуина?
По сути тут она работает только как звуковая карта, которую можно выкинуть и добавить простейший генератор несущей, например на том же 555 таймере.
А можно для совсем тёмных — зачем с практической точки зрения передавать звук ультразвуком?
Возможно для подводной связи, поскольку ультразвук хорошо в воде распространяется.
Это тоже, но здесь — в чистом виде «because I can» и «just for fun». Вроде физического опыта.
И это круто. Я вот вынес из статьи, что ардуина может играть роль звуковухи. Я ХЗ зачем мне это может пригодиться, но теперь я знаю. что так делают.
Вообще радует как из доступных компонентов из китая и палок можно сделать на коленке прикольные штуки.
Идея зачётная.

реализовав 40-килогерцовый генератор аппаратно.


Но почему дорогая ардуино, вместо 555 таймера?
У 555 ещё и частота не зависит от напряжения питания безо всяких кварцев. А здесь это важно, надо настроить на резонансную частоту преобразователей, и чтобы потом частота генератора не уплывала.
5 баксов за китайский аналог — разве дорого за готовое устройство, которое не нужно дизайнить, паять и отлаживать?
Судя по вашему вопросу, вы не разработчик.
Вопрос был риторический. В статье, насколько я могу судить, не рассматривается разработка серийного устройства и его производство крупной серией, поэтому ответ очевиден.
Если чувак всё равно паяет, то какая разница припаять ардуино, или микросхему с парой резисторов? А экономия раз в 20-30 будет? 5 баксов не лишние.
Вспоминается, такая тема была в журнале Юный техник, в разделе «патент не выдавать». Тогда там эту идею сильно пропесочили.
О, я так понял тут собрались правильные люди.
Подскажите, нужно для прототипа соорудить диктофон, который смог бы часами записывать звук, пропускать тишину и работать от аккумулятора. Эдакий носимый постоянный аудиорегистратор. Интересует именно полоса частот человеческой речи.
Вопрос: как лучше сделать сжатие максимально просто (для прототипа) и чтобы прибор не потерял сильно в компактности? Есть готовые компоненты из китая?
Как правильно обвязать микрофон? Может кто-то скинет ссылки на какие--то открытые проекты с подходящей схемотехникой в отдельных узлах?
Как-то так получилось, что я программист и схемотехнике не обучен. Прям на уровне начинающего дилетанта.

Суть концепта в носимом аудиорегистраторе, который таскаешь как прищепку на одежде, а при наличии знакомого USB девайс заряжается и сливает зашифрованный звук в облако, где он индексируется и раздаётся на смартфон владельца.
Опишите желаемые размеры и вес, и что такое «тишина». Отсутствие человеческого голоса? Тогда будет проще и дешевле поставить специализированный войс-процессор типа тех, что в Furby ставятся, всё-таки распознавание речи довольно тяжелая задача, специализированная железка будет в её решении быстрее и/или энергоэффективнее.
PS Да, и бюджет проекта?..
Под распознаванием, как мне кажется. обычно понимается нечто другое. Тут скорее детекция. И я там вам ниже об этом писал.
В плане требований всё по классическому сценарию: максимапльно компактно и дёшево=)
Но если серьёзно. то речь всего лишь о прототипе, так что для начала стот рассмотреть вообще спектр возможных решений и оценить во что это может вылиться. Может быть затея и вовсе не стоит свеч. По крайней мере пока.
Бюджета пока что нет никакого. Вопрос состоит в том, стоит ли лезть с этим на краудфандинг и во что встанет вменяемый прототип такого устройства.
Оптимальный вариант — набор стандартных дешевых модулей с алиэкспресса, вставленных в ардуинку какую-нибудь более-менее энергоэффективную плату на STM.
Если с этой штукой можно будет без боли походить пару месяцев в штатном режиме, то это уже будет история успеха (про прототип).
Девайс обязательно должен быть хорошо заметным и выдавать своё назначение.
Вот тут я бы не был так категоричен. Да, я не собираюсь делать прибор скрытым, но сейчас записывать звук совершенно незаметно смартфоном или куда более компактным и незаметным обычным диктофоном уже не проблема.
Рефлексировать о приватности в этом смысле уже поздно. Нужно просто учитывать возможность того. что везде может происходить запись, причем не только звука. Да неуютно, да хочется что-то сделать с этим, но уже ничего не изменить.
Если будет больше популярных приборов, как тот, что описан мной, общество. как мне кажется, сможет отчетливее осознать опасность действительно скрытого наблюдения.
Как-то возражать против таких аудиотрекеров разумной заметности (но без мигалок и звуковых предупреждений) — это то же самое, что сейчас возражать пртив фотовидеосъёмки на вокзалах прикрываясь противотеррористическими мерами. Как будто те, кто готовят терракт будут ходить с огромной зеркалкой и нарочито снимать всё вокруг.
Да, я задумывал достаточно яркий цветной, черный или белый корпус в виде прищепки на одежду с нарисованным контрастным значком микрофона.
Я вот тут покумекал: если ориентироваться на человеческий голос, то как бы энергоэффективнее не было бы просто писать подряд, а распознавание и вырезание «тишины» проводить при заливке, уже на устройстве с достаточными мощностями. Всё равно получается, что микрофон и войс-процессор будут постоянно задействованы, дешевле карточку побольше поставить.
Ну я тоже пришел к такому выводу. Просто думал, что что-то примитивное вроде режима голосовой активации, какой был еще в древних кассетных диктофонах, вполне сэкономит часы записи по ночам, к примеру. Важно, чтобы это устройство требовало от человека минимального вмешательства. Максимум — регулярно менять его на другое вставляя разряженное и заполненное в USB и доставая оттуда «свежий» (очищенный и заряженный) экземпляр.
Войс-процессор, мне кажется лишним. Максимум — спектрально-интервальный детектор в виде конечного автомата по простым паттернам в отфлильтрованном звуковом канале.
Может быть имеет смысл вообще сделать голосовой детектор двухкаскадным: 1) аппаратный по фильтру голосовых частот, 2) программный, учитывающий простые паттерны, но уже в разбуженном процессоре.
Возможно будет иметь смысл действительно писать всё подряд. На 64-гиговую флешку войдёт много десятков, а то и сотен часов звука, а активацию сделать по уровню шума в довольно широком спектре вокруг голосовых частот. Можно сделать простейший препроцессинг при заливке, чтобы пропускать или снижать приоритет загрузки чанков с тишиной или без голоса.
Вопрос состоит в том, стоит ли лезть с этим на краудфандинг
Классическая проблема стартапа: «У меня есть идея, которая мне нравится, но целевую группу покупателей мне очерчивать лень». Если Вы собираетесь коммерциализировать задумку, надо обязательно мочь объяснить человеку, зачем она ему понадобится. Кстати, почему не писать звук на смартфоне, останется максимум прицепить микрофон, а заряжать смарты все всё равно привыкли ежедневно.
Нужно просто учитывать возможность того. что везде может происходить запись, причем не только звука
Записывать звук и видео без предупреждения можно только в общественных местах, в остальных — надо прямо сообщать и просить разрешение. Так что использовать аудиорегистратор, чтобы избежать ситуаций «я этого не говорил» с начальниками и роднёй — палка о двух концах.
примитивное вроде режима голосовой активации
Проще поставить ровно одну кнопку, которая будет отправлять в максимально глубокий режим сна, ну и выводить из него. И конструктивно проще, и по случайным срабатываниям — иначе придётся ставить на активацию сигнал типа «пауззифл-физ» или «бугенваген», чтоб случайно не произнесли или не отдетектили с фонового шума.
Войс-процессор, мне кажется лишним. Максимум — спектрально-интервальный детектор в виде конечного автомата по простым паттернам в отфлильтрованном звуковом канале
Он будет работать всегда и кушать энергию. Нет, конечно можно поставить туда аккумулятор как в телефоне, на 1-3 А*ч, но это другие размеры и другие деньги.
Да всё у меня давно описано. И целевая аудитория и кейсы. Прибор в задумке — это именно аудиорегистратор, а все ваши возражения вроде кнопки, записи на смартфон и прочего — это про диктофон.
Аудиорегистратор, как и видеорегистратор в вашем автомобиле, пишет не для того, чтобы кто-то это потом слушал или смотрел, а на всякий случай. То есть 99.9% записанного никогда никем не будет использоваться с очень большой вероятностью. При этом о полезности видеорегистраторов и камер наблюдения не спорит никто.

Громко всех предупреждать, что вокруг меня идёт запись звука, это как кричать всем, что у меня хорошая память, а я ещё и всё записываю. Мне кажется в ближнем кругу все и так будут обо мне знать такие вещи, а посторонние люди мне, в общем-то, в этом плане безразличны. В конце концов когда-то перед самодвижущейся повозкой надлежало идти человеку с фонарём и громко кричать предупреждая прохожих об опасности. Будущее придёт и никого не будет спрашивать, как не спрашивает вас разрешение на съёмку камера у вас в подъезде.

Мне такой прибор нужен для простых и понятных вещей, чтобы меньше думать о рутине и никогда ничего не «забывать». Кнопка на трекере будет лишь для установки тега с голосовой меткой для облегчения поиска нужного места в таймлайне. Кроме этого таймлайн индексируется по распознанным словам и фразам, доступен полнотекстовый поиск.

Лично мне это нужно для путешествий. Иногда пробивает ностальгия и хочется «вернуться» в прошлое, или нужно восстановить какую-то деталь информации, или «вспомнить» адрес или телефон, продиктованный тебе попутчиком, порой руки заняты и неудобно записывать какие-то размеры или рецепт, а ведь их достаточно лишь проговорить, чтобы вернуться позже, возможно спустя годы и всё восстановить.

Наверно кому-то, кто что-то эдакое сказал сгоряча, возможно, и повредит когда-нибудь эдакий гаджет, но мне кажется такая гипотетическая ситуация довольно редка и маловероятна, чтобы ради неё отказываться от удобства. Также мы не отказались от миниатюрных и незаметных камер в смартфонах, хотя ими можно снимать незаметно какие-то интимные и деликатные вещи. Никто не возражает против выпуска диктофонов, которые отлично и молча пишут любой звук лёжа в кармане. Появление нового гаджета на рынке никоим образом не уменьшит приватность и безопасность личного пространства. Напротив, бОльшая доступность и популярность таких гаджетов позволит помнить о возможности записи всех и всегда, а не только тогда, когда припекло и вы уже наговорили на статью в пьяной драке при включённом у кого-то диктофоне на смартфоне.
Про предупреждение — это не здравый смысл, а закон. Записи видеорегистраторов и камер наблюдения (сертифицированных) принимаются в суде, поэтому ими и пользуются. Если требуется только личное/развлекательное применение видео, то видеорегистратор заменяется видеокамерой.

Про схему: посмотрите на эти принципиальная и более простая и подробная. Т.е. лучше строить вокруг схемы типа ISD (например), которая будет отвечать за захват, кодирование звука и, возможно, запись на карту, а к ней привязать какой-нибудь МК, на котором будет крутиться логика начала-конца записи и общение по USB
Спасибо за ссылки. Я так понял там речь о записи коротких кусочков на внутреннюю память микросхемы и совсем без сжатия (PCM). Ну ок, без сжатия, наверно, вполне можно и обойтись. Скажем на 64-гиговую флешку, если не ошибаюсь, влезет почти 20 суток непрерывного моно-звука с дискретизацией 22кГц 16бит PCM. Наверно аккумулятор окажется критичнее, а кодек его будет тоже потреблять прилично. Можно сжатие делать на лету во время зарядки от USB при копировании с флешки.

Это значит. что мне, видимо, будет достаточно ардуинки=)
Нет, такие микросхемы, более дорогие и новые (3200 и 2160 серии) имеют внутренний буфер, но ещё могут отдавать звук в цифре и даже пожатый. Гляньте даташит и аппноуты в последней ссылке.
Кстати, с 64гиговой флешкой Вы расщедрились, там уже нужна железка с немного мозгов, всё-таки NTFS, а не простой и маленький FAT.
Зачем мне NTFS? Пусть будет FAT32. Все равно всё надо рубить на чанки, например по 10 минут или часу. Если рубить по часу, то это 24 файла в сутки по 150 мегабайт каждый. PCM — это тупой равномерный массив 2 байта на отсчет. Если замешкались или поставили паузу, можно тупо прыгнуть на нужный адрес и продолжить запись. Пропущенная область записывается нулями.
Громко всех предупреждать, что вокруг меня идёт запись звука,
А вы думаете по какой причине во всех смарфонах в камере нет опции отключения звука при фотографировании? Именно по причине чтобы окружающие были осведомлены что была произведена фотосъемка.

Мне такой прибор нужен для простых и понятных вещей, чтобы меньше думать о рутине и никогда ничего не «забывать». Кнопка на трекере будет лишь для установки тега с голосовой меткой для облегчения поиска нужного места в таймлайне.
То есть, по сути вам все-таки нужен диктофон?
Погуглите на тему «диктофон с циклической записью», скорее всего это вам подойдет.
во всех смарфонах в камере нет опции отключения звука при фотографировании

О чем вы, сударь? Моя камера в смартфоне снимает абсолютно бесшумно, вот опция: image
То есть, по сути вам все-таки нужен диктофон?

У меня есть диктофон и он не удобен. Он не умеет привязывать запись ко времени (ок, некоторые-таки умеют), его нужно включать, он не умеет работать постоянно в циклическом режиме, он не помогает мне автоматически индексировать и маркировать записи, не даёт доступа к тегам через смартфон и не шифрует записанный звук. Нет, мне не нужен диктофон, он у меня есть. Мне нужен аудиотрекер.
Судя по описанию, Вам нужен аудио органайзер/записная книжка, что-то типа Audio Notebook, только хардварный и на долгое время работы.
Ну прикольно было бы, чтобы та же Алиса постоянно слушала, умела долговременно хранить состояние и контекст, вычленяла полезную информацию из речи, тегировала и трекала в контексте, не тупила, не требовала интернет хотя бы для основных автономных задач. Тогда можно было бы просить её голосом что-то запомнить или вспомнить. Я думаю мы к этому придём лет через 10.

И нет, этот АудиоБлокнот мне не нужен, его нужно ВКЛЮЧАТЬ. О нём нужно ВСПОМИНАТЬ, когда и так не до него, ему нужно ПОВТОРЯТЬ, потом нужно как-то разобраться в накопившихся файлах, как-то разгрести и промаркировать синхронно с GPS-треком и фотографиями с других устройств…

Если я иду по незнакомому городу, где ходят незнакомые люди говорящие на незнакомом языке — идеально чтобы для записи сбивчивого рассказа о том как добраться до вокзала, и на каком автобусе потом ехать, и докуда, и как перемещаться дальше… так вот, идеально, чтобы для этого не требовалось хвататься за смартфон или диктофон, включать их, просить секундочку подождать и повторить все заново. А ещё у смартфона аккумулятор не резиновый. Его на день не хватает.
А ещё сплавляясь по реке мне бы хотелось комментировать где какие пороги или завалы, но хватать и включать дорогой водонепроницаемый диктофон мне не хочется. А хочется, зато, увидеть потом все заметки прямо на карте без малейшего с моей стороны участия, кроме установки прибора в USB. А ещё иногда хочется услышать что я говорил, когда снимал что-то на фотоаппарат. Вот именно в тот момент. Причем я не знал, что захочу этого когда снимал.
Распишите сценарий использования, а то получается "вбить гвоздь в забор". Чем дольше читаю, тем сильнее растут требования. Начинаю понимать, почему опытные разрабы за составление ТЗ берут отдельные деньги или даже выносят его в отдельный договор.
Я же уже расписал несколько раз. Мне кажется такие требования очевидны и вытекают из потенциальных возможностей аудиорегистратора.

Итак. Носимый, компактный, лёгкий аудиорегистратор, который непрерывно записывает в зашифрованном виде весь звук в непосредственной близости вокруг человека. Кнопка на устройстве ставит временнУю метку в текстовом файле в памяти устройства.

ПО на компьютере во время зарядки устройства через USB загружает и перекодирует накопившиеся записи, распознаёт речь, индексирует записи временнЫми метками и тегами, позволяет осуществлять полнотекстовый поиск событий и представляет удобный таймлайн для прослушивания любого периода через облако со смартфона.
В дальнейших релизах можно добавить возможность через bluetooth в том же виде локально со смартфона сёрфить по тамлайну и прослушивать пусть пока еще не распознанный и не проиндексированный звук.

Такое простое, в общем-то, устройство позволит отказаться от записывания в блокнотик номеров телефонов, адресов, какой-то другой вербальной информации, позволяет восстанавливать последовательность и длительность событий в путешествиях, легко и непринуждённо сохранять информацию о ценах, путевые заметки, и, вообще, всё что угодно и что можно сказать словами. Благодаря тому что при нажатии кнопки можно что-то произнести (и это будет потом в индексе выглядеть как тег), по таким тегам можно задавать какую-то автоматизацию и фильтрацию. Ссылки с таймкодом на конкретный момент времени (по тегу) можно присылать с помощью бота в чат. Так можно сделать легкое протоколирование любых событий от расходов и заказов на пьянке до каких-то особенных событий в семье. Когда вы (или ваши дети) научились произносить букву «Р»? У вас есть запись этого момента? А когда ребёнок сочинил сказку и начал её рассказывать, вы прервёте её побежав за смартфоном чтобы записать?

Это бытовой носимый аудиорегистратор. Такого устройства ещё нет в массовом пользовании. Смартфоны есть, и, ведь, кто бы подумал во времена Чарли Чаплина, что Фотографию будут использовать чтобы не запоминать цены на прилавке? Может быть лет через 10 смартфон или умный браслет сможет выполнять функции полноценного аудиорегистратора. Пока что не может. Но всё же такое устройство уже возможно соорудить в виде прототипа из китайских компонентов и даже выпустить в серию благодаря краудфандингу, и дешевому китайскому оутсорсу. Мне пофиг на проект, на авторство и выручку, но мне нужно само устройство. Неужели только мне?
Лет 10 назад, делал такое. И даже удалось сделать перстень с диктофоном внутри. Делалось все на атмеге8, в самом миниатюрном mlf корпусе. И sc70 операционный усилитель, в качестве микрофонного. То есть все состояло из Атмеги, опера, и microSD.
Остались наработки.
Ух здорово! Поделитесь наработками? К сожалению я лишь программист и в электронике ужасный дилетант. У меня нет вопросов как делать перекодирование, тегирование, распознавание, ассиметричное шифрование, облачное хранение, API для доступа. Зато есть вопросы как правильно подключить микрофон к АЦП, обвязать контроллер и сделать на борту достаточно точные часы с кварцевым генератором.
Не понятно, как сделать цепь заряда и контроль разряда аккумулятора, эффективную стабилизацию питания контроллера.
Ну, во первых все, что Вам написали по поводу «камуфляжа» и внешнего вида изделия — не пустой звук. Это просто к тому, что не нужно от этого отмахиваться и легко попасть в беду. Я когда этим занимался, делал не личную задумку, а работал в некоей конторе, которая имела лицензию на разработку и производство СТС. Но, грубой теорией поделюсь.
Сейчас, я бы присмотрелся к STM32. Во первых, они весьма миниатюрны, у них большой обьем ОЗУ, ПЗУ. Есть на борту часы реального времени, если поставить миникварц на 32768 гц. В одном из моих проектов на таком контроллере успешно применяется кодек АДИКМ.
Вам нужно определиться с динамическим диапозоном, то есть решить сколько бит на отчет требуется. Микрофонный усилитель штука простая, для обычного подключения к АЦП контроллера, достаточно задать смещение в «полисточника», это означает, что при отключенном усилителе на ноге должно быть полпитания (ну, например, 1.5 в). Через емкость 0.33 мкф, в эту точку подаете сигнал.
Если есть ЦАП на борту, то очень удобно использовать его в качестве такого смещения, которое можно еще и программно корректировать. Для управления усилением, можно использовать несколько входов АЦП. То есть сигнал усиливается, потом проходит несколько ступеней ослабления, и каждая ступень заводится на свой вывод АЦП. А контроллер смотрит с какого брать сигнал, и тем самым подбирает уровень. Частоту дискретизации, конечно же, лучше выбрать повыше, а потом сделать децимацию, под нужный поток — уменьшит уровень гранулярного шума.
Теперь про аккумулятор. А зачем Вам эффективная стабилизация питания? Если Вы возьмете одну банку LI-PO аккумулятора, то его диапозона питающих напряжений хватит на все. Заряженный 4.2в, разряженный 3в. И микроконтроллер и sd карта и микрофонный усилитель будут нормально работать. Ну может sd карте потребуется небольшое ограничение (но это скорее «для порядка»).
Плавания частоты при работе от кварца — тоже не будет.
Цепь заряда, можно заморочиться с специализированной микросхемой, там много плюшек в виде контроля заряда, разряда, измерений токов и напряжений, и все это по какому нибудь SPI интерфейсу может общаться с контроллером. Но, при минимализме, можно поставить классический стабилизатор тока на одном транзисторе, а остальное написать программно в контроллере.
В общем, как-то так.
Здесь, действительно надо прикинуть габариты изделия, и примерный внешний вид. Тогда я бы придумал бы конструкцию поподробнее. Может даже схемку нарисую.
Мне видится что-то наподобие этого.
image
Там с обратной стороны прищепка на одежду.
Только тут с шнурами возиться чтобы на зарядку ставить… так себе.
Лучше, конечно, чтобы из него под колпачком прям USB торчал, как у флешки.

Короче пофиг какая форма, нужно лишь чтобы на прищепке можно было на воротник повесить и не удушиться. Плюс, желательно, чтобы прям как есть в USB втыкалось на зарядку.
Вот как-то так, только экран не нужен.
image
Ух, полезненькое пошло!
по поводу «камуфляжа» и внешнего вида изделия

Я понимаю, поэтому прибор будет позиционироваться подчеркнуто бытовым. Надеюсь пронесёт. Звук планирую шифровать асимметрично так, чтобы информации в регистраторе было недостаточно для расшифровки, только для шифрования. В прототипе шифрования, конечно, не будет. Нужно это, чтобы при краже или потере устройства не допустить утечку большого количества информации. Чтобы предотвратить возможность расшифровки можно удалить дешифрующий ключ с перекодирующей машины. Этот ключ опционально можно шифровать мастер-паролем, тогда его придётся вводить при подключении изделия на зарядку.
STM32

Да, я много слышал об этом контроллере и о том, что знающие люди искренне не понимают почему ардуина по-прежнему настолько популярна, когда есть STM32. Я его даже в руках держал, если именно этот чип стоит в ESP8266. Но не более.
АДИКМ

А как вы думаете, что более энергозатратно: кодировать этим кодеком или писать сырой поток на флеш-карту?
Мне кажется я буду сильно упираться в батарейку. Хочется хотя бы 2-3 суток запаса автономной работы, чтобы можно было заряжать хотя бы ежедневно.
сигнал усиливается, потом проходит несколько ступеней ослабления, и каждая ступень заводится на свой вывод АЦП. А контроллер смотрит с какого брать сигнал, и тем самым подбирает уровень.

Вот тут не понял. Это чтобы динамический диапазон так повысить? Или это альтернатива подачи смещения с ЦАПа? Вроде нет, вроде похоже что речь о расширении динамического диапазона. Типа АЦП, у нас, к примеру, 12 бит, а нам надо 16. Берём и… что? смещаем центральную точку (или как там она называется) операционника по-разному для каждого канала АЦП, а потом вставляем в поток сигнал с самого релевантного канала АЦП умножая его на нужный коэффициент? Блин… звучит как рокет-сайнс. Как подбирать уровни ослабления? Как калибровать? Это отдельные операционники вообще? Да и про операционный усилитель я так… понаслышке знаю=).
Наверно про ослабления речь шла в контексте банальных резисторов. Да? Типа после операционника усиленный сигнал раздваивается и через разные резисторы поступает наразные каналы АЦП, а мы потом выбираем тот канал, который сильнее всего скачет? Только не смейтесь=)

Для прототипа можно сделать битрейт… хм… какой получится. Надо попробовать. Нету у меня опыта в таких вещах. Не знаю как звучать будет, как распознаваться потом такое будет…
Но, при минимализме, можно поставить классический стабилизатор тока на одном транзисторе, а остальное написать программно в контроллере.

Чем меньше кода, тем меньше ошибок и неожиданных побочных эффектов. Я за аппаратный вариант. Мне кажется и схематически это даже будет попроще, чем мерять напряжение через АЦП и как-то всем этим жонглировать.

Спасибо. Этот тред меня прям с мёртвой точки подвинул. Я почему-то думал всё сильно сложнее и вообще, кодек обязательно нужен аппаратный… не приходило как-то в голову писать сырой поток. Чай не видео FullHD, аккумулятор сядет быстрее, да и заряжаться будет дольше, чем копирование 64Гб.

Буду искать кто прям на пальцах покажет что куда в макетку втыкать, чтобы звук писался=)
STM32
Да, я много слышал об этом контроллере...

Я ассемблерщик, люблю выжать из процессора максимум, иногда перестановка местами двух команд, может дать заметный прирост в производительности.
Кроме того, на борту STM32 имеется аппаратный SDIO интерфейс, что позволяет писать на карту очень быстро.
А как вы думаете, что более энергозатратно: кодировать этим кодеком или писать сырой поток на флеш-карту?

Как раз я полагаю, что сжимать надо, и не для объема носителя, а для более редкого обращения к носителю. То есть, оцифровываем, сжимаем, копим в ОЗУ, а карту, «будим» раз в минуту «к примеру» и перегоняем накопленное. Флеш память весьма прожорлива по питанию, особенно при записи, чем реже мы к ней обращаемся и чем быстрее пишем, тем меньше она успеет сожрать за это время.
Вот тут не понял. Это чтобы динамический диапазон так повысить?

Не совсем, от динамического диапозона никуда не уйти, сколько есть бит, столько и останется. Есть, правда ухищрения с компараторами и ОУ, но, вряд ли это здесь подойдет. АРУ помогает использовать динамический диапозон наиболее полно, дает качество, ослабляет шумы. Но, по определению, выделить слабые звуки на фоне сильных не помогает.
В stm32 — 12 бит, есть на борту два АЦП, а в некоторых 3 штуки.
Наверно про ослабления речь шла в контексте банальных резисторов. Да? Типа после операционника усиленный сигнал раздваивается и через разные резисторы поступает наразные каналы АЦП, а мы потом выбираем тот канал, который сильнее всего скачет?

Да, примерно так. Смотрим какой канал зашкаливает от сильного усиления, и выбираем канал с меньшим усилением, на лету. Можно, также управлять усилением ОУ, через отдельные ноги процессора. Переключая их (ноги) из состояния ввода (hi-z) в состояние выхода с нулем на выходе, то есть подтягивая к земле, что дает изменение характеристик сопротивления в обратной связи в ОУ. Это, как бы, цифровой способ управления аналоговым ОУ. Позже распишу по подробнее.
Для прототипа можно сделать битрейт… хм… какой получится. Надо попробовать. Нету у меня опыта в таких вещах. Не знаю как звучать будет, как распознаваться потом такое будет…

Тут важна одна деталь. Если говорить прямо в микрофон (ну как в телефоне, например), то особо, ничего не требуется. А вот если предполагается, что нужно захватывать посторонние звуки, речь собеседника, музыку в дали, шум ветра, и т. д., то для дальнейшей отчистки нужен большой объем данных. Например, если записать и оцифровать речь на фоне музыки с частотой дискретизации 10кГц, а музыка имеет частоты вплоть до 15-20кГц, тогда все частоты, что выше 5 кГц, завернуться, перемешаются и попадут в сигнал в качестве шума. Значит, или потребуется хороший аналоговый фильтр в микрофонном усилителе, или нужно оцифровывать с большей частотой дискретизации и фильтровать программно. КИХ, например. Иначе потом не разделить.
Чем меньше кода, тем меньше ошибок и неожиданных побочных эффектов. Я за аппаратный вариант. Мне кажется и схематически это даже будет попроще, чем мерять напряжение через АЦП и как-то всем этим жонглировать.

Согласен, однако в современных аккумуляторах, особенно, в которых литий, проблема в кривой заряда разряда. Она не такая, как например, в конденсаторах.
Именно поэтому, ноутбуки, телефоны, планшеты, и прочая современная техника так странно расчитывает время оставшегося заряда. Там, буквально, меряется ток, и исходя из него и емкости расчитывается время.
То есть, при заряде счетчик считает в плюс, при разряде в минус, а к напряжению и емкости это подвязывается с помощью алгоритмов, подобных фильтру Калмана. Хоть и сумбурно, но так.
Я почему-то думал всё сильно сложнее и вообще, кодек обязательно нужен аппаратный… не приходило как-то в голову писать сырой поток

Ну, любое аппаратное решение/функция, это как минимум один корпус микросхемы, а значит потребление. И не только, эту микросхему надо закупать, припаивать, обвязывать. Выход из строя тоже не последнюю роль играет.
Буду искать кто прям на пальцах покажет что куда в макетку втыкать, чтобы звук писался=)

Макеток очень много, и не дорогие. спаяв к ним микрофонный усилитель на маленькой (а может для начала и не очень) платке, уже сразу можно баловаться кодом, посылая его в комп по USARTу. И отлаживать кодек. :)
В дальнейшем еще напишу по теме.
Имхо, кодирование и шифрование, если оно не совсем простенькое, лучше делать на специализированном чипе. M0-M4 может больше электричества сожрать, делая непрофильную работу.
STM32. Я его даже в руках держал, если именно этот чип стоит в ESP8266
STM32 — это обширное семейство микроконтроллеров с архитектурой ARM Cortex-M, выпускаемое фирмой ST.

ESP8266 и ESP32 — это выпускаемые китайской компанией Espressif «системы-на-чипе» (SoC), включающие в себя микроконтроллерное ядро Xtensa (L106 для ESP8266 и LX6 для ESP32) американской фирмы Tensilica (ныне — часть компании Cadence), плюс аналоговую радиочастотную часть. Архитектура у этого ядра проприетарная, закрытая.
Общего с STM32 у них только разрядность — 32 бита.
записывает в зашифрованном виде весь звук
Именно в шифрованном, не сжатом?
Кнопа на устройстве ставит временнУю метку в текстовом файле в памяти устройства
Что за текстовый файл? Почему недостаточно просто разбивать запись на файлы по нажатию? А ещё ранее Вы говорили про голосовые метки/теги и минимальное взаимодействие с устройством руками
индексирует записи временнЫми метками и тегами
Откуда берутся теги? Десктопное ПО их само расставляет по анализу распознанной речи, или как-то иначе?
Именно в шифрованном, не сжатом?

Сейчас очень дешевые и большие флеш-накопители. На 64-гиговую флешку влезет примерно 20 суток совершенно несжатого звука в хорошем качестве.
Что за текстовый файл? Почему недостаточно просто разбивать запись на файлы по нажатию?

Можно, конечно, разбивать, но кнопка может быть нажата и с запозданием и во время полезной речи и вовсе не нажата, а фрагменты, порванные кнопкой будут различаться по размеру. Использование в виде сырых файлов (с учетом разбиения на чанки для приемлемого размера) в любом случае неудобно. Полезный контент может попасть на разрыв и нужно будет что-то делать для склеивания. Огромное количество сырых файлов, да ещё и разной длительности неудобно использовать. В любом случае нужен софт, который и порезать и выделить всё что нужно сможет при зарядке.

Текстовый файл потому, что он выравнивается точно также часовыми чанками, содержит в имени дату/время начала чанка, сортируется по имени в едином потоке всех файлов на внутреннем носителе. Можно реализовать циклическую запись с затиранием самых старых чанков, можно удобно бэкапить любой интервал архивов с точностью до часа и данные о нажатиях кнопки не потеряются.

А ещё ранее Вы говорили про голосовые метки/теги и минимальное взаимодействие с устройством руками

Да говорил и если вы не поставили метку, то сделать это можно потом, если она нужна. Запись в любом случае останется. К тому же теоретически метку можно ставить и ключевым словом, а распознавать её при автоматической обработке потом.
На кнопку можно повесить (длительным нажатием) временное выключение (для параноиков). Временное потому, что забыть включить запись может оказаться куда худшим, чем забыть выключить. Именно поэтому я бы встроил в устройство еще и зуммер-пищалку, которая возвещала бы о критическом уровне заряда батареи, о прошествии, скажем, десяти минут после временного отключения записи и т.д.

Зуммер и кнопка очень дешевы и просты. Они не увеличат критично бюджет, ими можно не пользоваться, зато с ними больше возможностей.

Откуда берутся теги? Десктопное ПО их само расставляет по анализу распознанной речи, или как-то иначе?

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

При подключении регистратора к USB он заряжается, детектируется установленным на компьютере ПО, при этом файлы начиная с самых старых выгружаются с устройства, перекодируются, сжимаются, распознаются, маркируются и выгружаются в облако.
При этом несжатые аудио-файлы чанков становятся сжатыми (например, mp3 или что-то ещё). Логи нажатия кнопок остаются в прежнем виде. Плюс добавляются файлы с тегами, полученными после распознавания. Эти файлы также отвечают каждый за свой час и с тем же выравниванием.
Позже через облачный веб-интерфейс пользователь может что-то исправить в распознанных тегах, добавить новые, внести пометки, загрузить GPS-трек (он тоже порежется на часовые куски и ляжет рядом на хранение в архиве).
Таким образом час записи (с учетом сжатия) в архиве будет занимать менее 10 мегабайт в (самом худшем случае), в среднем сильно меньше ввиду хорошего сжатия и периодов тишины. Эти куски легко раздавать и подгружать по мере необходимости.
Имхо, хватит ISD2130/2160 и какого-нибудь маложрущего МК с аппаратным USB, можно даже 8битного, если за оцифровку звука будет отвечать ISD. Можно и без ISD, как выше расписали, но с ней проще.
Sign up to leave a comment.

Articles