Страница 6 из 11
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Вс янв 17, 2016 12:57 pm
webmax
Значит, такс... :=)
Использую pocketsphinx.js (javascript) в web-приложении под windows.
Код: Выделить всё
var wordList = [["привет", "p rr i vv je t"], ['пока', 'p a k aa']];
var initRecognizer = function() {
postRecognizerJob({command: 'initialize', data: [["-dict", "ru/ru.dic"], ["-hmm", "ru_ptm"], ['-jsgf', 'ru/grammar.jsgf'], ['-keyphrase', 'дом'], ['-kws_threshold', '1e-30']]},
function() {
if (recorder) recorder.consumers = [recognizer];
feedWords(wordList);});
};
Аккустическая модель "zero_ru" (ru_ptm), словарь с того-же архива, а файл грамматики *.jsgf:
Код: Выделить всё
#JSGF V1.0;
grammar commands;
public <command> = <commands>+;
<commands> = привет | пока | дом;
Хотелось бы, чтоб сравнение фонем было с целым словом, а не его частью. Если я говорю слово "привет (p rr i vv je t)", мне выдает "привет", но если я говорю "вет (
vv je t)", то результатом не должно быть слово "привет (p rr i
vv je t)".
Может в конфигурации что-то подправить, там куча ключей, сложно в них разобраться, у вас опыта больше, надеюсь на помощь.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн янв 18, 2016 10:03 am
coolermister
Даже не знал что pocketsphinx есть на js)) Вы неправильно инициализируете движок. Инициализация должна проводится следующим образом:
1. Для режима поиска ключевого слова просто нужен параметр -keyphrase, и -kws_threshold. ни языковая модель, ни грамматика не нужны.
2. Для обычного режима работы, нужно подключать словарь, акустическую модель, и либо языковую модель, либо файл грамматики.
А вы инициализируете все сразу) Плюс, используйте не ptm, а cout модели, они намного точнее как по мне, хоть ptm модели и быстрее. И настоятельно рекомендую использовать языковую модель. Даже с моделью составленной онлайн, качество намного больше чем с грамматикой. Правильнее всего составлять через srilm, бинарники под винду выкладывал sleepy.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн янв 18, 2016 2:18 pm
webmax
coolermiser, насчет ключевого слова прочитал уже, исправил. Но мне надо для каждого слова в грамматике реализовать целевой поиск. Count также использовал, разницы никакой. Произношу просто "ет", а он мне слово "привет" выводит. Бывает и такое, и часто, что просто потресешь микрофоном, и распознается слово "пока", жесть!
Подозреваю что необходимо какие-то параметры в конфиге настроить. Николай что-то говорил про beam, wbeam, lbeam, wip и еще пара каких-то.
По поводу языковой модели, спс. Подключу из архива zero_ru (ru.lm). Сейчас через pocketsphinx_continuous работаю, грузиться быстрее.
Вообщем буду разбираться.

Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пн янв 18, 2016 6:02 pm
coolermister
Для целевого поиска нескольких слов нужно использовать режим ключевого слова. Вы должны составить словарь, и составить файл с нужными вам словами, где они буду записаны каждое с новой строки. Подключать файл ключем -kws /speech/keyphrase_file (скопировал со своей системы)). Еще раз повторюсь, что в этом случае никакая грамматика, и языковые модели в этом случае вам не нужны) И на будущее, никогда не подключайте стандартную языковую модель) Всегда лучше составьте свою, на заданное количество слов)
upd. и словарь тоже свой составьте, если этого не сделали. Все что составлено руками - повышает точность) Если что пишите сюда, я расскажу что и как составлять.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Вт янв 19, 2016 8:37 am
Amarok
coolermister писал(а):и словарь тоже свой составьте, если этого не сделали. Все что составлено руками - повышает точность) Если что пишите сюда, я расскажу что и как составлять.
\развесил уши, взял блокнот, записываю\
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Вт янв 19, 2016 2:59 pm
slgeo
coolermister писал(а):
Аудиокарта непрерывно пишет в буфер, а процессор не успевает все обрабатывать до того, как буфер начнет перезаписываться. Если у кого то есть такая ошибка есть, пишите сюда, я подскажу что надо твикнуть в убунту для того что бы она так не мешала. Сейчас мне это описывать лень, тк там довольно много оптимизаций)
Получается шансов мало, что оно заработает на малинке?
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Ср мар 02, 2016 8:22 pm
tarasfrompir
Вебмакс поделись наработками ато уже 3 недели ломлюсь туда же а кроме англицкого никак.
И заметил туже заразу по поводу неполного произношения слов.
Я не линуксоид и даже не програмист поєтому очень тяжело...
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Чт мар 31, 2016 3:26 pm
sergejey
Ребята, постучусь к вам в ветку с вопросом

Реально ли сделать на Raspberry комбинацию, аналогичную софту под Android, когда ключевую фразу распознаёт PocketSphinx, пикает какой-то звук, а дальше фраза записывается и распознаётся через Google API? С учётом новости про открытый доступ к последнему, выглядит весьма заманчиво.
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пт апр 01, 2016 8:43 am
coolermister
Приветствую Сергей) Это реально, и куда проще, чем идти моим путем, и ставить два движка сразу) Скоро, надеюсь, дойдут руки весь процесс описать здесь.
Но вот с малинкой проблема.. Скорее всего, у нее мощности не хватит.. Нужно что то мощнее, лично у меня сейчас распознавание тянет отдельная материнка, с athlon 64 x2 4600+.
Испытывал еще три разных конфигурации, все менее мощные, сыпались ошибки переполнения буфера и качество стремилось к нулю. Теперь полное оффлайн распознавание)
Единственное что, я не пробовал менять OC (у меня ubuntu server, но менял ядра, не помогло), вдруг на системе малинки не будет переполнения буфера?) Как я писал, делал и распознавание через гугл, если нужно могу элементарный скрипт на bash прислать, как раз сможете быстро разобраться как оно работает, если этим еще не занимались)
p.s. я слышал что гугл открывает api, но про речь.. что, у них больше нет ограничений по запросам в месяц?
Re: Оффлайн распознавание речи. PocketSphinx.
Добавлено: Пт апр 01, 2016 11:45 am
sergejey
coolermister писал(а):Как я писал, делал и распознавание через гугл, если нужно могу элементарный скрипт на bash прислать, как раз сможете быстро разобраться как оно работает, если этим еще не занимались)
p.s. я слышал что гугл открывает api, но про речь.. что, у них больше нет ограничений по запросам в месяц?
С ограничениями запросов я пока не разбирался -- возможно, для домашнего эпизодичного использования будет вполне достаточно. bash-скриптиком если поделитесь, то буду признателен ) На всякий случай более подробно распишу, чего хочу в итоге:
1. Возможность записи/настройки фразы активации. Идеально:
- Произнесите фразу активации после сигнала{блимк!}
- Проснись
- Спасибо, фраза записана
2. Типичная сессия:
- Проснись
- {блимк!}
- Выключи свет на кухне
- Ок, выключаю свет на кухне
Первый пункт опциональный, но желательный.