私はこれをしました:
me@riverbrain:~/sgf$ echo "test" | text2wave -otype raw -F 16000 >> test.raw
ヘッドレスオーディオファイルを生成します。このファイルの驚くべきことは、他の生のcat
オーディオファイル(テキストを使用するなど)と関連付けることができることです。
もちろん質問があります。問題はまだプレイできないことです。
me@riverbrain:~/sgf$ play test.raw
play FAIL formats: bad input format for file `test.raw': sampling rate was not specified
また、サンプリングレートを指定する場合
me@riverbrain:~/sgf$ play -r 16000 test.raw
play FAIL formats: bad input format for file `test.raw': data encoding was not specified
いくつかの「エンコード」情報を検索したとき、プロセッサアーキテクチャと多くの関連があると感じましたが、おそらく私が間違っている可能性があります。とにかく、生のオーディオファイルのデータエンコーディングが何であるかをコンピュータに「質問」する方法に関するドキュメントが見つかりません。サンプリングレートも私が直接設定して知っていますが、私が知ることができるのがこれです。
ベストアンサー1
さまざまですが、少なくとも私にはtext2waveが1チャンネル、16ビット、符号付き整数PCMを生成します。これらはすべてかなり正常であり、正しく使用すると非常に明確になります(例えば、符号なし整数を誤って使用すると音が非常に歪む)
これで遊ぶには:
play -r 16000 -b 16 -c 1 -e signed-integer /tmp/foo.raw
play -r 16000 -2 -s -c 1 /tmp/foo.raw # obsolete way for older versions of Sox
私はこれらのパラメータがFestivalのどこかに設定されていると思います。これらのいくつかはハードコーディングされるかもしれません。
アーキテクチャに関する唯一の問題はビッグエンディアンとリトルエンディアンです。私のリトルエンディアンシステムでは、フェスティバルはリトルエンディアンを作成しています。ファイルをビッグエンディアンシステムに移動する-L
。ビッグエンディアンシステムで実行している場合、text2wav
ビッグエンディアンデータを書き込むか、リトルエンディアンデータを書き込むかはわかりません。