如何让电脑唱歌

时间:2010-05-04 01:00:12

标签: linux audio voice rubber-band espeak

我正在尝试开发一个在线应用程序,用户可以在其中编写一些文本并将软件回复给用户。

我现在可以使用espeak生成带有计算机所说单词的音频文件,但我不知道如何让它听起来像是一首歌,如何为它添加节奏。

我可以使用橡皮筋来改变音高和速度,但就我所知的那样。

有没有人知道如何实现这一目标?

2 个答案:

答案 0 :(得分:0)

如果你想使用橡皮带改变持续时间和音高,那么我认为困难的部分是从文本中的音素/音节映射到语音合成输出中的相应音频范围,对此我没有简单的建议。 (理想情况下,你会进入语音合成器,这样它就可以为你提供从音素到音频位置的映射。)

更简单的替代方法可能是尝试语音合成器标记语言 - SSML。它有一个“音调”和“持续时间”元素,可以绝对指定以Hz为单位的音高和以秒为单位的持续时间。您还可以指定音量,以控制动态。

鉴于此,您可以尝试将文本转换为SSML文档,并使用音高/持续时间和音量属性标记单词/音节/音素。

答案 1 :(得分:0)

我最终使用了Festival的唱歌模式。听起来相当不错,除了它只适用于英语声音。