web-dev-qa-db-ja.com

espeakからmp3ファイルを生成

Espeakを使用してテキストファイルをmp3ファイルに変換したいと思います。これを行うことは可能ですか?私はespeakを使用して、テキストを曲に変換できる曲合成シェルスクリプトを作成しようとしています。

10
Anderson Green

これを行うには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
14
user76204

私は実際にこれを達成するスクリプトを書きました...そして、それは非常にうまくいきました。

https://github.com/divVerent/ecantorix

例: https://github.com/downloads/divVerent/ecantorix/sarastro.ogg

6
Rudolf Polzer

Espeakの--stdoutオプションは、オーディオデータをオーディオデバイスに送信する代わりにstdoutに書き込むように指示します。そこからパイプで接続できます適切な形式への変換のためのffmpeg。

espeakにwavに出力する-wオプションが追加されました
(その後はまだmp3に変換する必要があります。)

espeak -f foo.txt -w foo.wav
2
SamGoody