2010-01-02 36 views
1

我正在improving Festival on Emacs上工作。當它讀到一個句子時,我需要更好地控制節日。基本上,我需要兩件事:控制節日輸出

  1. 顯示正在讀取的單詞。
  2. 改變正在讀取的內容的速度(也許是間距)。

理想的情況下,將有由節一些輸出數據結構,將連接偏移/長度(通常是一個單詞的開始/長度)與輸出WAV文件(或甚至一個位置中一個的wav文件)。然後,我可以使用類似mplayer的東西來構建播放列表,並以某種方式告訴我何時正在播放下一個單詞以及該單詞在緩衝區中的位置。

我也希望有一些簡單的命令來改變正在閱讀的速度。但是,mplayer可以爲我做到這一點,所以如果我能夠獲得第一名工作,這並不是什麼大問題。

+0

你看了我的答案嗎? – 2010-01-07 06:05:47

+0

是的。看例子是一個好主意。我有計劃將整個緩衝區發送到節日,但更改節日過程,以便它可以逐字生成wav文件而不會丟失語調。然後,它可以打印正在說的單詞,Emacs可以協調並在每個單詞出現後移動光標。 – User1 2010-01-07 19:38:18

回答

1

查看手冊here,特別是關於「text2wave」腳本的部分。我不清楚這是一個單獨的可執行文件,還是隻是一個你必須調用的方案腳本。無論哪種情況,它看起來應該給你一些啓發,讓你知道如何做到這一點。在我看來,你可能會發送一個完整的緩衝區到這個命令,這將產生一個.wav文件,然後你可以通過mplayer進行控制。當然,這意味着你不知道當前正在播放哪個句子,所以你可以將每個句子輸出爲一個.wav文件,然後在mplayer中排隊(或重複調用mplayer)。如果text2wave是一個可執行文件,我不確定它在Windows上是否可用,但是您應該可以使用Festival的方案腳本來完成同樣的事情。

編輯:text2wave確實是一個腳本,但你應該可以很容易地修改它以調用節日與腳本作爲參數(路徑/到/節 - 腳本text2wave)。我不知道Windows的二進制文件是否包含這些內容,但是它應該可以從主節日網站或* nix發行版(它絕對在Ubuntu中)提供。

+0

我說的方案,但我相信所用的語言其實是lisp。對於emacs用戶應該是熟悉的:) – 2010-01-02 17:07:50