Espeakを使用してテキストファイルをmp3ファイルに変換したいと思います。これを行うことは可能ですか?私はespeakを使用して、テキストを曲に変換できる曲合成シェルスクリプトを作成しようとしています。
これを行うには2つの方法があります。 wav
ファイルだけが必要な場合は、最初の例を参照してください。mp3
変換については、2番目を参照してください。
1)-f
オプションを使用してテキストファイルにespeak
フィードし、--stdout
オプションを使用してデータストリームをファイルにリダイレクトし、正しく再生される有効なwav
ファイルを作成します任意のオーディオプレーヤー。
espeak -f mytext --stdout > myaudio
file
コマンド(file myaudio
)で確認した結果:
myaudio: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, mono 22050 Hz
2)mp3変換が必要な場合は、プログラムを使用してファイルを変換する必要があります(または単にaudacity
に保存してmp3としてエクスポートします)。 ffmpeg
(gitバージョン)を使用しましたが、任意のプログラムを使用してオプションを変更することができます。
espeak -f myfile --stdout | ffmpeg -i - -ar 44100 -ac 2 -ab 192k -f mp3 final.mp3
file final.mp3
で確認した結果:
final.mp3: Audio file with ID3 version 2.4.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, Stereo
私は実際にこれを達成するスクリプトを書きました...そして、それは非常にうまくいきました。
https://github.com/divVerent/ecantorix
例: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg
Espeakの--stdout
オプションは、オーディオデータをオーディオデバイスに送信する代わりにstdoutに書き込むように指示します。そこからパイプで接続できます適切な形式への変換のためのffmpeg。
espeakにwavに出力する-wオプションが追加されました
(その後はまだmp3に変換する必要があります。)
espeak -f foo.txt -w foo.wav