私は Windows で pocketphinx_continuous を使用しています。テキスト ファイルへの出力のリダイレクトは、"-infile" 引数で機能しますが、"-inmic yes" で失敗します。
質問で述べたように、ポケットフィンクスは標準出力をフラッシュしますか? pocketphinx は stdout を無視します (少なくとも -inmic を使用する場合)。
「-inmic yes」を指定して pocketphinx_continuous で認識された単語をテキスト ファイルに保存する方法はありますか。
具体的には、Java プログラムで pocketphinx_continuous.exe を実行し、マイク入力から単語を認識させたいと考えています。
解決
Alexander Solovets が提案したように-backtrace
withを使用すると、結果がログと共に指定されたファイルに保存されます。-logfn
ただし、ログは、結果が端末に送信されるほど頻繁には保存されません。結果をできるだけ早くファイルに出力したかったので、次の変更を加えてソースから pocketphinx_continuous.exe をビルドしましたcontinous.c
。
連続した.c:
hyp = ps_get_hyp(ps, NULL );
if (hyp != NULL)
{
printf("%s\n", hyp);
FILE * fp;
fp = fopen("file.txt", "a+");
fprintf(fp, hyp);
fprintf(fp, "\r\n");
fclose(fp);
}