みず吉のプログラ日記

開発日記になる予定です。

AIきりたんに歌わせてみる

1. はじめに

歌わせたいメロディーがあるけどボーカロイドは有料だし...とお困りのMacユーザー向けに、東北きりたんや東北イタコの歌唱AIを使って歌わせる方法をご紹介します。Windowsユーザーはもっと簡単な方法がいくらでもあるのでぜひ調べてください。

今回使うNEUTRINOとは...

楽譜から発声タイミング・音の高さ・声質・声のかすれ具合などをニューラルネットワークで推定します。上記の推定されたパラメータを元にvocoderで音声を合成します。

つまり本当に人が歌っているかのようなリアルな歌い方で音源がつくられます。反面、「人間のように」歌うため、難解な曲は無理した感じになるのでご注意ください。(極端な早口・音程差や、休符なしでメロディが続くなど)

主な流れは、 「MuseScore」などのソフトで歌メロ(MIDIファイル等)を作成 → データを「MuseScore」などに読み込ませて音符に歌詞を付ける → 出来上がったデータを、MusicXML形式のファイルとしてエクスポートする → MusicXMLファイルを「NEUTRINO」に読み込ませる という感じです。

公式チュートリアルもあるので、応用っぽいことがしたい場合はそちらもぜひ参照してください。 https://n3utrino.work/category/tutorial/

2. NEUTRINOをインストールする

  1. 公式HPから飛べるこのGoogleドライブから [NEUTRINO-macOS] を選びダウンロードします。 https://drive.google.com/drive/folders/1cDicMle0z0y6zRLbQp3dD2kI-Zn21YHC

  2. 東北きりたんはNEUTRINOと同時に自動でインストールされますが、もし他の声を使いたい場合はここから好きな歌声ライブラリをインストールします。 https://n3utrino.work/#library

  3. ダウンロードしたzipファイルをダブルクリックして解凍します。

  4. NEUTRINOフォルダにある [Run.sh] をダブルクリックして実行してみましょう。

  5. 実行後、サンプルの音声ファイル(sample1_syn.wav)が [NEUTRINOフォルダ > outputフォルダ] 以下に出力されていれば正常に動作しています。

3. MusicXMLファイルを用意する

Neutrinoは [MusicXML] という譜面データを元に音声合成を行います。なので、歌わせるにはメロディーと歌詞を書いたMusicXMLファイルが必要です。メロディーを書く時にはMuseScoreという無料ソフトがシンプルで使いやすいと思います。用意してある場合は飛ばして 4.NEUTRINOで歌わせる にいきましょう!

MuseScoreの場合

  1. https://musescore.org/ja ここからダウンロードして起動します。
  2. 新規ファイル作成を選び、調号などをいい感じに選ぶと真っ白の楽譜が表示されます。 image.png

  3. いい感じにメロディーを打ち込みます。 image.png

  4. 音符が選択された状態でメニューの [追加 > テキスト > 歌詞] を選択して、メロディーの一音一音にひらがなで歌詞を割り当てます。このとき一音につきひらがな一文字にしておくと歌わせた時うまくいきやすいです。 image.png

  5. 曲のテンポを指定します。 image.png

  6. 完成したらメニューの [ファイル > エクスポート] から書き出します。 image.png

  7. 保存場所は [NEUTRINOフォルダ > scoreフォルダ > musicxmlフォルダ]の中、ファイルの形式は [非圧縮MusicXML] に設定しましょう! image.png

  8. 書き出しは完了!あと少しです!

4.NEUTRINOで歌わせる

  1. いよいよ歌わせます!最初にインストールしたNEUTRINOフォルダ内にある [Run.sh] というファイルをなにかしらのエディタなどで開きましょう。エディタがない場合はダブルクリックでも編集できます。 名称未設定.png

1.このファイルのテキスト内容を変更し、各種設定を行います。 まずは先ほど書き出しを行ったMusicXMLファイルを参照します。 「set BASENAME=」の後を作成したMusicXMLのファイル名に変更します。 注意点として、.musicxmlという拡張子は含まずファイル名のみを入力します。
Neutrinoには「きりたん」と「謡子」という2人の音声ライブラリ(歌手)が収録されています。 「: NEUTRINO」からはこの歌手の変更が行えます。

デフォルトの歌手は「きりたん」ですが、「set ModelDir=KIRITAN=」の後を「YOKO」に置き換えることで歌手を謡子へ切り替えることができます。

「set FormantShift=1.0」からは声の質感を変更でき、数値を上げると子供っぽく、下げると大人っぽい声色を作ることができます。 マニュアルでは「0.85-1.15」での設定がお勧めされています。

これらの設定が完了しましたら command + Sで保存しましょう。

image.png

  1. いよいよボーカルデータを生成します。まずは下のようなアイコンのターミナルを起動します。 image.png

  2. ターミナルで Run.sh がおいてあるNEUTRINOフォルダに移動します。フォルダのパスがわからない人はFinderのNEUTRINOフォルダをターミナルにドラッグ&ドロップするとわかります。 cd [フォルダのパス]で移動できます! 移動できたらこのように%または$マークの左側が NEUTRINO となっていると思います。 スクリーンショット 2021-07-21 13.13.20.png

  3. その状態でターミナルに sh Run.sh と入力してください。

  4. Run.shファイルが実行されます!実行が終わって end と表示されるまで待ちましょう。 image.png

  5. 完成したボーカル音源は、NEUTRINO > output 内にあります!聞いてみましょう!image.png