从espeak生成mp3文件


10

我想使用espeak将文本文件转换为mp3文件。是否有可能做到这一点?我正在尝试使用espeak创建可以将文本转换为歌曲的歌曲合成外壳脚本。


1
我认为此页面说明了如何(至少部分地)生成mp3文件:npmjs.org/package/espeak
Anderson Green,

以下是有关如何使用Shell脚本执行此操作的说明:eceppda.github.com/nerdterm/2011/11/23/ESPEAK.html
Anderson Green,

另外,也可以使用称为橡皮筋的程序进行音高转换。
安德森·格林

Answers:


15

有两种方法可以做到这一点;如果只需要wav文件,请参见第一个示例,有关mp3转换的信息请参见第二个示例。

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


3

espeak现在有一个-w选项,可以输出到wav
(此后仍需要将其转换为mp3。)

espeak -f foo.txt -w foo.wav

2

--stdout选项将espeak的告诉它写音频数据到标准输出,而不是把它通过音频设备。从那里,您可以将其传输到ffmpeg中,以转换为正确的格式。


您能否显示找到的任何示例?
安德森·格林

1
我还没找到 我只是了解程序是如何工作的。
伊格纳西奥·巴斯克斯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.