Russian

Flat
Проблема с pocketsphinx и русской базой
User: AlexStudent
Date: 12/9/2010 7:54 am
Views: 19143
Rating: 13

Подскажите, пожалуйста, новичку, что я сделал не так:

 

Я скачал последний релиз «pocketsphinx-0.6.1.tar.gz», библиотеку «sphinxbase-0.6.1.tar.gz», все собрал и запустил тестовый пример, который взял отсюда http://cmusphinx.sourceforge.net/wiki/tuturialpocketsphinx . Все отлично сработало на приложенных тестовых примерах английской речи.

 

            После этого, я скачал последний релиз «voxforge-ru-0.1.tar.gz» русской модели и в исходном коде заменил фрагмент:

 

#define MODELDIR "D:/Work/sphinx/pocketsphinxWork/pocketsphinx/model"

 

config = cmd_ln_init(NULL, ps_args(), TRUE,

                             "-hmm", MODELDIR "/hmm/en_US/hub4wsj_sc_8k",

                             "-lm", MODELDIR "/lm/en/turtle.DMP",

                             "-dict", MODELDIR "/lm/en/turtle.dic",

                             NULL);

 

определяющий, исходную модель английского  языка, фрагментом который грузит русскую модель:

 

config = cmd_ln_init(NULL, ps_args(), TRUE,

                     "-hmm","D:/voxforge-ru-0.1/model_parameters/msu_ru_nsh.cd_cont_1000_8gau_16000",

 

                     "-lm", "D:/voxforge-ru-0.1/etc/msu_ru_nsh.lm.dmp",                          "-dict","D:/voxforge-ru-0.1/etc/msu_ru_nsh.dic",          

                     "-fdict","D:/voxforge-ru-0.1/etc/msu_ru_nsh.filler",

                     "-samprate",   "16000",

                     NULL);

 

После чего подал на вход программы raw-файл с русской речью. Программа доработала до последнего блока эталонного тестового примера без сообщениях об ошибках, но при выполнении последней стадии

 

hyp = ps_get_hyp(ps, &score, &uttid);

 

выдала мне

 

ERROR: "ngram_search.c", line 1034: Couldn't find <s> in first frame и вывлиласи с указателем hyp=NULL.

 

Насколько я понимаю, в модели нет какой-то компоненты (файла). Моя гипотеза это параметр “-jsgf” в программе cmd_ln_init.

 

В связи с этим вопрос, что нужно еще указать в конфигурации (программе cmd_ln_init), и где это нужно взять (как построить), если речь идет о каких-то файлах.

 

Это главный вопрос. А второй вопрос (мелкий), при попытке распознать английскую речь (“ONE”,TWO”,”SEVEN”,”NINE” и т.д ) я получил очень плохое качество распознвания по срвнению с тестовым примером. Правильно ли я понимаю, что здесь не следуют ожидать хорошего качества распознавания, либо и для английского языка надо брать другую базу, чем ту которая входит в исходный пакет в качестве примера?

 

 

Re: Проблема с pocketsphinx и русской базой
User: nsh
Date: 12/9/2010 9:18 am
Views: 400
Rating: 17

> После этого, я скачал последний релиз «voxforge-ru-0.1.tar.gz» русской > модели и в исходном коде заменил фрагмент:

>ERROR: "ngram_search.c", line 1034: Couldn't find <s> in first frame и вывлиласи с указателем hyp=NULL.
> Насколько я понимаю, в модели нет какой-то компоненты (файла). Моя гипотеза это параметр “-jsgf” в программе cmd_ln_init.

Это ошибка в устаревшей версии модели. Скачайте последнюю версию 0.2:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/Voxforge%20Russian/voxforge-ru-0.2.tar.gz/download

Там же на форуме стоит задавать вопросы по pocketsphinx.

При этом нужно учитывать, что модель языка msu_ru_nsh.lm.dmp является тестовой и не предназначена для серьёзной работы. Акустическую модель можно использовать совместно с грамматикой в формате jsgf или со статистической моделью языка, созданной специально для узкой области. Подробности описаны в руководстве

http://cmusphinx.sourceforge.net/wiki/tutoriallm
 

> Это главный вопрос. А второй вопрос (мелкий), при попытке распознать  > английскую речь (“ONE”,TWO”,”SEVEN”,”NINE” и т.д ) я получил

> очень плохое качество распознвания по срвнению с тестовым

> примером. Правильно ли я понимаю, что здесь не следуют ожидать хорошего качества распознавания

Не правильно, качество распознавания должно быть выше 95%


> либо и для английского языка надо брать другую базу, чем ту которая >входит в исходный пакет в качестве примера?

Скорее всего причина в некорректном формате входного речевого файла.

Re: Проблема с pocketsphinx и русской базой
User: AlexStudent
Date: 12/10/2010 12:20 am
Views: 274
Rating: 15

Большое спасибо, сейчас я попробую

Re:
User: zamir
Date: 1/27/2011 2:14 pm
Views: 4822
Rating: 14

AlexStudent, попробуйте с этой моделью:

http://z1.prolink.ru/sphinx/live_decode_ru_zero.tar.gz

Если будете через микрофон проговаривать (онлайн) несколько раз фразу проговорите (видимо нужно для автотюнинга pocketsphinx)

Re: Проблема с pocketsphinx и русской базой
User: AlexStudent
Date: 12/10/2010 2:03 am
Views: 304
Rating: 17

Попробовал - с этой версией базы все работает.

Большое спасибо.

Но качество очень низкое. Звуковой raw файл "ДВА, ТРИ, ЧЕТЫРЕ, ПЯТЬ, ШЕСТЬ, СЕМЬ, ВОСЕМ, ДЕВЯТЬ, ДЕСЯТЬ, ОДИН" - она поняла как "Recognized: два три четыре без шесть всем восемьдесят десять один". 

Наверное у меня плохой микрофон и шум вокруг, но железка которую хотят сделать будет работать именно в таких условиях. Извините, но а что Вы думаете по поводу НТК и JULIUS. Что лучше взять за основу - pocketsphinx или эти системы. Стоит ли тратить время на НТК и JULIUS или лучше сразу остановится на pocketsphinx?

pocketsphinx
User: nsh
Date: 12/10/2010 10:27 am
Views: 596
Rating: 20

> Но качество очень низкое. Звуковой raw файл "ДВА, ТРИ, ЧЕТЫРЕ, ПЯТЬ, ШЕСТЬ, СЕМЬ, ВОСЕМ, ДЕВЯТЬ, ДЕСЯТЬ, ОДИН" - она поняла как "Recognized: два три четыре без шесть всем восемьдесят десять один".

О качестве распознавания нельзя судить по одному предложению, тем более, что ошибки распознавания присутствуют всегда. Особенно в конфигурациях с большим словарём. Там, где требуется высокое качество распознавания словарь обычно очень сильно ограничевается. Все эти моменты подробно описаны в документации для разработчиков, которую я советую прочесть от начала и до конца:

http://cmusphinx.sourceforge.net/wiki/tutorial

> Извините, но а что Вы думаете по поводу НТК и JULIUS. Что лучше взять за основу - pocketsphinx или эти системы. Стоит ли тратить время на НТК и JULIUS или лучше сразу остановится на pocketsphinx

В настоящее время имеется большое количество библиотек для распознавания речи, каждая из них обладает своими преимуществами и недостатками. Выбор библиотеки должен основываться на решаемой задаче, накладываемых ограничениях, возможностях и ресурсах. Недостаточная подробная постановка этого вопроса не позволяет дать на него аргументированный ответ.

 

PreviousNext