📌
Musikaでfineturningで好きな曲を学習させた結果
はじめに
今回は、好きな曲を教師データとしてfineturningを行いモデルを生成し、実際に曲を生成してみました。
fineturningと曲の生成にはmusika
を使用しています。musika
のセットアップ方法については以下で解説しています。
実行環境
環境
WSL2がセットアップされていることが前提です。
ホストOS: Windows11
WSL2: 5.10.16.3-microsoft-standard-WSL2(Ubuntu 20.04)
CPU: 11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz 2.30 GHz
GPU:NVIDIA GeForce RTX 3050 Ti Laptop GPU
musikaを使用したfineturningの実行方法
- wavファイルの準備
まずfineturningするための教師データを用意する。YouTubeの動画をwavファイルとして保存するために、yt-dlp
を使用します。以下でインストールできます。musikaの仮想環境を使用すると依存関係のエラーが発生するので、ホスト環境で実行しましょう。
pip install yt-dlp
インストールできたら、ダウンロードしたいYouTubeのURLを引数としてダウンロードします。おすすめはMrs.GreenAppleです。(ステマです。)
yt-dlp -x --audio-format mp3 https://www.youtube.com/watch?v=ZRtdQ81jPUQ
- encoding
教師データをダウンロードしたら、fineturningに対応している特長量へencodingしてあげます。wavファイルしか変換してくれなかったのでwavファイルで保存するようにしましょう。
cd musika
python musika_encode.py --files_path folder_of_audio_files --save_path folder_of_encodings --whole True
- 学習
教師データが準備できたら、あとは学習を実行させるだけです。CPUだと永遠に終わらないので、GPUがセットアップされている環境で実行しましょう。
cd musika
python musika_train.py --train_path folder_of_encodings --load_path checkpoints/misc --lr 0.00004
- 結果
以下のコマンドで、fineturningしたcheckpointを使用して曲を生成できます。
cd musika
python musika_generate.py --load_path checkpoints/MUSIKA_latlen_256_latdepth_64_sr_44100_time_20230522-105158_favorite/MUSIKA_iterations-9k_losses-1.208752-0.1366888-0.1154356 --num_samples 10 --seconds 120 --save_path generations
以下が生成した結果です。割といい感じに生成できています。
終わりに
今回はmusika
を使用して自分の好きな曲でfineturningして曲を生成してみました。今後は生成した曲をいろいろいじるために、midi形式で出力させたい、たまにはいる声が変な感じなので、メロディーだけを生成させることができるかを調べてみようと思います。
Discussion