音関係に疎い人間がNEUTRINO(AIきりたん)を使って歌を作る記事の第3弾。
NEUTRINOでNSF法を使った音声合成ができるとのことで試してみます。
NSF法はニューラルソースフィルタモデルを使った手法で高速に高品質な音声を合成できる方法みたいです。理屈はともかく早速試そう。
最終的な聞き比べは最後にあります。
オンライン版の使用について
現在はNSF法の部分をWindowsで動かせないとか何とかでオンライン版を使う必要があるようです。
公式の解説ページを元に進めていきます。
まずはここからオンライン版をダウンロード。
中身を解凍したらそのままGoogle Driveにアップロード。
容量は1GB、保存の容量はデフォルトで15GBあるので大丈夫だとは思いますが、足りなければ追加購入したり別アカウント使ったり。
Colaboratoryのインストール
Google Driveにアプリを追加します。
フォルダ内で右クリックから「その他」→「アプリを追加」。

Colaboratoryというアプリを探してインストールします。

ブラウザでPythonを動かせるGoogleアプリで評価も非常に高いです※。
※日本語のレビューはいつも通りひどい難癖であふれています。なんだかなぁ。
フォルダ内のNEUTRINO.ipynbを右クリックからアプリを実行。

ファイルを開くと説明とコードが書かれたページが開きます。

準備はここまで。処理を行っていきます。
Colaboratoryの実行
コードを選択すると左に実行アイコンがつくので上から実行していきます。

最初は認証コードを求められるのでリンクから認証を済ませる。

順々に実行していきますが、ファイルパスやファイル名はちゃんと指定する。
例えば直下にフォルダを配置したなら以下の変更が必要。
|
1 2 3 4 |
%cd drive/Colab\ Notebooks/My\ Drive/NEUTRINO/ ↓ %cd drive/My\ Drive/NEUTRINO/ |
4まで実行するとoutputにWORLD合成とNSF合成のwavが出来てます。

必要なファイルについて
オンラインは結構時間がかかるのでNSF法以外を先に済ませることを考えます。
ローカルでNEUTRINOまで実行する場合には必要になるファイルに気を付ける必要があるのでファイル群の整理をしておきます。
READMEを見た感じNEUTRINOのファイル群はこんな感じ。

NSFではModelDirとfull、timingのlabを追加指定しているので多分こんな感じ。

ごちゃついて見えますがscore/labelとoutputの内の成果物を入れるだけです。
実践と比較
前回つくったさくらさくらを使ってみます。
ちなみにmusicxmlを日本語名にしていたらNSF合成だけエラーになりました。
分かってはいるけど日本語は問題起こしやすい。
WORLD NSF
んん?ちょっと不自然な個所が減った?
声そのものが良くなっても音そのものに不自然さがあればダメなんだろうか。
ところでサンプルや今回のでNSFのwav容量が半分くらいになるのは偶然?
今回みたいにツールとかコードとかならいくらでも試すので、何とか音を直接いじらずにもっと良い歌にならないかな。