festival tts的语速可以改吗?

Can festival tts's speed of speech be changed?

我想让 festival tts 的阅读速度慢一点,谁能帮我解决这个问题? 我使用 python 2.7 并且 运行 gnome-terminal 中的代码。

我遇到了和AFAIK一模一样的问题,那是不可能的(我也希望是错误的,所以请指正)。这也是不可能的,例如改变声音的频率范围。也就是说,没有修改语音文件(没有检查这个,因为它看起来比我想做的更多)。

就个人而言,我通过使用旧的 mbrola 语音和 espeak 解决了这个问题。我用了一个python wrapper, used to invoke espeak from command line, but there is also a somehow old library。尽管语音质量低于 CMU 语音,但恕我直言,整体体验有时更好。

如果您愿意编写包装器,则可以使用 sable 和 RATE 标签。作为参考,这是我制作的示例项目: http://www.cs.cmu.edu/~srallaba/Audio_Rendering_of_STEM/

其中技术 2 有速率变化。

或者,您可以使用 flite - festival lite。虽然 festival 旨在支持语音合成研究,但 flite 是实时实现的理想选择。自述文件有一个使用 flite 拉伸持续时间的示例:

./bin/flite --setf duration_stretch=1.5 doc/alice

希望对您有所帮助。

考虑使用 Festival 实用程序 text2wave 将音频写入文件,然后使用具有速度和音调效果的 sox 播放文件。要减慢音频速度,您需要一个小于 1 的速度值,并用正值补偿对音高的影响。

你的 ~/.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) 或类似内容可能会有所帮助。