Оффлайн распознавание речи. PocketSphinx.
Модератор: immortal
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Оффлайн распознавание речи. PocketSphinx.
https://github.com/sovse/Rus-SpeechReco ... C-VoxForge вот к примеру о вышесказанном
https://github.com/Microsoft/CNTK а вот вообще крутая фишка от майкрософта -
"Компания Microsoft сообщила о публикации на GitHub исходных текстов тулкита CNTK (Computational Network Toolkit) с реализацией алгоритмов глубокого машинного обучения. На практике тулкит используется в сервисах, обеспечивающих распознавание произвольной речи, таких как Windows Cortana, Skype Translator и Project Oxford Speech API. Тулкит также может использоваться для решения задач автоматизированного перевода, распознавания изображений и разбора вопросов на естественном языке. Код написан на языке С++ и распространяется под лицензией MIT."
https://github.com/Microsoft/CNTK а вот вообще крутая фишка от майкрософта -
"Компания Microsoft сообщила о публикации на GitHub исходных текстов тулкита CNTK (Computational Network Toolkit) с реализацией алгоритмов глубокого машинного обучения. На практике тулкит используется в сервисах, обеспечивающих распознавание произвольной речи, таких как Windows Cortana, Skype Translator и Project Oxford Speech API. Тулкит также может использоваться для решения задач автоматизированного перевода, распознавания изображений и разбора вопросов на естественном языке. Код написан на языке С++ и распространяется под лицензией MIT."
- За это сообщение автора tarasfrompir поблагодарил:
- Alekss II (Вт июл 10, 2018 10:27 am)
- Рейтинг: 1.16%
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Оффлайн распознавание речи. PocketSphinx.
Думаю, никто. Где купить, не понятно. Ценник, полагаю, будет конский. Покупать только ради массива микрофонов с DSP нецелесообразно, ибо там до кучи полно других фич, с помощью которых можно организовать IOT-шлюз.NooBAsTiK писал(а): ↑Пн июл 09, 2018 6:08 pmА кто то пользовался вот такой штукой?
https://www.youtube.com/watch?v=A0pdT1TE7uQ
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 3
- Зарегистрирован: Чт мар 29, 2018 10:53 pm
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Оффлайн распознавание речи. PocketSphinx.
Nano Pi neo принципе она встроенная, ее хватает + этот модуль 9812У кого то получилось реализовать? Правильно я понимаю если делить микрофоны на помещения то лучше ставить на каждое из них что то типа мини пк с звуковой картой? И дальше уже отправлять результат распознования по сети?
подключается просто на плате разъем
mic- -> gnd,
mic+ -> out
vcc -> +3.3v
Шо вы помешались на этих малинах, nano pi всего размер 40х40
А так в комнате по 1 шт (соединены между собой локалкой) решение до 20$ ))
Ну зачем так утверждать принципе на Nano pi neo 512 хватит у меня работает свет включает и выключает или делает чуть больше светаб чуть меньше )))tarasfrompir1 писал(а): ↑Пн июл 09, 2018 4:44 pmНу пойми , тут проблем много и на малинке-калинке это будет изврат .
Тут и ПС не всегда хватает....
Во вторых покетсфинкс тяжеловат будет...
в третьих - все эти обучения-мучения... ну капец просто...
в четвертых - точность распознавания - пока что не очень, НО при правильных настройках - терпимо. (При чем это не со всем зоопарком микрофонов и устройств разных)...
Хотя на нейронных сетях я так думаю в перспективе должно быть получше, но тут же опять мощностя еще больше надо...
Вобщем пока как по мне никак...
в обучении ничего сложного нет, просто надо время на диктовку команд,
а вообще планирую (автоматизировать это дело) чтоб она могла сама тренироваться- переходила в режим обучения и в режиме диалога обучалась.
или еще как вариант не распознала обратилась к гуглу )) а он ей дал ответ, она записала на карту звуковой файл - текст и потом ночью самообучалась или в том же режиме диалога спрашивает (проигрывает файл ) и говорит слово - и задает вопрос верно?
- tarasfrompir
- Сообщения: 3216
- Зарегистрирован: Ср мар 02, 2016 8:18 pm
- Откуда: Украина Пирятин
- Благодарил (а): 223 раза
- Поблагодарили: 815 раз
Re: Оффлайн распознавание речи. PocketSphinx.
Научить распознавать 20 слов и внести их в словарь - это да проблем не много.
По поводу гугла тоже думал над этим - но ведь потом вылезет это боком -ведь гугл тоже не всегда правильно распознает.
в режиме диалога - заманаешся...
Ну и для факта - есть у меня словарь 3,5 млн слов
Так вот - даже программы ТТС (генераторы речи) обучаются всего на 200 000 слов МАКСИМУМ - больше не может переварить в априори ...
Сколько туда памяти , процессоров, и всего остального не пихай. Так написал разработчик синтезатора Мери ТТС..
Ну а вот пока на перспективу нейронки присматриваю что не говори - но там вроде все получшее...
Хотя опять же - Я ТАК ДУМАЮ...
По поводу гугла тоже думал над этим - но ведь потом вылезет это боком -ведь гугл тоже не всегда правильно распознает.
в режиме диалога - заманаешся...
Ну и для факта - есть у меня словарь 3,5 млн слов
Так вот - даже программы ТТС (генераторы речи) обучаются всего на 200 000 слов МАКСИМУМ - больше не может переварить в априори ...
Сколько туда памяти , процессоров, и всего остального не пихай. Так написал разработчик синтезатора Мери ТТС..
Ну а вот пока на перспективу нейронки присматриваю что не говори - но там вроде все получшее...
Хотя опять же - Я ТАК ДУМАЮ...
Спасибо нам ПОМОЖЕТ..!
-
- Сообщения: 3
- Зарегистрирован: Чт мар 29, 2018 10:53 pm
- Благодарил (а): 1 раз
- Поблагодарили: 0
Re: Оффлайн распознавание речи. PocketSphinx.
а у меня распознает на русском - благодаря этой "перделке" max9812 и поверьте звук пишет слышно даже что в соседних комнатах происходит, а мах9814 вообще что на улице.zoldaten писал(а): ↑Пн июл 09, 2018 5:38 pmкто как решает задачу - кто-то активные микрофоны тянет из одной точки. поищите по форуму - голосовое управление.
если будете искать микрофон, лучше сразу отказаться от тех перделок, которыми забит aliexpress,maxы и т.п.
самая простая схема реализации (мой рабочий вариант), которую можно использовать - respeaker шапка на raspberry или схожий форм-фактор,
chromegatemjd - "родное приложение" mjd. расстояние до микрофона - до 5 м, распознает правда только английский, но для
вкл/выкл подойдет.
ps. обучать там ничего не надо - сразу добавил сценарий -слово light - включил свет. dark - выключил
Научить распознавать 20 слов и внести их в словарь - это да проблем не много.
По поводу гугла тоже думал над этим - но ведь потом вылезет это боком -ведь гугл тоже не всегда правильно распознает.
в режиме диалога - заманаешся...
Для основных команд в квартире и 100 шт хватит.
так с гуглом она тока сделает предположение что верно, но сначала спросит - посоветуется с хозяином чтоб признать это верным.
мы тоже с рождения не сразу слова понимаем.
Народ сразу скажу если Вы пытаетесь что опознать с помощью русской базы что лежит на сайте pocketsphinx у Вас врядли что то нормально получится -она служит основой, для обучения и только.
не тратьте время (я его потратил) что понять это.
Сразу начинайте с рубрики обучение все пойдет намного быстрее.
Кстати если кому то интересно можем поговорить по самому программированию на С pocketsphinx, может кто поделится своими наработками я своими или подумаем вместе.))
-
- Сообщения: 10
- Зарегистрирован: Пн июл 09, 2018 12:34 am
- Откуда: Иваново
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Re: Оффлайн распознавание речи. PocketSphinx.
Покупать не только ради микрофонов, есть же и камера и датчики влажности и температуры, гироскоп, nfc, ИК и пр. Эта коробка думаю будет дешевле всех тех датчиков, если их покупать отдельно в боксовом (красивом) исполнении. Вообщем заказал себе Raspberry 3B+, Matrix Creatort. Попробую что-то смастерить, побалуюсь пока время есть. Да и с линуксовыми системами на ты, так что придется долго и упорно наступать на грабли... посмотрим
-
- Сообщения: 3006
- Зарегистрирован: Чт авг 21, 2014 8:28 am
- Откуда: Киров, Россия
- Благодарил (а): 400 раз
- Поблагодарили: 1753 раза
- Контактная информация:
Re: Оффлайн распознавание речи. PocketSphinx.
Не забывай только отписываться о результатах здесь, или в блоге в Коннекте. Интересно же.
MajorDoMo (GitHub) на Cubietruck. ОС Debian 7 (wheezy) (kernel 3.4.105) с переносом на HDD.
Мой CONNECT | Блоги | Telegram
Мой CONNECT | Блоги | Telegram
-
- Сообщения: 10
- Зарегистрирован: Пн июл 09, 2018 12:34 am
- Откуда: Иваново
- Благодарил (а): 0
- Поблагодарили: 0
- Контактная информация:
Re: Оффлайн распознавание речи. PocketSphinx.
Буду конечно, сначала тупить буду, да и помощь знающих нужна будет. На линуксовых кроме LAMP сервера и торрента ничего не поднимал Для меня пока темный лес как говорится, но интересно.
-
- Сообщения: 1462
- Зарегистрирован: Вс янв 10, 2016 11:05 am
- Благодарил (а): 260 раз
- Поблагодарили: 454 раза
Re: Оффлайн распознавание речи. PocketSphinx.
Вот на дружественном форуме тема поднималась
https://ab-log.ru/forum/viewtopic.php?f=1&t=1172
https://ab-log.ru/forum/viewtopic.php?f=1&t=1172
- Рейтинг: 1.16%
-
- Сообщения: 20
- Зарегистрирован: Чт мар 08, 2018 6:41 pm
- Благодарил (а): 6 раз
- Поблагодарили: 3 раза
Re: Оффлайн распознавание речи. PocketSphinx.
Пробовал PocketSphinx с разными словарями, моделями и файлами грамматики... Печально, всегда ложные срабатывания.
recognizer.php
Файл команд command.txt
за говнокод не пинайте
Вот это помогло. Вывел для себя следующее:Chainik писал(а): ↑Вт июл 10, 2018 5:37 pmВот на дружественном форуме тема поднималась
https://ab-log.ru/forum/viewtopic.php?f=1&t=1172
- Словарь нужно свой писать
- При написании файлов словаря и грамматики избегать предлогов (в кухне/вкухне) и похожих слов (включить/выключить)
- Распознанные команды проверять скриптом (сравнивать со списком комманд) и только потом отправлять на сервер для выполнения
recognizer.php
Код: Выделить всё
<?php
/**
* Конфигурация
* homedir - корневая директория скриптов
* hmm - акустическая модель
* gram - файл грамматики
* dict - словарь
* command - файл с командами
*/
$homedir = "/home/voice/";
$hmm = "zero_ru.cd_cont_4000";
$gram = "rus_gram";
$dict = "rus_dict";
$command = "command.txt";
/**
* Чтение команд из файла в массивы
* данные разделяются |
* arrline - строка для сравнения
* arrvoice - голосовое подтверждение
* arrcmd - команда для выполнения
*/
/* Разделитель строки символ | */
$delimeter = "|";
$lines = file($homedir . $command);
foreach ($lines as $line_num => $line) {
$line = trim($line); // удаляем спец символы в конце строки
$line = explode($delimeter, $line); // разрезаем строку
$arrline[] = $line[0];
$arrvoice[] = $line[1];
$arrcmd[] = $line[2];
}
/* Комманда запуска */
$cmd = "pocketsphinx_continuous -hmm " . $homedir . $hmm . " -jsgf " . $homedir . $gram . " -dict " . $homedir . $dict . " -inmic yes";// -logfn /dev/null" включить после отладки;
while (@ ob_end_flush());
$proc = popen($cmd, 'r');
while (!feof($proc))
{
$string = trim(fread($proc, 4096)); // читаем строку и удаляем спец символы в конце
/**
* Поиск строки для сравнения в массиве
*/
$key = array_search($string, $arrline);
// Проверяем полученный ключ
if (is_integer($key)) {
// Проверяем нужно ли выводить голосовое сообщение
if (mb_strlen($arrvoice[$key]) > 0) {
exec('echo "' . $arrvoice[$key] . '" | RHVoice-test -p elena');
}
// Проверяем нужно ли выполнять команду
if (mb_strlen($arrcmd[$key]) > 0) {
//exec($arrcmd[$key]);
}
/* Можно добавить запись распознанных команд в файл журнала */
}
@ flush();
}
?>
Код: Выделить всё
Степановна ты здесь|Да я здесь|command mjd1
Степановна включи свет|Включаю свет|command mjd2
Степановна погаси свет|Выключаю свет|command mjd3