Голос в текст на ардуино

bandito

✩✩✩✩✩✩✩
21 Окт 2018
3
0
Всем привет!
Подскажите возможно ли реализовать перевод речи в текст на ардуино? Если возможно то насколько тяжело?

Сам программист. С ардуино раньше не работал, паяльник в руках не держал
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,407
976
58
Марий-Эл
Ну почему же.
Нужно поискать плагин SpeechToText.
И перевести его на нужную платформу.
Посмотреть сколько он будет занимать и прикинуть сколько ардуинок понадобятся в параллельном режиме.
Написать операционку, что бы она заставила работать их параллельно.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@bandito, ,бросьте вы это дело для Ардуино. Там ни памяти не хватит, ни производительности процессора. Разве что Ардуино Дуе. Так эта штука денег стоит, и она только и будет, что голос анализировать. Ардуино платформа предназначена для другого. Обучать студентов основам программирования, а ни для ничего ещё.
 

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,302
Москва
Вроде как есть готовые модули, распознающие небольшое число голосовых команд, а на ардуино просто шлют номер команды.

UPD , А вот и он
Специально не искал. просто листал магаз. По названию можно загуглить подобное а али https://duino.ru/easyvr.html
 
Изменено:
  • Лойс +1
Реакции: Arhat109 и stepko

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Старик Похабыч, это то понятно. Человек спрашивает, возможно такое на платформе Ардуино? Ответ один: НЕ ВОЗМОЖНО! А то, что Вы предлагаете - так это спец процессор обрабатывает голосовые команды. К Ардуино вообще отношения не имеет.
 
  • Лойс +1
Реакции: stepko

Старик Похабыч

★★★★★★★
14 Авг 2019
4,263
1,302
Москва
Тут даже вопрос в количестве голосовых команд, которые сможет распознавать ардуина... Может 2, может 1..
Но надо быть хотя бы программистом , что бы написать свои функции.
 

bandito

✩✩✩✩✩✩✩
21 Окт 2018
3
0
Благодарю всех за информацию, спасибо, буду изучать тему
 

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
У esp32 хватит ресурсов на запись звука и отправку его в гугл на транскрибирование
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@enemy_krs, можно и так. Но опять жеж, при чём тут ардуина и распознавание. Вообще распознавалки сейчас стоят пока на начальном уровне, и никто серьёзно их не рассматривает. Уж больно процессоры мощные нужны. Как насчёт зашумлённости? При большом уровне шума как услышать команду? И не говорите мне про фильтры, не работает это.
 
Изменено:

enemy_krs

★✩✩✩✩✩✩
28 Май 2019
104
37
Придумать алгоритм наличия звуковой активности это уже совсем другой вопрос, а для всех начинающих любой МК - ардуино
 

Эдуард Анисимов

★★★★★★✩
23 Сен 2019
2,407
976
58
Марий-Эл
xxx: Сири, Алиса, прочая лабуда типа голосовых помощников - игрушки для ламеров. Все можно сделать клавой-мышкой или тачем - быстрее, эффективнее, без ошибок и без обращения к серверу на другом конце планеты.
xxx: Единственное для чего нужно встроить во все девайсы распознавание голоса - это для ЕДИНСТВЕННОЙ команды "пипецбля" по которой отменяется любое последнее действие юзера.
 
  • Лойс +1
Реакции: enemy_krs и Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@Эдуард Анисимов, жаль нет двойного Лойс+2 .. поставил бы.

Не очень правда понял, почему так категорично "нивазможна"? (вообще-то занимался вопросом, но давно на zx80 ещё)
Для началу, давайте разберем что есть "голос":
1. Голос это некий особый набор звуков, который разбивается на "фонемы" и "фронты". То есть, первая задача оцифровки на лету - это выделение и распознавание фонем и фронтов. Что там происходит на "спаде фонемы" в общем-то и не важно. То есть паузы в оцифроке могут иметь место.
2. Фонемы состоят из 2-4 базовых опорных частот (гортань, ротовая полость, носовая ..) где есть опорная частота, образующая "тембр владельца".
3. Каждая фонема легко распознается на спектроанализаторе по амплитудам и переходам с предыдущей фонемы.
4. В качестве "спектроанализатора" как правило применяется БПФ или "Вейвлетное преобразование", можно даже в целых числах АЦП напрямую.
5. Распознавание фронта в общем-то "не проблема", куда как большая проблема его привязка к согласной, т.к. сочетания (в русском) т.с. "играют роль".
6. Частотный диапазон голоса вполне достаточен от 100гц до 6300гц (телефонная линия, типовая даже хуже)

Отсюда:
а) "прямая оцифровка". Никакого "распознавания" на самом деле нет. Тупо пишем образцы в память и при сравнении ищем "самый подходящий" (нечеткое сравнение).
Команда - 1.5сек (как выше) = 6300 * 2 * 1.5 = 18900 отсчетов. Оцифровка 8 бит (за глаза) = 18900 байт. На самом деле можно иметь примерно в 1.7 раза меньшую частоту оцифровки .. для эквивалентных фильтров с порогом около 4кГц (аналог записи всяких черных ящиков) .. т.е. уложиться в 10-12кб. Мега имеет 256кб РОМ, которую в общем-то умеет( загрузчик это и делает!) писать программно.
Итого в ПЗУ можно хранить .. ну пусть 3/4 объема .. около 15-20 команд.

В этом варианте в общем-то фсё. Поскольку никакого реального распознавания голоса нет. Есть распознавание и сравнение записи с образцом.

б) "разделение на фонемы" .. каждая фонема уместится в .. описатель размером байт в 100 "от силы" (не помню точно) .. и потребует ПЗУ на порядок меньшего размера. Т.е. имеем вариант хранения в 100-200 команд в Меге.
Оцифровка в 4кГц .. на период оцифровки приходится около 16Мгц / 4кгц = 4000 команд, но с учетом что средняя смесь это 1.8 такта получим около 2000 команд Меги на "шаг оцифровки" .. можно ли в них впихнуть что-то серьезное?
Да легко, особенно учитывая "паузы" в оцифровке, там не надо цифроввать все в поток..

Ну и? Почему так категорично-то? Кмк, вполне задача.
 

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Arhat109, почему же тогда ни одна приличная фирма не рискует применять голосовое управление? Опасно это, пока. Дальше посмотрим.

Теория - это хорошо, но на практике совсем другие дела выходят...
Например, в кабине шумы от вентилятора, двигателя, да бог знает от чего ещё. Различить как? И пока кнопки отключения нет, так ничто не поможет. Какое там голосовое управление, о чём вы? Разве что команда"пиздец", и то её распознать нужно.
 

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@PiratFox, потому что простые решения типа нечеткого сравнения образцов дают слишком высокий процент ошибок из-за очень большого количества факторов, особенно когда надо распознавать схожие по звучанию команды. Проходил все это. Реально даже гуглевые "машиннообученные" алгоритмы, что торчат в телефонах (с передачей по сети туда-обратно, ну и записью конечно жеж :) ) ошибаются и достаточно часто.. А если стресс, или орал так что охрип или тупо простудился и?
Управление голосом, вообще, вижу нишу только в детских игрушках: бегать за тележкой и командовать "стой", "направо", "влево", "вперед" .. не больше.

Сидят два новых русских за столом, на чьей-то свадьбе. Один другому:
-"Хочешь, я тебе небольшого джина подарю? Исполняет любое количество желаний, только есть недостаток: глуховат малость"
-"Да ну нафиг! Не бывает никаких джинов. Чем докажешь что настоящий?"
Первый, расстегивает штаны, а там вместо достоинства такой маленький 40см теннис и фигурки как настоящие и мячик гоняют туда-сюда..
-"Вот это да! А зачем тебе это?"
-"Я ж сказал - глуховат малость. Ты что думаешь я у него 40см теннис просил?"
 
Изменено:
  • Ахах! +1
Реакции: stepko

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
@Arhat109, вот тут я с вами согласен. Добавлю только, пока механизмы будут опасны, никакого голосового управления не будет. По крайней мере, пока команду "пиздец" распознавать не будут быстро и чётко.
 
  • Лойс +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@PiratFox, зато на поиграться - порой прикольно, особенно в сочетаниях с матюгальниками (читалками текста):
-"Вперед!"
-"Ну вот, опять вперед .. меня кормить пора, напруга на пределе. Ни паеду!"
:)
 
  • Лойс +1
Реакции: PiratFox

PiratFox

★★★★★✩✩
13 Фев 2020
1,706
474
Ага. А потом ещё пожалуется, масло менять надо, подшипникам конец скоро будет... Не, нахрен голосовое общение с железяками.
 
  • Ахах! +1
Реакции: Arhat109

Arhat109

★★★★✩✩✩
9 Июн 2019
473
203
@PiratFox, о-о-о, был у меня период, когда машинку (настоящую) надо было ремонтить, начала кипеть. Бабла как назло нет, да и на ней же и зарабатывалось оно по чуть-чуть .. представляю как-бы это выглядело.
-"Ехать нада! Мы в поле стоим!"
-"Никак не можно, насяльник. Масло менять пора"
-"Я тебе, скотина, долил уже политру. Доедешь - поменяю"
-"Никак не можно. перегрев, охлаждайку нада, насяльник"
-"Блин, ты дура! Чем выше скорость, тем лучше охлаждение"
-"Выше не можно, масло менять нада"
..
:)