※他にも情報があればぜひ追加お願いします!
技術面について
<0> [前提]統計的音声合成のしくみ
統計的音声合成(CeVIOや今回のCeVIO AIなど)では、「元となる歌声の声質や歌い方をコンピュータに学習させた上で、そこに新たな楽譜を渡すと、元となる歌声の声質や歌い方で歌ってくれる」という仕組みになっています。
楽譜情報から歌声を出力するプロセスを、もう少し細かく見ると、次のようになっていることが多いです。
- この楽譜を歌ったら、どんな高さ・音色・息づかいなど(これらを音響特徴量といいます)の音が出るだろうか、それがどう変化していくだろうか、といった数値情報を、DNNなどを使って計算します。
- 上記1.の音響特徴量の数値情報をもとに、Vocoderというシステムを使って音声を生成します。
<1> CNNに基づく音声合成
音響特徴量の数値情報を計算するシステム(上記<0>の1.)の話です。
CeVIO(無印版)ではHMM(隠れマルコフモデル)を使っているのに対し、
本技術ではディープラーニング技術の一種であるDNN(ディープニューラルネットワーク)およびCNN(畳み込みニューラルネットワーク)を使っているようです。
近年、音声合成ではDNNがよく使われるようになっていますが、本技術はそこにCNNの技術も加えた点が特徴的です。
CNNは、画像認識などによく使われる手法です。(CNNの仕組みについては、例えば
この記事などが分かりやすいです。)
論文は?
どんな内容?
論文の概要(英語)をGoogle翻訳してから補足しました。
本論文では、畳み込みニューラルネットワーク(CNN)に基づく歌声合成について説明します。
(※これまでは、)ディープニューラルネットワーク(DNN)に基づく歌声合成システムが現在提案されており、合成された歌声の自然さを(※HMMなどの既存技術よりも)改善しています。これらのシステムでは、歌声から抽出された楽譜の特徴シーケンスと音響の特徴シーケンスの関係がDNNによってモデル化されます。そして、訓練されたDNNにより、フレーム単位で(=非常に短期的に)任意の楽譜の音響特徴列が出力され、(※それに加えて)パラメータ生成アルゴリズムを用いることで、歌声の自然な軌跡(※長期的な)が得られます。
(※しかし、)歌声には豊かな表現が含まれているため、正確にモデル化するための(※さらに)強力な手法が必要です。(※そこで、本論文で提案する)提案手法では、歌声の長期的な依存関係がCNNによってモデル化されます。音響特徴シーケンスは、長期フレームで構成されるセグメントの単位で生成され、パラメータ生成アルゴリズムなしで自然な軌道が取得されます。主観的なリスニングテストの実験結果は、提案されたアーキテクチャが自然な響きの歌声を合成できることを示しています。
つまり、以下のようなことのようです。
- HMM歌唱合成…音声の分析・合成を、粗めの時間単位で行う
- 従来のDNN歌唱合成(DNN+MLPG)…音声の分析・合成を、非常に細かい時間単位(0.02秒など)で行う →高精度になる
- DNN+CNN歌唱合成…音声の分析・合成を、非常に細かい時間単位で行うのに加えて、前後の音符数個分の関係性も考慮しながら行う →高精度になるほか、元となった歌手の特徴がよりはっきりと出る
他のDNN歌唱合成の例――Sinsy-DNN、NEUTRINO
ちなみに、DNNを使った歌唱合成システムとしては、たとえば以下のものが挙げられます。
<2> CNN音声合成の高速化
2019年9月発表の段階では、CNN音声合成の技術に、高速化(計算量削減)などの技術が加わりました。
論文は?
論文の概要(英語)をgoogle翻訳してから補足しました。
本論文では、畳み込みニューラルネットワーク(CNN)に基づく歌声合成について説明します。
ディープニューラルネットワーク(DNN)に基づく歌声合成システムが現在提案されており、合成された歌声の自然さを改善しています。歌声は表現の豊かな形態を表すため、正確にモデル化するための強力な手法が必要です。
(※本論文で提案する)提案手法では、歌声の長期的な依存関係がCNNによってモデル化されます。長期フレームで構成されるセグメントごとに音響特徴シーケンスが生成され、パラメータ生成アルゴリズムなしで自然な軌道が取得されます。さらに、楽譜の特徴の種類に応じて異なる時間単位でDNNを駆動する、計算の複雑さの削減手法が提案されています。実験結果は、提案した方法が従来の方法よりもはるかに速く自然な歌声を合成できることを示しました。
高速化のしくみは?
つまり、以下のようなことのようです。
- 従来のDNN歌唱合成 …DNN(FFNN)によりフレーム単位で(微細な時間ごとに)パラメータを生成 + パラメータ生成アルゴリズム(MLPG)によりフレーム間でパラメータをなめらかにつなげる
- DNN+CNN歌唱合成 …DNNによりフレーム単位で(微細な時間ごとに)パラメータを生成 + CNNにより近隣フレーム間との関係をもとにパラメータをなめらかにつなげる
- DNN+CNN歌唱合成(高速化) …DNNにより状態単位で(1つの音素を数個に分けた比較的大雑把な時間ごとに)パラメータを生成 + CNNにより近隣フレーム間との関係をもとにパラメータをなめらかにつなげる
歌唱では、声の高さや発音方法などのパラメータは、時間ごとに均一に変動するのではなく、たとえば「あー」などと長く伸ばす音素の中では、時間が長いわりにあまり大きく変動しないことが多いです。ですので、時間ごとではなく、音素ごとに一定数のポイントを取ってパラメータを生成すれば、効率よくそれっぽい歌い方のパラメータを合成できる、ということではないかと思います。
また、CNNを使う場合は、ポイントの取り方が粗くても、前後の音符の部分のパラメータを参照して、それっぽい歌い方のパラメータを補完できるので、このような効率化を行いやすいのでしょう。
どのくらい高速化できたの?
上記論文によれば、DNN+CNN歌唱合成(高速化)では、従来のDNN歌唱合成よりも少し品質が良いくらいで、従来のDNN歌唱合成のわずか20分の1程度の合成時間で合成することもできるようです(上記論文のCNN_Sの場合)。
なお、音声の品質を上げれば合成速度は遅くなり、品質を下げれば速くなる傾向があります。
製品化の際は、品質と速さを、ソフトとして使いやすいバランスになるように調整すると思われます。
<3> CNNから音声を合成するVocoderの改良・選択
音響特徴量の数値情報をもとに、音声を生成する段階(上記<0>の2.)の話です。
上記論文によると、本技術では、CNNで導き出された音声のパラメータから実際の音声を生成するために、Vocoderというシステムが必要です。
そのVocoderにも種類があり、「従来型のVocoder」のほかに、最近「WaveNet Vocoder」という技術が出てきています。
「従来型のVocoder」を使うと、品質はそこそこだが(グラフ2本目の「CNN+V」)、安定して速く生成できそうで、
「WaveNet Vocoder」を使うと、品質はさらに向上するが(グラフ4本目の「CNN+W」)、歌声合成への実装のためにはまだ解決すべき課題があるようです。
なお、上記の2018年12月のリリース・2019年4月のオリジナルアルバムでは、WaveNet Vocoderが使用されている一方で、
2019年10月の一般発表以降では従来型のVocoderが使用されていると思われます。
2020年2月の発表で、CeVIOと同様に一般ユーザーのパソコンで動くソフトになることが判明したため、お手頃な従来型Vocoder(またはそれと同等の速さの新型Vocoder)が使われることになりそうです。
- 論文発表の動画内で2018年で発表されたデモ音源にWaveNetを用いていると説明されています(動画 12:07~)。また、動画の最後にさとうささらと思われる音声によるデモ(MISIA - キスして抱きしめて)があります(動画 13:20~)。このデモではREAPERというDAWで動いており、従来のCeVIOソングエディターに似た譜面と、xmlファイルが映っています。
なお、CeVIO開発者は、Vocoderについても、よりよい方法を模索中のようです。
<4> 新しいニューラルボコーダ
上記で紹介されているWaveNetは自己回帰型(AR)と呼ばれる方法で音声を生成しています。WaveNetは非常に品質の高い音声を生成できる反面、並列に処理することができないため生成に時間がかかるという問題がありました。
これを改善するため、非自己回帰型(non-AR)と呼ばれるボコーダの開発が進められてきました。
本論文ではその中でも「Parallel WaveGAN」と呼ばれるボコーダをベースにした新しいボコーダとして、「PeriodNet」が提案されています。
「Parallel WaveGAN」の話声デモ紹介ページ(日本語もあります)
WaveNetとParallel WaveGANとの処理速度の差を比較した論文
リアルタイムニューラルボコーダにおける学習データ量の影響の調査によると、GPUにNVIDIA Tesla V100、CPUにIntel Xeon 6152(22コア44スレッド 2.10/3.70Ghz)を用いた環境でGPUに処理させた場合、WaveNetが1秒の生成に196秒かかるのに対して、Parallel WaveGANは0.02秒で処理することができると発表されています。
また、Parallel WaveGANを、CPU1コアを使用して処理させた場合は1秒の生成に2.38秒、16コアを使用した場合は0.41秒で処理できるようです。
CeVIO開発者陣の提案するPeriodNetは論文によると、ニューラルボコーダを歌声合成に用いる場合、ピッチやブレス音の再現精度が品質や自然さに大きく影響します。
そのため、音声波形に含まれる周期成分や非周期成分を分解する方法がいくつか提案されています。
しかし、音声波形を分解することは困難であり、分解誤差を含む分解波形をニューラルボコーダの学習データとして用いることは最適ではないとされているそうです。
この論文では正弦波とノイズ波を並列または直列に繋いだ2つのジェネレーターに入力するシステムが紹介されています。
また、このシステムでは学習データ範囲外の音程を含む波形の生成も可能となっています。
論文ではMOSと呼ばれるテスト法を用いて自然さを比較したところ、このシステムはWaveNetよりも高い点数を得ています。
結果、並列または直列モデルは音声波形を分解する技術を使わずに、周期的及び非周期的な波形をモデル化することができるそうです。
忠実度の高い音声波形を生成することができ,学習データの範囲外のピッチを持つ波形の生成能力を向上させることができたと論文では纏めています。
CeVIO Pro α版では「波形ジェネレータ」でニューラルボコーダである「Prototype A」を選択することが可能になっています。
Prototype A は、われわれがニューラルボコーダーと呼んでいるものであり、新たなるチャレンジとして位置付けているものです。AI技術で音声ボコーダーを学習したようなものとなっています。通常のボコーダー、つまり声を発生させる従来のシステムよりも、さらにいい音が出るけれど、処理に時間がかかるので、フリーズ機能とともに実装したのです。もっとも、理論的にはいい声になるはずなのですが、現状では良くなるところもあれば悪くなるところもある状態でして…(笑)。この辺も改善しつつ、みなさんに試してもらってレビューしてもらいながら、進化させられたら……と考えています。
https://www.dtmstation.com/archives/55148.html
ただし、「Prototype A」がPeriodNetと全く同じものではない可能性もあります。
最終更新:2022年05月31日 16:16