VOCALOID:AI (UPF-MTG NPSS)雜感

要講VOCALOID:AI,最快的可能是看Jordi Bonada老師的講座。
https://www.youtube.com/watch?v=ie5CJW8DeaY

這是他在2017年11月在ircam (法國國立音響音樂研究所) 的講座。
我只是抓下來扔給youtube下字幕,所以這個字幕也有一些小錯誤。

https://mtg.github.io/singing-synthesis-demos/
引擎本身,早期與中期的demo曲
NPSS的字面意義是「神經參數歌聲合成」,顧名思義實做細節類神經網路有關

https://arxiv.org/abs/1704.03809
A Neural Parametric Singing Synthesizer

https://mtg.github.io/singing-synthesis-demos/voice-cloning/
這次主要被拿出來討論的歌聲複製

NPSS在2016年wavenet發表後引發的一波熱潮的產物之一,由於wavenet發揮出了可以打平甚至超越拼接合成的品質,當時的語音/歌聲領域有很多跟進嘗試wavenet應用的單位。MTG的NPSS發表於2017年8月斯德哥爾摩舉辦的interspeech 2017,第一篇論文闡明了這個引擎的設計方向:
回歸機率模型的基本假定:所有時間標記的總連結機率可以描述為任意每個點時間條件機率的積。
這代表的是每個點得到的機率輸出可以得到預期的結果(=歌聲),而點的內容就是樣本數(sample),這個會比VOCODER以frame為單位,並且假定frame中的波型為直線,密度要高了很多。這也是提高音質的潛力比較高的原因。

反之,完全以sample為單位的話運算複雜度當然是高了許多,所以NPSS學習但不考慮使用wavenet原始的模式,因為需求的資料量太大,仍採用VOCODER(使用的是開源的WORLD)分析方式分離音色與音高,將學習問題簡化,適當設計之下應該可以達到vocoder架構的品質上限。
之後第三篇論文歌聲複製的內容中,VOCALOID:AI其實仍然在這個引擎後頭再加入了另一個架構的WaveNet Vocoder,不過那是另外一個故事了。
NPSS第一篇論文的內容使用的是對VOCALOID引擎輸入自然歌聲,已經得到了比IS16(MTG的內部引擎,基本上是VOCALOID引擎加上一些YAMAHA未採用的option技術)更好的結果;第二篇論文則開始使用歌聲輸入。*:這邊的「更好的結果」指的是無調。可調整範圍與可調整參數未考慮在內。

使用歌聲輸入的時候約使用30分鐘左右,或者30首歌,每首歌以樂句為單位輸入,同時有樂譜、發音時機、與波型。所以輸入波型需要人工描述樂譜與實際發音時機,這個是主要的作業cost。(與原始VOCALOID需要輸入發音時機類似)

WORLD以5ms窗、32khz的標準輸入波型,解出F0、週期指標與非週期指標之後
上述各種資料分配為
[樂譜]與[發音時機]輸入到[發音時機模型]
[發音時機]與[F0]輸入到[音高模型]
[發音時機]、[F0]、[週期成份]、[非週期成份]輸入到[音色模型]。
合成的時候則對三個模型各自輸入樂譜、發音內容(歌詞),得到預測發音時機
發音時機模型對音高模型與音色模型給出發音時機,從音高模型得到F0,再輸入到音色模型,得到有無聲間隔資訊(V/UV),週期與非周期成份,然後F0+V/UV得到整個pitch線,全部輸回去給WORLD合成。

重點:
1. 三個模型分別預測WORLD合成時需要的資訊
2. 這三個模型訓練是分開的,但是合成時則有循序相依性
3. 各個模型的最終輸出是(4組)高斯機率分佈,然後從高斯機率分佈合成與取樣得到實際WORLD需要的特徵點。
透過這些假定來做簡化(高斯函數段會捨棄較小的變數),基本上大幅度降低了運算量但是保留了與原始Wavenet相近的變化量覆蓋範圍,從而得到「用CPU合成」可以達成「約即時的20倍速」,這與原始VOCALOID的速度相去不遠,相較於正規的Wavenet應用而言非常適合在一般PC上佈署;缺點與HTS(cevio)類似,則有時候不會得到想要的音高。

關於資料輸入覆蓋率,30首一分鐘左右的歌甚至比Sinsy-HMM/DNN少了一半以上,當然不足以覆蓋足夠的音高與發音量,所以這邊又有兩個假定做了case簡化:

1. 音高曲線與音符的絕對音高是彼此不相依的
這代表的是不論低音與高音都會得到類似的音高曲線表現,而這與本人的能力範圍自然是不會相符

2. 局部音高變化與發音內容高度相依
主音高模型大幅忽略這部份,而放在發音時機模型端,這會造成一些發音很類似,而喪失某些本人的特徵

另外,在學習的時候會將輸入資料亂數地做pitch shifting,並且會將母音代換掉,來增加數據,造成原有的歌詞也會變成無義詞。這邊有點猜的感覺,畢竟機械學習有它踹踹看的性質。
後面的性能比較其實可以看出很多事情:CeVIO基本上就是Sinsy+小修改與GUI,所以Sinsy model其實可以塞到CeVIO上。

IS16(VOCALOID)塞了Sinsy F070的普通歌唱進去還能用這點其實還蠻讓人驚訝的(類似UTAU手工塞歌唱音源),但是單元選擇沒辦法很好地應用普通歌唱,當然就沒有很好的結果。

然後Sinsy HMM/DNN用的是全部F707的70首歌(沒有全部公開),NPSS只用了30首歌,但是輸出的細節整個輸NPSS一大截,所以學習效率來說NPSS已經好非常多。

由於NPSS會紀錄連續音高,但是Sinsy-HMM/DNN紀錄的是音符前後的音高,所以會變成平直而少紀錄到歌手的音高特徵,但是NPSS也因為上述的省略假定而捨棄了歌手更細部的變化。於是MOS(主觀測試)結果來說基本上就是海電。

最後回到歌聲複製論文上。

https://arxiv.org/abs/1902.07292
Data Efficient Voice Cloning for Neural Singing Synthesis

從統計歌聲合成開始,資料運用靈活性上比拼接合成好的點就經常地被拿出來比較。作為市面上最成功的歌聲合成器設計單位,MTG提出NPSS自然要對後來居上的部份做一點展示;但是裡面最重要的除了詳述多人歌聲模型之外,另一個重點其實是提及了自家WaveNet Vocoder的存在。

為了超越傳統Vocoder帶來的上限,在合成端將WORLD代換成WaveNet Vocoder。這裡面當然出現了先前提及WaveNet需要大量數據的問題,以及Voice Cloning本身目標是盡可能用較少的資料推斷出本人歌聲,那麼導入大量數據這個手法是否真的合乎效率?MTG參考了下面兩篇論文(by Google & Amazon),在WaveNet Vocoder訓練過程中導入了「vocoder特徵點對波型的universal mapping」手法。簡化掉了各種人手標記(文字、並列性、發話者身份標記等等)額外成本的必須性,讓追加語音的成本大幅降低。

https://arxiv.org/abs/1806.04558
Transfer Learning from Speaker Verification to Multispeaker Text-To-Speech Synthesis
(修改了Tacotron2 的WaveNet Vocoder)

https://arxiv.org/abs/1811.06292
Towards achieving robust universal neural vocoding
(universal mapping)

也就是說除了多人歌聲模型中導入的人數之外,其實在WaveNet Vocoder端可能有更多人數的語音資訊導入,用以提昇歌聲品質。可以完全把後端這個WaveNet Vocoder當成一個品質提昇工具,補足了傳統Vocoder被迫透過假定簡化降低的品質。(*:論文並沒有敘述這個WaveNet Vocoder需要的運算量與輸出性能)

根據NPSS這個高效率歌聲複製論文所述,日文多人資料庫有35名歌手(8男27女),總資料量約80首樂句,共3個音高,平均每個歌手的錄音長度總和為15分鐘以內。英文多人資料庫有13個人(8男5女),總資料量524樂句,平均總長32分鐘半。兩個總和都是約8小時。對這些多人資料庫輸入較少的2~3首歌進行音色預測,就可以得到相當接近本人實際歌聲的效果,並且最終MTG希望達成對音色與音樂表現的適當預測。並且預期這個架構的方向會遠離傳統TTS並且達成一個完整的端到端系統。

結論
從作為雛型的NPSS論文可以看得出來,VOCALOID:AI 與既有VOCALOID從設計目標開始就有著極大的差異。這一系列論文中嘗試過了將較為複雜的歌聲收錄資訊放入傳統單元選擇拼接合成系統中,得到的結果以其評價標準來說並不好,其實可以預期將傳統系統聲庫放入這個新系統,也不會得到很好的效果,甚至很可能會變差。

VOCALOID:AI更適合用於傳統歌手的收錄與重現,與現有的VOCALOID適合聲優收錄的特性有著很大的不同,基本上幾乎就是只有商標一樣了。

看到YAMAHA兩年(from 2017)來都在做這個東西,也難怪根據發表演講所提及,Crypton也從兩年前開始決定必須要自製引擎。雖然細節並不清楚,可以預期是延續VOCALOID現有引擎的功能路線與特徵,並對自家需求進行強化。

先前在別處也說過,「在變的是YAMAHA,不是Crypton;Crypton才是在努力延續現有VOCALOID與現有生態系的那一方」,看這篇敘述到此,應該可以稍微體會到這一點。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料