2011年8月22日 星期一

Paulliu開源虛擬歌手使用-緊急tutorial

昨天中研院舉辦的在COSCUP 2011開放原碼研討會上,Paul Liu發表了開源的類Vocaloid虛擬歌手引擎Efb-gw與wavetool-pl,Efb-gw是日本立命館大學森勢将雅先生寫的(其專案頁),使用他開發的patent free又強大的world演算法,合成品質比Utau更好,不過Paul Liu表示該source code不會動orz,他把它
porting to Linux
Patch for Utau
而且做了改良,不只可以讀單獨音,還可以讀連續音(使得唱歌更真實),此外他還自己重寫了必要的wavetool(重寫的緣由在此),加上下載來的編輯前端介面Cadencii,昨天上午11:45進行了成果發表,小弟有幸當其助手,現場做動態示範以及實際加工混音成最終完成品的音樂-敝人自己寫的歌-女海神林默娘現場展示版(此版授權CC-BY MGdesigner 可下載也可線上撥),裡面除對照的初音以外,主唱是使用Utau重音音源的Efb-gw輸出的,然後也有原來全部初音唱的版本可以對照,sry,昨天麥克風忘了關,發生回溯,一度重低音爆炸,在此致歉orz

昨天的迴響相當的熱烈,事後看irc log,已經有很多朋友躍躍欲試,不過遇到不少問題,身為首席測試者(不過就第一個測試的咩XD)小弟來分享一下怎麼讓這些程式跑起來。

首先先看古墓的網誌介紹 (不過裡面有些錯誤,請看我這篇修正 )

Cadencii的部份,關於有wine的部份是為了控制 vocaloid2的,因為Cadencii原始設計目的是為了取代難用的YAMAHA官方的編輯器,不過我們是要用開源的引擎,下載好的檔案解開來看到有跟wine有關的東西不用管他,只要有java -jar Cadencii來啟動就好,而JVM請用Sun的JDK,Openjdk目前跑這個程式會有視窗元件重繪效率以及半即時發音的問題,此外Cdencii的編譯,請留意Paulliu在古墓網誌上的回應

efb-gw的部份,請用Paul Liu改寫過的,官方版的source不能動,順便補充說明,Paul有送patch給 森勢先生,下一版官方的原碼將以paul版的為基礎繼續發展 。

wavtool-pl部份則是Paul自己重寫的,不是改寫,因為wavtool沒有source,Paul只好自己做一個

再來我用圖文說明一下怎麼兜起來用,我假設編譯的部份,在看這篇文章的你會用./configure;make,編譯上的相依性也知道缺啥,就會自己在套件庫Synaptic一下找出缺的dev套件裝起來。


首先java -jar cadenncii.jar
然後進選單setting-preference,首先這個tab
這樣選,不過我們不是用真的Utau就是了

然後按platform分頁,我們要指定wavtool與resampler程式的路徑,然後切記,那個不能打勾真的不可以打勾..
wavtool要指定到paul大寫的Linux原生wavtool-pl
resampler則是指定efb-gw,很囧的是執行檔名稱很好笑XD
官方版的efb-gw0.0.4還只是一個lib,也跑不起來,paul大概想不出來執行檔該叫啥名,所以就暫時test吧XD


然後operation分頁的部份,roman letter to kanji一定要勾,畢竟很多人不會輸入日文假名

然後我們要借用一個utau的音源,這邊我是用重音,
把重音下載下來解壓縮,一定會發現有檔名亂碼的問題,解法如下:

安裝zlib-bin套件,然後運用裡面的miniunzip來解壓縮重音,然後下 convmv -f sjis -t utf-8 -r ?d* --notest
,這樣會把重音的亂碼目錄轉成正確的檔名顯示
然後回到Cadencii的設定,UTAU Singers的分頁要去add重音進來

比較簡單的作法,先選單獨音(連續音比較複雜,我還要等paul教我XD),然後找到oto.ini檔選她

選好以後會看到這樣:


好了以後呢,請下載我的utau格式 Helloworld檔 (就昨天動態示範大家聽到的那個「黯_羊」)開啟之,正確會看到這樣,左下角必須出現的是重音,然後按下 play,會先看到render進度,然後譜開始跑起來,聽到聲音那就成功了。然後在音符上左鍵雙按可以改發音..然後讀vsq的話,切記一點,任何vsq的日語的羅馬拼音都必須改成一個一個重新輸入,以之前打勾的自動轉換功能變成假名,不然Cadencii的標準輸出會看到發生例外的錯誤訊息
utau Helloworld檔
而左下角沒有出現虛擬歌手名字的話,上面選單的track-renderer必須把utau打勾才會出現歌手名字

ps.由於Cadencii本來是在windows上用C#寫出來的,是有人為了移植到Mac上改用java跑,所以用了轉換器,把C#硬轉成 java,所以裡面有很多ugly的東西,加上我們在Linux上跑,更buggy,例如說設定檔的部份似乎是用無法跨平台的寫法,所以Mac上正常,Linux上,每次程式啟動都會忘記上次的設定@@所以上述設定動作每次啟動都要重來一次 orz

還有元件重繪有時莫名奇妙凍結的問題等等,我自己以前玩java的,我最近會來trace這些問題,試著解決看看。

此外重音將就用就是了,然後徵求CC-BY羅莉女聲優阿!有興趣請連絡 Paul Liu,有酬勞的:)




沒有留言:

count