我想让节日 tts 读得慢一点,有人能帮我吗?我使用 python 2.7 并在 gnome-terminal 中运行代码。
4 回答
你~/.festivalrc
看起来像什么?要将节日与 ALSA 一起使用,我有:
(Parameter.set 'Audio_Method 'Audio_Command)
(Parameter.set 'Audio_Command "aplay -Dplug:default -f S16_LE -r 15000 $FILE")
使用 aplay,播放速率由-r
标志后面的值确定,您可以增加该值以使其说话更快,或降低以使其变慢。
如果您不使用 alsa,那么添加(Parameter.set 'Duration_Strech 1.5)
或类似可能会有所帮助。
如果您可以编写包装器,则可以使用 sable 和 RATE 标签。作为参考,这是我制作的一个示例项目: http ://www.cs.cmu.edu/~sralalaba/Audio_Rendering_of_STEM/
其中技术 2 具有速率变化。
或者,您可以使用 flite - Festival lite。虽然 Festival 旨在支持语音合成研究,但 flite 是实时实现的理想选择。自述文件有一个使用 flite 延长持续时间的示例:
./bin/flite --setf duration_stretch=1.5 文档/爱丽丝
希望能帮助到你。
考虑使用 Festival 实用程序text2wave
将音频写入文件,然后使用sox
速度和音高效果播放文件。要减慢音频速度,您需要一个小于 1 的速度值,并使用正的音高值来补偿音高的影响。
我有完全相同的问题和AFAIK,这是不可能的(我也希望是错的,所以请纠正我)。也不可能例如移动语音的频率范围。也就是说,无需修改语音文件(没有检查这个,因为它看起来比我想做的更多)。
就个人而言,我通过使用旧的 mbrola 声音和 espeak 解决了这个问题。我使用了一个python 包装器,用于从命令行调用 espeak,但也有一个有点旧的库。尽管语音质量低于 CMU 语音,但恕我直言,整体体验有时更好。