4

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

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

我可以使用橡皮筋来改变音高和节奏,但这是我所能做到的。

有谁知道如何做到这一点?

4

2 回答 2

0

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

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

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

于 2010-05-04T01:14:55.920 回答
0

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

于 2010-06-02T17:33:23.403 回答