はじめに
音声の特徴を別人のものに変えることができる、RVCをMacで試した時の記録です。 今回はRVC-webuiと学習済みモデルを使って音声変換を試しました。
環境について
動作環境は以下になります。
- Model:MacBook Pro 2021
- SoC:M1 Pro (CPU:10C GPU 16C)
- RAM:16GB
- OS:MacOS Ventura
- Python:3.9.16
準備
pythonがインストールされていることが前提になります。
1.実行コードの準備
適当なディレクトリへ、以下のgitリポジトリからコードをクローンします。
緑色のCodeをクリックし、CloneのURLをコピーします。 ターミナルで任意のディレクトリに移動し、
git clone <コピーしたURL>
を実行します。
または、DownloadZipでコードを直接ダウンロードし展開します。
2.環境構築
ターミナルで実行コードのディレクトリに移動しwebui.shを実行します。
. ./webui.sh
または、webui.shをクリックして実行します。
シェルスクリプトの中でvenv仮装環境の構築が行われるので、pythonの環境が汚される心配はありません。
必要な学習済みモデルをダウンロードするため、ネットワークの接続状況によっては時間がかかります。
3.webUIの起動
初回のファイルダウンロードが完了するとwebUIにアクセスできるようになります。 ターミナルに以下のように出力されたら準備完了です。
warnings.warn(
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
http://127.0.0.1:7860
をcommandキーを押したままクリックすることでブラウザでwebUIを開くことができます。
以降は、同様の操作でwebui.shを実行することでwebUIへアクセスすることができます。
モデルの読み込み
RVCが認識できるようにモデルを配置していきます。 学習済みのモデルをRVCのファイルに以下のように配置します。
./models
┗/checkpoints
┣モデル.pth
┗/モデル_index
┣モデル.index
┗モデル.npy
Inferenceタブの右上にあるボタンでファイル関係の再読み込みを行います。
Modelをプルダウンリストから選択します。
SourceAudioのパスを設定します。 パスは絶対パスかwebuiをカレントディレクトリとした相対パスで指定します。
モデルの設定についてはAutoを選ぶことで自動で選択されます。
最後にInferボタンをクリックすると変換処理が開始されます。
動作
5分弱のwavファイルを変換した時のリソース使用量等は以下のような結果になりました。
- CPU使用率:60%
- メモリ使用量:14GB
- 変換時間:3分
MacBook本体が熱くなることや、ファンの回転数が上昇することなく変換処理が完了しました。 音声の変換だけであればMacでも十分に可能だと思います。
終わりに
モデル学習時のデータセット精度によりますが別人の声に変換されて出力されることが確認できました。 Macでも生成は十分に可能なことがわかりました。 モデルの学習をする場合は、速度や発熱が課題になると考えられますが試してみたいと思います。
また、RVC-WebUI関連のリポジトリをメンテナンスしている皆様に感謝いたします。