2012-11-15 88 views
1

我在BSD上使用espeak将声音文本输出。我的问题是,我希望它把它作为一个.mp3,但我有一点运气。我试着将输出管道连接到T恤,但我想这只适用于标准输出而不只是播放声音。将应用程序的输出写入声音文件

任何想法?我不得已将重新编译自己espeak的版本,让我保存到一个文件,而不是打它

回答

2

,你可以把它写为波,然后用ffmpeg将其转换:

espeak "HelloWorld" -w <file>.wav 

或者管ffmpeg

espeak "HelloWorld" --stdout | ffmpeg -i pipe:0 output.mp3 
1

the documentation

-w <波形文件>
将语音输出写入WAV格式的文件,而不是说出来。

- 标准输出
将语音输出写入到标准输出中,而不是发出它。数据以WAV文件头开头,表示数据的采样率和格式。长度字段设置为零,因为在生成标题时数据的长度未知。

看起来这两方面的选择产生WAV文件,但是你可以很容易地转换那些没有像ffmpeg的其他程序。