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

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

Модератор: immortal

Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Чт ноя 05, 2015 8:08 am

sleepy писал(а):сейчас работает переключение режимов на лм словом "алиса" обратно на ключ.поиск по слову "спасибо"
Значит ли это, что по слову "алиса" выполняется переключение в режим диалога (система начинает слушать и пытаться распознавать все знакомые слова) до тех пор, пока не произнесут слово "спасибо"?
Т.е. всё выглядит примерно так:
- Алиса
- Да? (начала слушать человека)
- Включи радио
- Хорошо
- Выключи свет
- Хорошо
- Сколько время?
- 10.09
- Спасибо
- Была рада помочь (начала ждать пока её опять позовут)
?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
sleepy
Сообщения: 24
Зарегистрирован: Чт июн 11, 2015 9:17 pm
Откуда: Ростов-на-Дону
Благодарил (а): 2 раза
Поблагодарили: 7 раз

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

Сообщение sleepy » Чт ноя 05, 2015 9:00 am

Amarok, именно так.

Но обязательно надо сказать спасибо!

p.s. выложил файл main_searchkey.py
при первом запуске должны добавиться настройки в setting.ini

upd:
ВНИМАНИЕ!! сделал этот режим только для выключенного gui!!!!
Позже перенесу и для включённого.
За это сообщение автора sleepy поблагодарил:
Amarok (Чт ноя 05, 2015 9:05 am)
Рейтинг: 1.16%
sleepy
Сообщения: 24
Зарегистрирован: Чт июн 11, 2015 9:17 pm
Откуда: Ростов-на-Дону
Благодарил (а): 2 раза
Поблагодарили: 7 раз

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

Сообщение sleepy » Пт ноя 06, 2015 9:13 am

допилил оболочку.
исправил ошибки и вынес в ини-файл настройку по режиму поиска ключевых слов.
файл со словами должен быть в анси кодировки и файлик со стоповыми словами (спасибо/забей) тоже должен быть в анси кодировке.
разгрёб гугл диск по папочкам.
в папке Архивы будут лежать архивированные модули.
в папке Файлы будут лежать распакованные (мало ли кому нужен будет только один файл, например main.py)
добавил небольшие "Прочти меня"
добавил скрип по созданию файлов dic.

нашёл ещё скрипты по проверке распознований, но ещё не разбирался как им пользоваться...там нужно wav-ки записывать и указывать в какой файле какие фразы, а потом скрипт подсчитывает % ошибок. Как разберусь досконально, то подготовлю и выложу с описанием.

в папке про создание lm есть описание как пользоваться srilm, и ссылка на он-лайн альтернативу. Пока что у меня не удалось сделать нормальный lm через srilm. Там похоже надо ещё настраивать параметры "сглаживаний", но в них разбираться это ппц.

p.s.
Никто не замечал, что покетсфинкс вначале после запуска в основном выдаёт пустоту, зато потом как будто сам набалтывает чувствительность и начинает выдавать ложные срабатывания?
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Пт дек 11, 2015 10:36 pm

А продолжение будет?
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
sleepy
Сообщения: 24
Зарегистрирован: Чт июн 11, 2015 9:17 pm
Откуда: Ростов-на-Дону
Благодарил (а): 2 раза
Поблагодарили: 7 раз

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

Сообщение sleepy » Ср дек 16, 2015 3:39 pm

Amarok писал(а):А продолжение будет?
Я пока отошёл от этого. У меня случился переезд :(
Буквально вчера только опять начал устанавливать мажордомо.
Остановился на проблеме, что фоновые звуки вызывают ложные срабатывания, даже когда вызов идёт через ключевое слово.
Есть мысль поменять ключевое слово на ключевую фразу (у гугла тоже фраза "окей гугл" и не короткая и редкая и нет шипящий).
А ещё мысль сделать включение микрофона по кнопке, например радио кнопке, которые можно навешать везде и себе пульт взять, ну и запустить в режиме "Команды" и по кнопке выключать посторонний звук в комнате и включать звук на микрофоне, но опять же...это кнопка. Хотя её можно сделать в виде браслета и туда же микрофон и тогда будет быстрый пульт на руке.

Но времени этим заниматься нет :(
Ну это как всегда.

Ну а вообще там уже всё есть.
2 режим:
Ключево слово -команда.
Команда.

Можно менять настройки в ини файле.

Ну а модели и тренировка это уже от оболочки не зависит, можно просто подбрасывать уже готовые модели и пробовать.
Аватара пользователя
Amarok
Сообщения: 1425
Зарегистрирован: Пт дек 14, 2012 12:24 pm
Откуда: Россия, Нижняя Тура
Благодарил (а): 460 раз
Поблагодарили: 126 раз
Контактная информация:

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

Сообщение Amarok » Ср дек 16, 2015 5:05 pm

Можно 100% рабочий архив? Скачать, распаковать и наслаждаться :)
Алиска живёт на Ubuntu Server 14.04.3 LTS
connect, группа в Telegram, Яндекс.Деньги для благодарностей за помощь: 41001355945165
sleepy
Сообщения: 24
Зарегистрирован: Чт июн 11, 2015 9:17 pm
Откуда: Ростов-на-Дону
Благодарил (а): 2 раза
Поблагодарили: 7 раз

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

Сообщение sleepy » Сб дек 19, 2015 11:59 am

Amarok писал(а):Можно 100% рабочий архив? Скачать, распаковать и наслаждаться :)
Одним архивом для винды лежит на гугл диске уже давненько и работающий. ссылка
Надо:
скачать
распаковать
зайти в ини-файл, проверить все настройки и пути
в ини-файле так же выбрать режим
ну а дальше запускать и мучаться)))
изменять словари
корректировать модели и т.д.
можно конечно скачать глобальную русскую модель, которая настроена на все слова, но толку от этого мало...

там очень много нюансов и есть не решённые проблемы, поэтому сделать это "дружественным для пользователя" сложновато.

пока что это только игрушка и не больше.
чтобы сделать из этого прям работающий проект надо много работать и вникать в нюансы распознавания.
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

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

Сообщение coolermister » Вт янв 12, 2016 9:37 pm

А продолжение будет?
Будет и для линукса) Работа движется, хоть и черепашьими шагами. Уже на java написал http сервер, который принимает от двух движков кастомные http пакеты...
Один ключевое слово слушает, второй речь.
А ложные срабатывание все еще есть... Какие бы костыли я не придумывал) Выкладывать пока не вижу смысла, тк до готовности далеко, установка и адаптация под другую систему займет часа пол чистого времени, и принесет огромное количество геморроя)
Сейчас тестирую систему типа как у sleppy.

Ориентировочно выглядит так:
-Кэролайн.
-Я. (после идет задержка на 2 с копейками секунды, что бы человек успел сказать команду, а второй движок успел распознать и отправить)
-Включи свет.
-Так точно, Мистер Джонсон (я использовал озвучку из игры portal 2)))

Николай на форуме sourceforge.net к сожалению меня упорно игнорирует..)
Еще опытным путем выяснил причину ошибки "Input overrun, read calls are too rare (non-fatal)". Если она у вас есть, как например у меня, ее никак не победить не заменив железо, можно только уменьшить частоту ее появления. Она появляется при недостаточной производительности процессора на один поток. (видимо с многопоточным программированием у pocketsphinx беда).
Аудиокарта непрерывно пишет в буфер, а процессор не успевает все обрабатывать до того, как буфер начнет перезаписываться. Если у кого то есть такая ошибка есть, пишите сюда, я подскажу что надо твикнуть в убунту для того что бы она так не мешала. Сейчас мне это описывать лень, тк там довольно много оптимизаций)
За это сообщение автора coolermister поблагодарили (всего 3):
Amarok (Ср янв 13, 2016 7:37 am) • ABola (Чт янв 14, 2016 4:13 pm) • webmax (Сб янв 16, 2016 6:38 pm)
Рейтинг: 3.49%
webmax
Сообщения: 3
Зарегистрирован: Сб янв 16, 2016 6:29 pm
Благодарил (а): 1 раз
Поблагодарили: 0

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

Сообщение webmax » Сб янв 16, 2016 6:33 pm

Подскажите, как решить такую проблему: добавил слово "Привет", затем если произношу это слово, то pocketsphinx определяет его нормально, но если сказать "ивет", "вет", "ет", то опять определяет слово "привет" :(
coolermister
Сообщения: 49
Зарегистрирован: Пт июл 31, 2015 9:23 am
Благодарил (а): 12 раз
Поблагодарили: 17 раз

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

Сообщение coolermister » Вс янв 17, 2016 2:39 am

webmax, у вас на windows или на linux majordomo\распознавание? Как добавляли, какая аккустическая модель, как составляли словарь, как составляли языковую модель или файл грамматики...) Опишите все)
Ответить