2010-05-04 32 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