2つの異なるAPI、関数AとBから引き出された2つの関数があるとします。
デフォルトでは、関数Aはオーディオデータをwavファイルに出力します。
デフォルトでは、関数Bはwavファイルからオーディオ入力を取得して処理します。
関数AからBにデータをストリーミングすることは可能ですか?もしそうなら、どうすればこれを行うことができますか?それが適切であれば、私はlubuntuに取り組んでいます。
これは私がPJSUApythonAPIから考えている関数Aです。
create_recorder(self、filename) WAVファイルレコーダーを作成します。
キーワード引数filename-WAVファイル名
戻り値:WAVレコーダーID
そしてこれはPocketsphinxPythonAPIの関数Bです
decode_raw(...)
ファイルから生のオーディオをデコードします。パラメータ:fh(ファイル)-オーディオを読み取るファイルハンドル。uttid(str)-この発話に与える識別子。maxsamps(int)-読み取るサンプルの最大数。指定しない場合または-1の場合、ファイルの残りの部分が読み取られます。
アップデート:
ソケットまたは名前付きパイプのファイル名を渡そうとすると、このエラーメッセージが出力されます。これは、Pythonバインディングが使用するC関数が.wavファイル以外のものを好まないようです...なぜでしょうか。
pjsua_aud.c .pjsua_recorder_create()エラー:/ tmp/t_fifoのファイル形式を判別できません。例外:オブジェクト:LIb、operation = create(recorder)、error = Option / operationはサポートされていません(PJ_ENOTSUP)
create_recorder()によって返される値を使用する必要があります。これは、wavレコーダーID(decode_raw()に直接渡されるのではなく、他の関数に渡される)を取得するために使用されるintです。