2010-05-04 46 views
4

我正在尝试开发一个在线应用程序,用户在其中写入一些文本并将软件唱回给用户。如何使电脑唱歌

我目前可以使用espeak生成带有计算机语言的音频文件,但我不知道如何使它听起来像一首歌曲,如何给它添加节奏。

我可以使用橡皮筋来改变音高和速度,但这就像我已经得到的那样。

有没有人有线索如何做到这一点?

+0

它需要多好的声音? – 2010-05-04 01:01:52

+0

我没有具体的建议,但为什么不记录自己说的曲调,然后唱歌,然后用适当的音频软件比较录音中的差异。 (频率/波长等)。 – 2010-05-04 01:03:37

+0

如果你还没有,你可能想看看已经有什么:http://en.wikipedia.org/wiki/Vocaloid – kwatford 2010-05-04 01:22:55

回答

0

我已经结束了使用节日的歌唱模式。这听起来相当不错,除了它只适用于英语的声音。

+0

节日唱歌模式的文档在哪里? – 2012-08-21 22:36:29

+0

等一下,我找到一个例子:http://festvox.org/docs/manual-1.4.3/festival_29.html – 2012-08-21 22:38:40

0

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

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

鉴于此,您可以尝试将文本转换为SSML文档,并用pitch/duration和volume属性标记单词/音节/音素。

+0

哪个SSML引擎可以在该级别上处理? – 2010-06-07 12:23:45