Я скомпилировал с помощью сообщества 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
непосредственно перед аварией. Я пробовал все, что мог придумать, но, похоже, ничего не работает, поэтому любая помощь будет принята с благодарностью.