📌

Musikaでfineturningで好きな曲を学習させた結果

2023/05/22に公開

はじめに

今回は、好きな曲を教師データとしてfineturningを行いモデルを生成し、実際に曲を生成してみました。
fineturningと曲の生成にはmusikaを使用しています。musikaのセットアップ方法については以下で解説しています。
https://zenn.dev/ihpolyphe/articles/4c195a6fa343d7

実行環境

環境
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の実行方法

  1. 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
  1. encoding
    教師データをダウンロードしたら、fineturningに対応している特長量へencodingしてあげます。wavファイルしか変換してくれなかったのでwavファイルで保存するようにしましょう。
cd musika
python musika_encode.py --files_path folder_of_audio_files --save_path folder_of_encodings --whole True
  1. 学習
    教師データが準備できたら、あとは学習を実行させるだけです。CPUだと永遠に終わらないので、GPUがセットアップされている環境で実行しましょう。
cd musika
python musika_train.py --train_path folder_of_encodings --load_path checkpoints/misc --lr 0.00004
  1. 結果
    以下のコマンドで、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

以下が生成した結果です。割といい感じに生成できています。
https://www.youtube.com/watch?v=5DboYj0EmcI

終わりに

今回はmusikaを使用して自分の好きな曲でfineturningして曲を生成してみました。今後は生成した曲をいろいろいじるために、midi形式で出力させたい、たまにはいる声が変な感じなので、メロディーだけを生成させることができるかを調べてみようと思います。

GitHubで編集を提案

Discussion