pocketsphinx_continuous аварийно завершает работу при чтении матриц вероятности перехода HMM

Я скомпилировал с помощью сообщества Visual Studio.

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

C:\path\to\pocketsphinx_continuous -infile C:\path\to\file.wav -hmm C:\path\to\en-us -kws_threshold 1e-40 -keyphrase "what I need to detect" -time yes

Мне сказали преобразовать файл следующим образом:

ffmpeg -i file.mp3 -ar 16000 -ac 1 file.wav

я так и сделал, но пробовал и без конвертации.

Когда я запускаю это, программа работает нормально, но затем происходит сбой здесь:

INFO: tmat.c(206): Reading HMM transition probability matrices: en-us/transition_matrices

При запуске с отладочной версией sphinxbase.dll появляется предупреждение, содержащее следующее:

Debug Assertion Failed!

Program: pocketsphinx_continuous.exe
File: minkernel\crts\ucrt\src\appcrt\lowio\read.cpp
Line: 387

Expression: _osfile(fh) & FOPEN

непосредственно перед аварией. Я пробовал все, что мог придумать, но, похоже, ничего не работает, поэтому любая помощь будет принята с благодарностью.


person Alex    schedule 02.10.2015    source источник
comment
Сбой, скорее всего, вызван несоответствием времени выполнения. Вероятно, когда вы загрузили проект, вы каким-то образом изменили среду выполнения или просто использовали другую среду выполнения для sphinxbase/pocketsphinx. Вы можете использовать предварительно скомпилированную версию, доступную на веб-сайте, если вы не можете скомпилировать ее самостоятельно.   -  person Nikolay Shmyrev    schedule 02.10.2015
comment
Спасибо за ответ. Вроде решил эту проблему. Я не совсем уверен, почему это было проблемой, особенно учитывая, что я сам скомпилировал sphinxbase и, по крайней мере, dll работает (иначе я бы предположил, что pocketsphinx рухнет). У меня есть еще один вопрос. Вывод pocketsphinx_continuous очень загадочен относительно времени произнесения фразы. Мне дают 3 десятичных числа рядом после фразы, которую я искал, но я не знаю, что они означают.   -  person Alex    schedule 04.10.2015
comment
время начала в секундах, время окончания в секундах и достоверность совпадения   -  person Nikolay Shmyrev    schedule 04.10.2015


Ответы (1)


Когда вы загружаете файл, в bin/Release находятся уже скомпилированные двоичные файлы. Используйте их вместо компиляции самостоятельно.

Спасибо Николаю Шмыреву

person Alex    schedule 05.10.2015