1

BSDでespeakを使用して、テキストを音声として出力しています。私の問題は、それを.mp3として受け取りたいのですが、運がほとんどないということです。出力をティーにパイプしてみましたが、サウンドを再生するだけでなく、stdoutでのみ機能すると思います。

何か案は?私の最後の手段は、ファイルを再生する代わりにファイルに保存できる独自のバージョンのespeakを再コンパイルすることです。

4

2 に答える 2

2

あなたはそれをwaveとして書き、それを次のように変換することができますffmpeg

espeak "HelloWorld" -w <file>.wav

またはパイプでffmpeg

espeak "HelloWorld" --stdout | ffmpeg -i pipe:0 output.mp3
于 2012-11-15T19:21:57.927 に答える
1

ドキュメントから:

-w<wavefile>
音声出力を話すのではなくWAV形式のファイルに書き込みます。

--stdout
音声出力を、話すのではなく、生成時にstdoutに書き込みます。データは、データのサンプルレートと形式を示すWAVファイルヘッダーで始まります。ヘッダーが生成されるときにデータの長さが不明であるため、長さフィールドはゼロに設定されます。

これらのオプションはどちらもWAVファイルを生成するように見えますが、ffmpegなどの別のプログラムがなくても簡単に変換できます。

于 2012-11-15T19:22:16.230 に答える