espeakからmp3ファイルを生成する


10

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


1
このページでは、mp3ファイルを(少なくとも部分的に)生成する方法について説明しています。npmjs.org
Anderson Green

そして、これはシェルスクリプトを使用してこれを行う方法の説明です:eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green

また、ラバーバンドと呼ばれるプログラムを使用してピッチシフトを行うことが可能です。
アンダーソン・グリーン

回答:


15

これには2つの方法があります。wavファイルだけが必要な場合は、最初の例をmp3参照してください。変換については、2番目の例を参照してください。

1)オプションespeakを使用してテキストファイルをフィードし、-fオプションを使用して、--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

6

私は実際にこれを達成するスクリプトを書いた...そしてそれは結局かなりうまくいった。

https://github.com/divVerent/ecantorix

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


1
それが今日聞いた中で最高か、それとも不気味なことかわかりません。よくできました。
オリ

これは質問への直接の返答ではありませんが、とにかく賛成に値するほどクレイジーです!
mivk 2013年

3

espeakには-wオプションがあり、wavに出力します
(後でmp3に変換する必要があります)。

espeak -f foo.txt -w foo.wav

2

--stdoutespeakのオプションは、オーディオデバイスを通してそれを置くのではなく、stdoutにオーディオデータを書き込むためにそれを教えてくれます。そこから、たとえばffmpegにパイプして、適切な形式に変換できます。


あなたが見つけたこの例を示すことができますか?
アンダーソングリーン

1
何も見つかりませんでした。私はプログラムがどのように機能するかを理解しています。
Ignacio Vazquez-Abrams

この質問もおそらく関連があります。stackoverflow.com
Anderson Green
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.