Оффлайн распознавание речи. PocketSphinx.

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Пт апр 01, 2016 4:21 pm

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

Код: Выделить всё

#!/bin/bash
#echo "Начинается запись..."
arecord -D hw:1,0 -d 3 -q -f S16_le /tmp/speech.wav  ## записываем исходный файл, параметр -f зависит от аудиокарты, это качество записи 
#echo "Запись закончена"
sox /tmp/speech.wav -r 16000 -b 16 -c 1 /tmp/speech.flac gain -n -5 silence 1 5 2% ## конвертируем в формат понятный гуглу. моно, 16кгц, 16 бит, + немного чистим шумы
rm /tmp/speech.wav
#echo "Анализ голоса..."
wget -q -U "Mozilla/5.0" --post-file /tmp/speech.flac --header="Content-Type: audio/x-flac; rate=16000" -O - "https://www.google.com/speech-api/v2/recognize?output=json&lang=ru-RU&key=тут ваш api ключ" > /tmp/all.ret ## отправляем запрос в гугл, тот возвращает json. может еще xml по моему возвращать
rm /tmp/speech.flac
cat /tmp/all.ret | sed 's/*transcript":"//' | sed 's/","confidence.*//' | sed -n 2p | cut -c 43- > /tmp/text.txt  ## выцепляем из json распознанные слова, в этой строчке несколько часов мучений)
rm /tmp/all.ret
TEXT="$(cat /tmp/text.txt)"
rm /tmp/text.txt
wget -q -U "Mozilla/5.0" -O - "http://10.10.158.220/command.php?qry=$TEXT" > /dev/null ##вот так я отправлял в majordomo
#echo $TEXT
Аватара пользователя
sergejey
Site Admin
Сообщения: 4284
Зарегистрирован: Пн сен 05, 2011 6:48 pm
Откуда: Минск, Беларусь
Благодарил (а): 75 раз
Поблагодарили: 1559 раз
Контактная информация:

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение sergejey » Пт апр 01, 2016 4:53 pm

команда записи записывает фиксированные 3 секунды? было бы здорово, автоматически отсекать запись при паре секунд молчания )

Сергей Джейгало, разработчик MajorDoMo
Идеи, ошибки -- за предложениями по исправлению и развитию слежу только здесь!
Профиль Connect -- информация, сотрудничество, услуги
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение coolermister » Пт апр 01, 2016 11:20 pm

Да, фиксированно 3 секунды. Лично я не знаю не одного способа отсекать по тишине) К тому же, у гугла по моему ограничение и на длину файла) Плюс когда он короче, распознает быстрее)
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение Sas » Сб сен 03, 2016 11:11 am

coolermister писал(а):Прилагаю)
Это без сфинска, надо вручную запускать.
Пытаюсь сделать такое же, но со сфинксом.
Записываем фразу, чистим, скармливаем сфинксу, если успешно то все остальное шлем на гугл, а далее снова пишем фразу.
Затык пока только в микрофоне и его сильном фоне на малине.
Может кто пытался избавиться уже?
Запитал микрофон и юсб звуковуху от отдельного питания, но все равно фонит как будто рядом работает трактор.
Сегодня если будет время то попробую вынести юсб звуковуху на длинном юсб шнуре подальше упсов, колонок, и малин
xsash
Сообщения: 2
Зарегистрирован: Пн сен 05, 2016 8:56 am
Благодарил (а): 0
Поблагодарили: 0

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение xsash » Пн сен 05, 2016 9:02 am

Доброе!

Прочитал по диагонали топик, очень расстраивают последние сообщение про малинку с шумами на микрофоне. Как раз жду USB звуковую карту.
В наличие малинка + STELBERRY M-50 (шороха не было). Надеялся реализовать оффлайн распознавание команд...

У меня на микрофоне были шумы от блока питания (при экспериментах на десктопе), в итоге запитывал от кроны, Sas, может у Вас так же блок питания шумит?

А сегодня на хабре наткнулся на такую игрушку (не шибко бюджетно правда)
https://www.kickstarter.com/projects/se ... ce-to-hack

Еще один вариант - Дуся-Агрегат, но пока нет в доступе версии для инсталяции, уже более полугода идет закрытый альфатест
http://blog.dusi.mobi/2016/03/02/aggregate/

ваши мысли?
zoldaten
Сообщения: 158
Зарегистрирован: Вт авг 23, 2016 3:08 pm
Откуда: Москва
Благодарил (а): 5 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение zoldaten » Пн сен 05, 2016 10:06 pm

xsash писал(а):Доброе!

Прочитал по диагонали топик, очень расстраивают последние сообщение про малинку с шумами на микрофоне. Как раз жду USB звуковую карту.
В наличие малинка + STELBERRY M-50 (шороха не было). Надеялся реализовать оффлайн распознавание команд...

У меня на микрофоне были шумы от блока питания (при экспериментах на десктопе), в итоге запитывал от кроны, Sas, может у Вас так же блок питания шумит?

А сегодня на хабре наткнулся на такую игрушку (не шибко бюджетно правда)
https://www.kickstarter.com/projects/se ... ce-to-hack

Еще один вариант - Дуся-Агрегат, но пока нет в доступе версии для инсталяции, уже более полугода идет закрытый альфатест

http://blog.dusi.mobi/2016/03/02/aggregate/

ваши мысли?
а он-лайн распознавание у вас получилось ? у меня chromegatemjd не видит синтезатора голоса. пробовал фестиваль как-то покрутить, но гугл его не видит. пытался сделать вот это https://pypi.python.org/pypi/SpeechRecognition/. но тоже сыпет ошибками (
Raspberry pi3 на X820 с собственного образа MJD, broadlink rm mini3, sonoff basic, самодельные погодные станции и wi-fi розетки на esp8266 esp-01.физический robot-дворецкий.
iapet
Сообщения: 289
Зарегистрирован: Вт авг 18, 2015 6:23 pm
Благодарил (а): 8 раз
Поблагодарили: 36 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение iapet » Пн сен 05, 2016 10:58 pm

zoldaten писал(а): а он-лайн распознавание у вас получилось ? у меня chromegatemjd не видит синтезатора голоса. пробовал фестиваль как-то покрутить, но гугл его не видит. пытался сделать вот это https://pypi.python.org/pypi/SpeechRecognition/. но тоже сыпет ошибками (
А при чем тут всё в кучу? Кони-люди? chromegatemjd использует гугл. И никаким боком не соотносится с распознованием самим МДМ. У веня динамик (железный) бубнит Ивоной, а отдельный комп по веб - гуглом.
xsash
Сообщения: 2
Зарегистрирован: Пн сен 05, 2016 8:56 am
Благодарил (а): 0
Поблагодарили: 0

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение xsash » Вт сен 06, 2016 10:38 am

zoldaten писал(а):а он-лайн распознавание у вас получилось ?
а зачем? меня интересует пока только локальное распознавание простых команд, в онлайн пойду, если качество окажется ниже плинтуса
zoldaten
Сообщения: 158
Зарегистрирован: Вт авг 23, 2016 3:08 pm
Откуда: Москва
Благодарил (а): 5 раз
Поблагодарили: 22 раза
Контактная информация:

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение zoldaten » Чт сен 08, 2016 11:04 am

iapet писал(а):
zoldaten писал(а): а он-лайн распознавание у вас получилось ? у меня chromegatemjd не видит синтезатора голоса. пробовал фестиваль как-то покрутить, но гугл его не видит. пытался сделать вот это https://pypi.python.org/pypi/SpeechRecognition/. но тоже сыпет ошибками (
А при чем тут всё в кучу? Кони-люди? chromegatemjd использует гугл. И никаким боком не соотносится с распознованием самим МДМ. У веня динамик (железный) бубнит Ивоной, а отдельный комп по веб - гуглом.
почему не соотносится ? как раз-таки mjdomo и отвечает, используя google приложение. посмотрите, я создал ветку - голосовое управление на raspberry pi 3. удалось настроить он-лайн распознавание, правда пока команд на английском.
Raspberry pi3 на X820 с собственного образа MJD, broadlink rm mini3, sonoff basic, самодельные погодные станции и wi-fi розетки на esp8266 esp-01.физический robot-дворецкий.
Sas
Сообщения: 207
Зарегистрирован: Вт июл 12, 2016 6:16 pm
Благодарил (а): 2 раза
Поблагодарили: 14 раз

Re: Оффлайн распознавание речи. PocketSphinx.

Сообщение Sas » Чт сен 08, 2016 10:59 pm

zoldaten писал(а): почему не соотносится ? как раз-таки mjdomo и отвечает, используя google приложение. посмотрите, я создал ветку - голосовое управление на raspberry pi 3. удалось настроить он-лайн распознавание, правда пока команд на английском.
Вы смешиваете теплое с мягким.
Ваше распознавание можно сделать на коленке за пару минут, а тут идет речь, о распознавании без гуглов и интернета.
Ответить