【ddPn08版】日本人のためのRVC WebUIの使い方 – AIボイスチェンジャー入門

 

Contents - 目次(もくじ)

【動画で解説】現代の魔法:RVC WebUIの使い方
– だだっこぱんだ🍞さん版のAIボイスチェンジャーを使おう
RVC WebUI(ddPn08 edition)- AI Voice Changer Tutorial

 

 

【ddPn08版】RVC WebUIの使い方入門:オリジナルAIボイスチェンジャーを作ろう

視聴時間:27分32秒

文字情報だけではわかりにくい場合に、だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIを導入前に解説動画をご活用いただけますと幸いです。

 




 

【更新状況:だだっこぱんだ🍞さん版RVC WebUI】

– 2023年5月23日 –
RVC公式の事前学習済みモデルのバージョン2(RVC v2モデル)に対応開始。

公開直後に確認時点では、いくつか注意点もありそうでしたので動画でまとめておきました。

【RVC v2モデル対応編】だだっこぱんださん版 - RVC WebUIの注意点解説RVC v2 model supported ddPn08 Edition AI Voice Change

【RVC v2モデル対応編】だだっこぱんださん版 – RVC WebUIの注意点解説RVC v2 model supported ddPn08 Edition AI Voice Change by RehabC – デジタルで、遊ぶ。(YouTube動画)
8分程度の動画ですので事前に確認いただくと、困らないのではないかと思います。

上記の動画では、

・注意点①:データセットのパスの設定方法
・注意点②:RVC v2設定時に気をつけること
・注意点③:2度目の学習について

→ 2023年6月8日時点で、2度目の学習のエラー「RuntimeError(“trying to initialize the default process group ” “twice!”)」に対して、開発者の方によりコードの修正が行われる準備が整いつつあるようでした。(確認時点では、コードは未修正)
→ 2023年6月9日時点でコード修正済みのようでした。
→2023年6月15日時点でコードを実行してみたところ、RVC WebUIを1度起動させてから何度学習してもエラーは出なくなっていました。

について注意点と対応例の手順をまとめておきました。

 

– 2023年6月1日 –
機能の追加。

・学習時のデータオーグメンテーション機能
・k-means法によるindexの圧縮機能

開発者の方による解説:
だだっこぱんだ🍞さん版RVC WebUIの機能追加について 2023年6月1日 – nadare🌱@Py2K4 | Twitter

この記事でも2023年6月5日に、機能追加の内容を反映させていただきましたので、一連の動画で大まかな使い方を把握していただいた後に、この記事の「【ddPn08版】RVC WebUIの使い方:学習編 (データセットで学習モデル作成)- Training」のところで、

・各設定が何を意味するのか?
・エラーを回避するにはどうすればいいのか?

ご確認ください。

 

– 2023年6月18日 –

2023年6月15日に、学習・推論の際の

・Pitch extraction algorithm
(ピッチ抽出アルゴリズム)

の設定で

・crepe(クレープ)
*オリジナル版のcrepe

・mangio-crepe(マンジョクレープ)
*フォーク版のcrepe

の機能が追加。
学習時の設定の「Model version」(RVCのモデルバージョン)で「RVC v1」選択時や、「Embedding channels」(次元数の選択)で「256次元」を選択時に出るエラーは残存していましたので、学習を実行する際に、引き続き注意してみてください。

 

– 2023年7月9日 –

2023年7月9日に確認時点では、学習を実行しても

・Google Colaboratory上の出力に「2023-07-09 〜 | INFO | httpx | HTTP Request: POST 〜/reset “HTTP/1.1 200 OK”」

が出力されるだけで、GPUも使用されていないようでしたので、

・使えない状態

でした。
おそらくですが、

・「train.py

train.py「DDPの修正 + augmentの音声も保存する」「multispeaker対応+名前の自動化+sampleの保存」:2023年7月 – ddPn08/rvc-webui | GitHub

のコードが最近、大きく改変されているようでしたので、プログラムの改変に伴うバグかと思われます。
開発者の方が修正してくださるのを待つほかないかと思います。

→ 2023年7月18日時点で改善済みでした。

 

– 2023年7月18日 –

2023年7月18日から

・【手順7:依存関係などのインストール & RVC WebUIの起動】

を実行すると

ValueError: mutable default <class ‘fairseq.dataclass.configs.CommonConfig’> for field common is not allowed: use default_factory

というエラーが出るようでしたので、エラーが出ないように修正しておきました。
Pythonのバージョンに伴うエラーのようでした。(Python 3.11系ではエラーとなるようです。Python 3.10系にしたら直りました)

 

– 2024年1月28日 –

他の動画の視聴者の方から報告いただいた情報では、Google Colaboratoryの有料版で学習・推論までできたとのことでした。

 

– 2024年2月10日 –

2024年2月に入り「Cannot uninstall ‘blinker’」などのエラーが出て使えない状況でしたが、2024年2月10日にコードを修正後、RVC WebUIのチュートリアル動画の視聴者の方から報告いただいた情報では、Google Colaboratoryの有料版で学習・推論までできたとのことでした。
(「手順7」の処理の過程で「Cannot uninstall ‘blinker’」)が表示されるかと思いますが、最終的に「Flask」がインストールできていればOKと思われます。

*無料版では、使えません。現時点(2024年2月時点)では課金が必要です。

 

【ddPn08版 – RVC WebUIのチュートリアル動画の内容】

0:00 はじめに
0:55 Google Colaboratoryの使い方
1:39 RVC WebUI起動編:コードの実行
3:02 データセットなどの準備
7:30 Goolge Colaboratoryにファイルが反映されない場合の対処法
8:14 起動までの手順を実行
9:24 RVC WebUI学習編
18:28 RVC WebUIモデル推論編(AIボイスチェンジ)
24:59 続けて、新たな学習モデルを作成する方法
25:29 以前作成した学習モデルで推論する方法例
27:07 最後に

 

【ddPn08版 – RVC WebUIの特徴】2023年5月14日時点

特徴①:
事前学習モデルが

・hubert-base-japanese(ヒューバートベイスジャパニーズ)
*日本語の音声に特化したHuBERT(ヒューバート)

・contentvec(コンテントベック)
*オリジナル版のRVC WebUIで利用

から選べる。

 

特徴②:
768次元のphone embeddingsに対応。

 

 

だだっこぱんだ🍞さん版のRVC WebUIも使いたい!
でも、使い方が分からない・・・

 

 

2023年4月に公開されたAIボイスチェンジャーこと

RVC WebUI:
RVC-Project(旧liujing04)/Retrieval-based-Voice-Conversion-WebUI(The MIT License)| GitHub

の、だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIである

だだっこぱんだ🍞(ddPn08)さん版のRVC WebUI:
ddPn08/rvc-webui(The MIT License)| GitHub

を使いたくても、

一体どうやって使ったらいいのかわからない・・・

などと、悲しい思いをされている方も多いのではないかと思います。
プログラムを使うには、

・機械学習プログラムのルール
・ある程度のファイル構造の理解
・ファイルの指定の仕方

を知らないと、歯が立たないのではないかと察します。

そこで今回は、RVC WebUIに関心のある日本人の方が、AIボイスチェンジャーを気軽に楽しめるようにするために、Windows・Macなどのパソコンの種類を問わずに使えるGoogle Colaboratoryを使ってRVC WebUIを起動し、オリジナルのAIボイスチェンジャーを作る方法(やり方)をまとめておこうと思います。
一連の情報が、だだっこぱんだ🍞(ddPn08)さん版のAIボイスチェンジャーに触れるきっかけになることがありましたら幸いです。

 

【ddPn08 Edition】How to Use RVC WebUI App. (RVC Voice Changer)
Free RVC AI Voice Changer Tutorial for Machine Learning Python-PyTorch Programming: Male & Female(Girl) Voice

 

 

サンプルコードリンク・プログラムのライセンス

 

 

だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIを日本人の方が気軽に試せるように、使い方の解説などを入れたサンプルコードを公開しました。
プログラムの起動方法が分からずにお悩み中の日本人のAI初学者の方の参考になることがありましたら幸いです。

サンプルコードリンク:
RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

 

サンプルコード「RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb」のライセンス:

The MIT License

Copyright 2023 child programmer

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 

 

チュートリアルで使う音声素材ダウンロード

 

 

【チュートリアルで使わせていただいている音声素材について】

自分好みのオリジナルのAIボイスチェンジャーを作る前に、まずは、試しに一連の操作手順を学びたいと思っている方も多いのではないかと思います。
情報を探してみたところボイスチェンジャーの利用の許可をくださっている方もいるようでしたので、チュートリアルでは、以下の音声を学習に活用させていただきました。

 

AIボイスチェンジャー学習用の声(女性の声)の音声素材ダウンロード:
あみたろの声素材(セリフ素材)一括ダウンロード | あみたろの声素材工房
(PCM44,100Hz/16ビット/モノラルのWAV形式)
クレジット:あみたろの声素材工房 https://amitaro.net/

また、「あみたろ」さんの声に変換する前の音声素材は、こちらからダウンロードできるようにしておきましたので、必要に応じてご活用ください。

推論(AIボイスチェンジ)を試す声(男性の声)の音声素材ダウンロード:


(サンプルレート48,000Hz/24ビット/ステレオのWAV形式)

尚、変換する前の音声素材は、こちらの音声から一部抜粋させていただきました。

推論(ボイスチェンジ)を試す用の声素材元:
Kyubyong/css10(Apache-2.0 license)| GitHub

 

 

【だだっこぱんだ🍞(ddPn08)さん版】RVC WebUIの起動方法・導入方法
:最終更新 2024年2月10日

 

 

【手順1:GPUの確認】

 

 

以下のコマンドでGPUの確認ができない場合には、Google Colaboratoryのメニューから

ランタイム – ランタイムの変更 – ハードウェア アクセラレータ

で「GPU」を選択後に、保存し、再度コードを実行してみてください。

実行コード

!nvidia-smi
!nvcc -V
!free -h

 

出力結果

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 525.85.12    Driver Version: 525.85.12    CUDA Version: 12.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Tesla T4            Off  | 00000000:00:04.0 Off |                    0 |
| N/A   51C    P8    10W /  70W |      0MiB / 15360MiB |      0%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2022 NVIDIA Corporation
Built on Wed_Sep_21_10:33:58_PDT_2022
Cuda compilation tools, release 11.8, V11.8.89
Build cuda_11.8.r11.8/compiler.31833905_0
              total        used        free      shared  buff/cache   available
Mem:           12Gi       636Mi       9.0Gi       1.0Mi       3.1Gi        11Gi
Swap:            0B          0B          0B

 

 

【手順2:Google Driveのマウント】

 

 

Google Drive上のフォルダ・ファイルを使えるようにします。
以下のコードを実行後に、許可を求められるのでGoogle DriveのGoogleアカウントで「許可」をします。

実行コード

from google.colab import drive
drive.mount('/content/drive')

 

 

【手順3:Google Drive内にデータセットと音声変換させたい音声ファイルを準備】

 

 

Google Drive の「MyDrive」内に

・「dataset

というボイスチェンジしたい音声ファイルが入っている学習予定のデータセットフォルダを用意します。
また、推論(音声変換)を試してみたい音声ファイル(WAV形式 or MP3形式)もアップロードしておきます。

 

【フォルダ構造】

RVC WebUの学習データのデータセットのファイル・フォルダ

dataset
 |— 〜1.wav
 |— 〜2.wav
 |— 〜3.wav
 |— 〜4.wav
 ・
 ・
 ・
 |— 〜10.wav

 

*一例として、「dataset」フォルダ内には短文(句点。までの文章)で区切ったWAV形式(またはMP3形式)の音声ファイルをいくつか入れておきます。
*チュートリアルでは「1〜3秒」の「10個」の音声ファイルで学習していますが、本格的に音声変換したい方は、音声ファイル数を増やし、学習回数(Epoch数)を調整してみてください。

 

学習させる音声ファイルを作るには、

・Audacity

などの音声編集アプリを使う方法を散見しました。
各データセットの音声ファイルの長さを、どの程度にしようか?と迷うところですが、製作者の説明では

“Use less than 10 minutes vocal to fast train a voice conversion model!”
(10分未満の音声を使用して、音声変換モデルを高速トレーニングします。 )

とのことでした。
インターネット上で関連情報を調べてみたり、現在配布されている音声コーパスなどをみてみると

・1ファイルあたり、数秒程度の音声

のようでしたので、RVC WebUIの使い方をある程度覚えてから、色々と試行錯誤してみてください。

 

 

【手順4:重複ファイル名の変換】

 

 

データセット(「dataset」フォルダ)内の重複ファイル名を変更します。

実行コード

!ls -a /content/drive/MyDrive/dataset
!rename 's/(\w+)\.(\w+)~(\d*)/$1_$3.$2/' /content/drive/MyDrive/dataset/*.*~*

 

 

【手順5:ddPn08版RVC WebUIのリポジトリをクローン】

 

 

GitHubから「ddPn08/rvc-webui」のプログラムをGoogle Colaboratoryにコピーします。

実行コード

%cd /content/
repository_url = "https://github.com/ddPn08/rvc-webui.git"  
webui_branch = "main"

! git clone {repository_url}
%cd /content/rvc-webui

 

 

【手順6:環境の初期化】

 

 

実行コード

import os

conda_dir = "/opt/conda"
conda_bin = os.path.join(conda_dir, "bin", "conda")

# 2023年7月18日時点では、最新版がPython3.11となり、手順7で
# 「ValueError: mutable default  for field common is not allowed: use default_factory」
# のエラーとなるため 最新版ではなく、Python 3.10 「https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-x86_64.sh」 を指定。
if not os.path.exists(conda_bin):
    ! curl -O https://repo.anaconda.com/miniconda/Miniconda3-py310_23.5.2-0-Linux-x86_64.sh
    ! chmod +x Miniconda3-py310_23.5.2-0-Linux-x86_64.sh
    ! bash ./Miniconda3-py310_23.5.2-0-Linux-x86_64.sh -b -f -p {conda_dir}
    ! rm Miniconda3-py310_23.5.2-0-Linux-x86_64.sh

def run_script(s):
    ! {s}

def make_args(d):
    arguments = ""
    for k, v in d.items():
        if type(v) == bool:
            arguments += f"--{k} " if v else ""
        elif type(v) == str and v:
            arguments += f"--{k} \"{v}\" "
        elif v:
            arguments += f"--{k}={v} "
    return arguments

if os.path.exists("requirments.txt"):
    ! mv requirments.txt requirements.txt

 

 

【手順7:依存関係などのインストール & RVC WebUIの起動】

 

 

ウェブインターフェース上で、学習や推論(音声変換)を実施します。
以下のコードを実行後に表示される

Running on public URL: https://〜.gradio.live

のURLをクリックするとddPn08版RVC WebUIが使えます。

実行コード

run_script(f"""
eval "$({conda_bin} shell.bash hook)"
""")

!pip3 install gradio_client==0.8.1 #2024年2月9日追記:gradio_clientをダウングレード
!pip3 install --ignore-installed blinker==1.6.2 #2024年2月10日追記:Cannot uninstall 'blinker'対策 Flaskのインストールエラー
!pip3 install Flask==2.3.2 #2024年2月10日追記 Flaskのインストール

run_script(f"""
python launch.py --share --host 0.0.0.0 --port 41130
""")

 

 

【ddPn08版】RVC WebUIの使い方:学習編
(データセットで学習モデル作成)- Training:最終更新 2023年7月

 

【ddPn08・だだっこぱんださん版】RVC WebUIの使い方:学習編(Training)の設定例 2023年7月18日版 - AIボイスチェンジャー
*画像をクリックすると拡大されます。以下の説明で例示している設定になっています。必要に応じて参考にしてみてください。

 

【2023年7月18日時点の表示に対応済み】
* チュートリアル動画の設定と違いますので、以下の内容を基に設定をどうするか?検討してみてください。

 

Training」のタブをクリックし、以下のように設定します。
(一例です)

 

Model Name:
(出力される学習モデルの名前)
amitaro

 

Ignore cache:
(キャッシュを無視するか?)
チェックなし

 

Dataset glob:
(学習させるデータセットフォルダのパスを指定)
/content/drive/MyDrive/dataset
*Google Driveの「MyDrive」内に「dataset」というデータセットフォルダを配置した場合の例

 

Recursive:
(ファイル読み込みの設定)
チェックを入れる
*注:ここのチェックを外した状態で、「Dataset glob:/content/drive/MyDrive/dataset」の設定にすると「Exception: No audio files found」というエラーになります。
対応方法例としては、「Dataset glob:」(学習させるデータセットフォルダのパスを指定)の設定を「/content/drive/MyDrive/dataset/*.wav」にすると、うまくファイルを読み込めるようでした。

 

Multiple speakers:
(複数の話者かどうか)
チェックなし
*一例
*2023年5月のアップデートで「複数話者に対応した学習」もできるようになったようです。

 

Speaker ID:
(識別IDの設定)
0
*推論の際に識別できるように、識別IDを指定しておきます。1度学習後に、新たに違う設定で学習させたい場合には、ここの数値を変更するようにします。

 

Model version:
(RVC公式の事前学習済みモデルのバージョンを指定)
v2
*注:2023年6月5日時点では「Model version:」(RVC公式の事前学習済みモデルのバージョンを指定)の設定を「v2」にしないとエラーとなるようでした。

 

Target sample rate:
(サンプリングレート)
40k
*一例
*基本的には音声ファイルのサンプリングレートに合わせますが、動画のチュートリアルでは試しに「48k」にしてみましたが、以下の2023年6月5日時点の「」を参照していただくとわかると思いますが、必ず「40k」に指定する必要があります。
*注:2023年5月24日時点では「Model version:」(RVC公式の事前学習済みモデルのバージョンを指定)の設定を「v2」にした場合には「40k」に指定する必要があります。(2023年5月24日時点では、40kHz対応の事前学習済みモデルのv2しか公開されていないため)
32k」「48k」にした場合には、以下のエラーが出力されるようでした。

エラー出力:

RuntimeError: Error(s) in loading state_dict for SynthesizerTrnMs256NSFSid:

*注:2023年6月5日時点では「Model version:」(RVC公式の事前学習済みモデルのバージョンを指定)の設定は「v2」に、「Target sample rate:」(サンプリングレート)は、「40k」に指定する必要があるようでした。

 

f0 Model:
(f0モデルの設定)
yes
*f0とは、ピッチ情報・基本周波数のことをさしているようです。
おそらくですが、ここの設定を「yes」にすると、「ピッチありのモデル」になり。「no」に設定すると、「ピッチレスモデル」になるのではないかと思われます。
音質の精度を求めている方や、リアルタイムボイスチェンジを予定されている方、そして、楽曲から抽出したボーカルの音声の変換を予定されている方などは、「ピッチありのモデル」にするために、ここの設定を「yes」にするようにします。
リアルタイムボイスチェンジ時の難点としては、「ピッチありのモデル」の場合には、精度が良い代わりに、パソコンに負荷をかけるようです。そのため、精度よりも遅延の影響を気にされる方は、ここの設定を「no」にして、「ピッチレスモデル」にすることも検討してみてください。

 

Using phone embedder:
(phone embedderの設定)
contentvec
*事前学習モデルを選択します。チュートリアル動画撮影時点では、2023年4月に公開された「hubert-base-japanese」という、日本語の音声に特化したHuBERTモデルと、「contentvec」というモデルを選択できるようでした。
動画撮影時点では、リアルタイムボイスチェンジャーでお馴染みの「VC Client」は、「hubert-base-japanese」への対応は、アルファ版(テスト版)として実装してくださっているようですので、時間に余裕のある方は、どちらの事前学習モデルだとリアルタイム音声変換の際に、自分の目指している音質になるのか?色々と試してみてください。

 

Embedding channels:
(次元数の設定)
768
*精度を求める場合には、「768次元」の方が良いようです。
動画撮影時点では、「VC Client」での対応状況が、いまいち分かりませんでしたので、リアルタイムボイスチェンジをされる方は「768次元」でうまくいかない場合には、「256次元」で学習させてください。
*注:2023年6月6日時点で、報告いただいた情報によると、ここの設定を「256」に設定するとエラー(「256-40k.json」を参照しようとするためエラー)となるようです。

エラー出力例:
FileNotFoundError: [Errno 2] No such file or directory: ‘/content/rvc-webui/configs/40k-256.json’
*「Target sampling rate:」(サンプリングレート)を「40k」に、「Embedding channels:」(次元数の設定)を「256」に設定した場合の例

そのため、ここの設定は「768」に設定するようにしてください。
暫定的な対応例としては

・「40k.json
*場所:「rvc-webui」フォルダの「configs」内に「40k.json」があります)

のファイル名を半角英数で

・「40k-256.json

に変えると学習ができるようでした。

 

Embedding output layer:
(出力層の設定)
12
*一例

 

GPU ID:
(GPUのID)
0
*一例
*初期状態の「0」のままでも使えました。

 

Number of CPU processes:
(CPUプロセス数)
2
*一例

 

Normalize audio volume when preprocess:
(前処理として音声のボリュームを正規化するかどうか?)
yes

 

Pitch extraction algorithm:
(ピッチ抽出アルゴリズム)
crepe
*高品質の音声を処理するには、やや速度が遅くなりますが、「dio」を選択します。さらに品質向上で処理をしたい場合には、処理が遅くなりますが、「harvest」を選択します。品質を最高にしたい場合にはGPUに負荷がかかりますが「crepe」または「mangio-crepe」を選択します。

尚、

・crepe(クレープ)
*オリジナル版のcrepe

・mangio-crepe(マンジョクレープ:イタリア語でクレープを食べる)
Mangio621/Mangio-RVC-Fork – GitHub によるcrepe

についてさらに知りたい場合には、上記リンク先の「Mangio621」さんによる「RVC WebUI」のページが参考になるのではないかと思います。
Webブラウザの拡張機能などの翻訳機能を使えば、大体の意味はわかるのではないかと思います。
結論としては、

・どっちも試してみて!

です。

 

Batch size:
(バッチサイズ)
3
*一例
*学習するデータセットをどの程度の一回あたりの処理量にするか?指定します。
注意点としては、GPUメモリが多い場合には、ここの数値を大きくすると、過学習が予防できるようです。ただ、Google Colaboratoryの無料枠で実行する場合、膨大な量のデータセットで学習させる際などに、あまり大きな数値にすると、メモリが足りなくなりエラーとなるリスクも考えられますので、途中でエラーとなる方などはここの数値を試行錯誤してみてください。

 

Number of epochs:
(学習回数 – エポック数)
10
*一例
*時間に余裕がある方は学習回数を増やすと音声変換の質が向上するかもしれません。音声変換の質を向上させたい場合には、「音声ファイル数」や「音声の時間」を増やしてみてください

 

Save every epoch:
(学習の状況の保存頻度)
5
*一例
*注意点としては、Google Colaboratoryの無料枠で実行する場合、学習回数を多くした場合に、保存頻度の設定が小さい数値だと、何回も途中経過の学習モデルのファイルが保存されることになり、ディスク容量を圧迫してしまい、無料枠だけでは学習を終わらせることができない可能性も考えられますので、こちらの数値も、残りのディスク容量に応じて微調整してみてください。

 

save_wav_with_checkpoint:
(チェックポイント毎にaugmentの音声を保存する)
チェックなし
*一例
*おそらくバグ?のため、学習を実行して、どういった機能なのか検証できていません。(2023年7月9日時点)
→ 動作確認できました。(2023年7月18日時点)
ここにチェックを入れると、(おそらくですが…)学習途中段階の学習モデルを使った?と思われる声の音声ファイルが

「state」フォルダ内
*「rvc-webui」フォルダの「models」フォルダの「training」フォルダの「models」フォルダの「該当学習モデル」(画像では「amitaro1」)内

だだっこぱんださん版RVC WebUIの「save_wav_with_checkpoint」の挙動について解説
*画像をクリックすると拡大されます。

に、

「wav_sample_(Save_every_epochで指定した数値毎の値)」フォルダ

・00_y_pred.wav
・00_y_true.wav
・01_y_pred.wav
・01_y_true.wav

などの音声ファイルとして出力されるようです。

 

Cache batch:
(キャッシュバッチ)
チェックなし
*チェックを入れると、高速化されるようです。

 

FP16:
(エフピー16)
チェックなし
*「16ビットの浮動小数点数フォーマット」でデータ量を削減するかどうかを設定できるようです。
そのため、チェックを入れると軽量化と、高速化されるようです。ただ、データ量を削減するので品質は低下するようです。

 

Augment:
(データオーグメンテーション機能の有効化の設定)
チェックなし
*データオーグメンテーション機能(学習する際にピッチや話者を変えて学習を行う機能):2023年6月〜新機能
*「Using phone embedder:」(phone embedderの設定)で「hubert-base-japanese」を指定した場合、事前学習モデルの話者の音声の特徴が残りやすいようですが、データオーグメンテーション機能を使うことで、軽減するようです。

 

Augment From Pretrain:
(追加の事前学習済みモデルによるデータオーグメンテーション機能の有効化の設定)
チェックなし
*データオーグメンテーション機能:2023年6月〜新機能
*ここの機能を有効化するには「Augment:」(データオーグメンテーション機能の有効化の設定)の項目に「チェックを入れる」必要があります。

【ここの機能を有効化する設定】

Augment:
(データオーグメンテーション機能の有効化の設定)
チェックを入れる

Augment From Pretrain:
(追加の事前学習済みモデルによるデータオーグメンテーション機能の有効化の設定)
チェックを入れる

上記のように設定して、追加の事前学習済みモデルによるデータオーグメンテーション機能の有効化した場合には、これから設定する

Pre trained generator path (pth):
(追加の事前学習済みモデル「pthファイル」のパスを指定)

speaker info path (npy):
(追加の事前学習済みモデルの「npyファイル」のパスを指定)

のファイルへのパスを設定する必要があります。

 

Pre trained generator path (pth):
(追加の事前学習済みモデル「pthファイル」のパスを指定)
file is not prepared(未設定)
*データオーグメンテーション機能:2023年6月〜新機能

追加の事前学習済みモデルをダウンロード:
RVC-WebUI-tuned-weights – nadare | Kaggle
*設定の詳細はリンク先の説明をご確認ください。

 

speaker info path (npy):
(追加の事前学習済みモデルの「npyファイル」のパスを指定)
file is not prepared(未設定)
*データオーグメンテーション機能:2023年6月〜新機能
*設定の詳細は「Pre trained generator path (pth):」(追加の事前学習済みモデル「pthファイル」のパスを指定)に掲載しておいたリンク先の説明をご確認ください。

 

Train Index:
(indexファイル・npyファイルを作成するかを設定)
チェックを入れる
*k-means法によるindexの圧縮機能:2023年6月〜新機能
*チェックを入れると「models」フォルダの「checkpoints」内に学習モデル名のフォルダ「amitaro_index」が作成され「〜.index」ファイルと「〜.npy」ファイルが出力されます。
*「Model Name:」(出力される学習モデルの名前)の設定を「amitaro」にした場合の例
*ここの項目で、「チェックなし」にすると「〜.index」ファイルと「〜.npy」ファイルが出力されません。

 

Reduce index size with kmeans
(k-means法によりindexファイルのサイズを小さくする機能)
チェックなし
*k-means法によるindexの圧縮機能:2023年6月〜新機能
*音声変換の品質にあまり影響を与えずに数百MB程度のindexファイルが生成される場合に、数十MB程度までファイルを小さくする機能のようです。
*「Train Index:」(indexファイル・npyファイルを作成するかを設定)を有効化しておかないと意味のない機能かと思いますが、確認時点では、「Train Index:」を無効化した状態で、ここの設定を有効化しておいてもエラーにならないようでした。

 

maximum index size
(indexファイルの大きさの最大値の設定)
10000
*k-means法によるindexの圧縮機能:2023年6月〜新機能
*初期設定値「10000
*ここの設定は

【ここの機能を有効化する設定】

Train Index:
(indexファイル・npyファイルを作成するかを設定)
チェックを入れる

Reduce index size with kmeans
(k-means法によりindexファイルのサイズを小さくする機能)
チェックを入れる

状態にした場合に反映されるようでした。
*試しに「0」に設定して学習させたところ、学習モデル(pthファイル)は作成されましたが、以下のエラー表示となりました。

エラー出力:
InvalidParameterError(
sklearn.utils._param_validation.InvalidParameterError: The ‘n_clusters’ parameter of MiniBatchKMeans must be an int in the range [1, inf). Got 0 instead.

初期設定が無難かもしれません。

 

Pre trained generator path:
(事前学習生成器のパス)
/content/rvc-webui/models/pretrained/v2/f0G40k.pth
*各種設定状況に応じて自動的に設定されます。
→注:2023年6月6日確認時点では、手動設定に変更?されているようでした。
初期設定では、「RVC v2モデル」の「40kHz」の事前学習モデルが設定されているようでした。

 

Pre trained discriminator path:
(事前学習弁別器・識別器のパス)
/content/rvc-webui/models/pretrained/v2/f0D40k.pth
*各種設定状況に応じて自動的に設定されます。
→注:2023年6月6日確認時点では、手動設定に変更?されているようでした。
初期設定では、「RVC v2モデル」の「40kHz」の事前学習モデルが設定されているようでした。

 

設定ができたら

学習開始:Trainボタンをクリック

Train
(学習開始)

のボタンをクリックします。

 

しばらくすると以下のような表示になります。

 

RCV WebUI上の出力結果
*「Status」の出力

学習完了:Training completed

Training completed(学習完了)

 

RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb上の出力結果
*【手順7:依存関係などのインストール & RVC WebUIの起動】の出力

4% 2/50 [00:24<08:38, 10.80s/it, epoch=1, loss_d=3.85, loss_g=43.3, lr=0.0001, use_cache=0]2023-05-14 12:50:56 | INFO | torch.nn.parallel.distributed | Reducer buckets have been rebuilt in this iteration.
 50% 25/50 [00:38<00:14,  1.68it/s, epoch=5, loss_d=1.78, loss_g=49.1, lr=0.0001, use_cache=0]Saving model and optimizer state at epoch 5 to /content/rvc-webui/models/training/models/amitaro/state/G_5.pth
Saving model and optimizer state at epoch 5 to /content/rvc-webui/models/training/models/amitaro/state/D_5.pth
save: emb_name: contentvec 768
100% 50/50 [01:03<00:00,  1.66it/s, epoch=10, loss_d=1.85, loss_g=40.1, lr=9.99e-5, use_cache=0]Saving model and optimizer state at epoch 10 to /content/rvc-webui/models/training/models/amitaro/state/G_10.pth
Saving model and optimizer state at epoch 10 to /content/rvc-webui/models/training/models/amitaro/state/D_10.pth
save: emb_name: contentvec 768
Training is done. The program is closed.(学習が実行されました。プログラムを終了します。)

 

出力された学習モデルは、Google Colaboratory上でダウンロードできます。
models」フォルダの「checkpoints」フォルダ内に

学習モデルの保存場所:modelsフォルダのcheckpointsフォルダ内

・「amitaro.pth
*「Model Name:」(出力される学習モデルの名前)で「amitaro」という名前に設定した場合の例

という学習モデルが出力されています。
必要に応じてローカル環境(自分のパソコン)にダウンロードして、リアルタイムボイスチェンジなどに挑戦してみてください。

AIを利用したリアルタイムボイスチェンジャーのクライアントソフトウェアVC Client:
w-okada/voice-changer(The MIT License)| GitHub

AIボイスチェンジャーの学習モデルを使ったテキスト音声合成:
VG WebUIの使い方:AIボイスチェンジャー(RVC WebUI)の学習モデルでテキスト音声合成(テキストの音声読み上げ:TTS – Text to Speach)入門
*記事では、index形式・npy形式のファイルも使って解説していますが、pth形式の学習モデルだけでもテキスト音声合成ができます。

 

2023年5月23日のRVC v2モデル対応の更新後に確認できた事象として、一度学習を実施後に、再度学習をさせると以下のようなエラーが出力されるようでした。

エラー出力:

raise RuntimeError("trying to initialize the default process group " "twice!")

対応例としては、「手順7:依存関係などのインストール & RVC WebUIの起動」のプログラムを一度停止後に、再度、実行した時に表示される「public URL」をクリックし、新たにRVC WebUIを起動させると、新たな学習ができるようでした。

 

 

【ddPn08版】RVC WebUIの使い方:モデル推論編(音声変換)
– Inference:最終更新 2023年7月

 

【ddPn08・だだっこぱんださん版】RVC WebUIの使い方:モデル推論編(Inference)の設定例 - AIボイスチェンジャー
*画像をクリックすると拡大されます。以下の説明で例示している設定になっています。必要に応じて参考にしてみてください。

 

Inference」(モデルの推論)のタブをクリックし、以下のように設定します。
(一例です)

 

学習モデルのリストの更新 - ddPn08版 RVC WebUIの使い方

上記のボタンをクリック後に

Modelで学習モデルが選択可能になる - ddPn08版 RVC WebUIの使い方

Model:
(学習モデル)
amitaro.pth
*学習の際に「Model Name:」(出力される学習モデルの名前)を「amitaro」にした場合の例

が設定できるようになります。

 

Speaker ID:
(識別IDの設定)
0
*学習の際の識別IDに合わせます。

 

Source Audio:
(ボイスチェンジする音声ファイルの指定)
/content/drive/MyDrive/originalvoice.wav
*Google Driveの「MyDrive」内に「originalvoice.wav」という音声ファイルを配置した場合の例

 

Out folder:
(ボイスチェンジ後の音声ファイルの出力先を指定)
content/rvc-webui/outputs
*何も入力しない状態の設定。
outputs」フォルダ内に音声ファイルが出力されます。

 

Transpose:
(変調)
12
*ボイスチェンジ時に推奨されることとして、男性から女性への音声変換は「+ 12キー」、女性から男性への音声変換は、「– 12キー」にすることが推奨されているようです。
声の高さが同じ声質の場合には、設定を「0」にします。声のキーが高い女性の声にする場合には、12キーよりもさらに上げてもいいかもしれません。

 

Pitch extraction algorithm:
(ピッチ抽出アルゴリズム)
crepe
*高品質の音声を処理するには、やや速度が遅くなりますが、「dio」を選択します。さらに品質向上で処理をしたい場合には、処理が遅くなりますが、「harvest」を選択します。品質を最高にしたい場合にはGPUに負荷がかかりますが「crepe」または「mangio-crepe」を選択します。

尚、

・crepe(クレープ)
*オリジナル版のcrepe

・mangio-crepe(マンジョクレープ:イタリア語でクレープを食べる)

のどちらにしたらいいのか?についてですが、結論としては、

・どっちも試してみて!

のようです。

 

Embedder Model:
(Embedderモデル)
auto
*学習の際に「Using phone embedder:」(phone embedderの設定)で設定したモデルを選択します。
auto」にすると、自動的に「hubert-base-japanese」か?「contentvec」か?を判別してくれます。

 

Embedder Output Layer:
(Embedderの出力層)
auto
*学習の際に「Embedding output layer:」(出力層の設定)で設定した層の数を選択します。
auto」にすると、自動的に「9」か?「12」か?を判別してくれます。

 

Auto Load Index:
(自動的にindex形式ファイルなどを取得)
チェックなし
*チュートリアル動画では、ここの機能を使っていませんが、ここにチェックを入れると自動的に「index形式ファイル」と「npy形式ファイル」のパスを取得してくれる便利な機能です。

 

Faiss Index File Path(Faissインデックスファイルのパスを設定)- ddPn08版 RVC WebUIの使い方

Faiss Index File Path:
(Faissインデックスファイルのパスを設定)
/content/rvc-webui/models/checkpoints/amitaro_index/amitaro.0.index
(一例です)
*Faiss(Facebook AI Similarity Search):Facebookが開発した近似最近傍検索ライブラリ
*学習の際に「Model Name:」(出力される学習モデルの名前)を「amitaro」にした場合の例
*「rvc-webui」のフォルダの「models」フォルダの「checkpoints」フォルダの「amitaro_index」フォルダ内の「〜.index」のファイルのパスをコピー後に入力欄に貼り付けてください

 

Big NPY File Path(Big NPYファイルのパスを設定)- ddPn08版 RVC WebUIの使い方

Big NPY File Path:
(Big NPYファイルのパスを設定)
/content/rvc-webui/models/checkpoints/amitaro_index/amitaro.0.big.npy
(一例です)
*学習の際に「Model Name:」(出力される学習モデルの名前)を「amitaro」にした場合の例
*「rvc-webui」のフォルダの「models」フォルダの「checkpoints」フォルダの「amitaro_index」フォルダ内の「〜.npy」のファイルのパスをコピー後に入力欄に貼り付けてください
*2023年5月23日の更新で、ここの機能は廃止されました。

 

Retrieval Feature Ratio:
(検索特徴率)
1
*検索特徴率ということのようですが、よく分かりませんでしたので、そのまま「1」にしておきました。
何回か試した範囲の感じでは、比率を「0」に近づけるほど品質が低下するように感じました。
*追記:検索特徴率を「1」に近づけるほど、今回学習させた「学習モデル」の特徴(音色の品質)に偏らせるようです。

 

設定が完了したら

Infer(推論を開始)- ddPn08版 RVC WebUIの使い方

Infer
(推論を開始)

のボタンをクリックします。

数秒〜20秒ほどで推論完了。
1〜3秒ほどのファイル10個で学習させただけでしたが、聞いてみると女性っぽい声に変換されていました。また、声の高さに関しては、変換したい声質に応じてキーの調整が必要そうでした。
さらに音声変換の品質を向上させるには、ファイル数や学習回数を増やす必要はありそうです。

今回の使い方を参考にしつつ、試行錯誤しながらオリジナルのボイスチェンジャーを作成してみてください。
尚、出力された音声ファイルは

ボイチェン後の音声のダウンロード方法 - ddPn08版 RVC WebUIの使い方

Output
(出力された音声 – 右下隅の3つのドット、クリックしてダウンロード)

のところでダウンロードできます。
その他にも、

outputs
*推論の際の「Out folder:」(ボイスチェンジ後の音声ファイルの出力先を指定)の設定で、何も指定しなかった場合の例

フォルダ内に以下の

推論:outputsフォルダ内にwavファイルが出力 - ddPn08版 RVC WebUIの使い方

・「1-amitaro-originalvoice.wav」(ファイル例)

のようなファイル名で保存されますので、必要に応じてローカル環境(自分のパソコン)にダウンロードして使ってみてください。
また、新たに推論をさせるとファイルが追加されていきます。

 

動画チュートリアル作成時点では、だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIでは、日本語に特化した事前学習モデルを始め、学習させるために色々なパラメータを指定できるようにしてくださっているので、ボイスチェンジの高みを目指している方にとっては、ありがたいですね。

また、RVC WebUIを、日本人の方向けに独自に調整したプログラムを公開してくださっている、だだっこぱんだ🍞(ddPn08)さんと、だだっこぱんだ🍞(ddPn08)さんの支援者の皆さんに感謝です。

 

 

【だだっこぱんだ🍞(ddPn08)さん版】RVC WebUIの解説動画へのコメントと対応例など
:2023年6月19日更新

 

 

だだっこぱんだ🍞さん版RVC WebUIは、リアルタイムボイスチェンジに対応していますか?

 

 

【2023年6月19日時点】

VC Clientでリアルタイムボイスチェンジをされる場合には

・だだっこぱんださん版のRVC WebUIのRVCv2サポート

参考:
RVC 対応リアルタイムボイスチェンジャー VC Client v.1.5.3.3アップデート – 2023年5月26日 | Twitter

されていますので、

・だだっこぱんださん版のRVC WebUIで作成した学習モデル(pthファイル)

を使って、VC Clientでリアルタイムボイスチェンジが可能なのではないかと思います。
ただ、2023年6月15日の、だだっこぱんださん版のRVC WebUIのアップデートで、学習と推論時に追加された「Pitch extraction algorithm」(ピッチ抽出アルゴリズム)の

・mangio-crepe

に対応しているのか?はわかりません。
VC Client v.1.5.3.3以降は、「crepe」には対応とのことでした。

 

 

【データセット作成・学習・推論編】RVC WebUIで歌声を変換した際に高音だけうまく出ない
(推論で歌声の変換がうまくいかない)

 

 

現状で個人で分かる範囲ではありますが

・【①データセットの規模と学習回数に関して】
・【②RVC WebUIの仕組みから考えるデータセットについて】
・【③数値設定に関して:だだっこぱんださん版のRVC WebUI】
・【④数値設定に関して:RVC v2モデル対応のオリジナル版RVC WebUI】

についてまとめておきます。

 

【①データセットの規模と学習回数に関して】

データセットの考え方に関しては、RVC公式のQ&Aでは、

・データセットの音声の時間は
:10〜50分程度が推奨
:高品質のデータセットの場合には、5〜10分程度が推奨

のようです。
また

・学習回数は、
:低品質でノイズの入った音声の場合には、20〜30エポック(学習回数)が推奨
(低品質の音声で学習回数を増やしても音声の品質は向上しないとのことです。)
:高品質の音声では、学習回数の許容範囲としては200エポック

とのことです。
そのため、ノイズの少ない音声を準備していただくといいかもしれません。

 

【②RVC WebUIの仕組みから考えるデータセットについて】

音声変換が苦手な部分に関しては、以下の記事

参考情報①:
【図解】超高性能AIボイスチェンジャー「RVC」のしくみ・コツ – mossan_hoshi | Zenn
*2023年6月13日利用

参考情報②:
RVCの声質を音程によって変化させる研究をしてみた – Nero | note
*2023年6月13日利用

が参考になりそうです。
要点としては、

・歌声を変換したい場合には、歌のデータを利用する(といいかもしれない)
・音声変換したい音域を意識してデータセットを作成する(といいかもしれない)

ということのようです。
そのため、歌声で高音が出にくいことへ対応させる場合には、

・歌声の音声を利用し、低音と高音(裏声)の両方入ったデータセットを作成

するといいかもしれません。

 

【③数値設定に関して:だだっこぱんださん版のRVC WebUI】

基本的に、【①データセットの規模と学習回数に関して】を参考に学習回数を決定してみてください。
だだっこぱんださん版のRVC WebUI

だだっこぱんださん版のRVC WebUIのチュートリアルコード:
RVC-WebUI-ddPn08-Version-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合には、学習(Train)の設定での注意点は

・f0 Model
(f0モデルの設定)
:yes

・Pitch extraction algorithm
(ピッチ抽出アルゴリズム)
:harvest
→ 2023年6月15日以降は、新機能の「crepe」または「mangio-crepe」を選択してみてください。

・Augment
(データオーグメンテーション機能の有効化の設定)
:チェックを入れる

に設定することぐらいかもしれません。
また、日本語の音声変換をする場合には

・Using phone embedder
(phone embedderの設定)
hubert-base-japanese

にします。
推論(Inference)の際には

・Pitch extraction algorithm
(ピッチ抽出アルゴリズム)
harvest
→ 2023年6月15日以降は、新機能の「crepe」または「mangio-crepe」を選択してみてください。

にします。
必要に応じて

・Transpose
(変調)

を微調整してみてください。

注:設定例は2023年6月13日時点の情報です

 

【④数値設定に関して:RVC v2モデル対応のオリジナル版RVC WebUI】

だだっこぱんださん版と同様に【①データセットの規模と学習回数に関して】を参考に学習回数を決定してみてください。
RVC v2モデル対応のオリジナル版のRVC WebUI

RVC v2モデル対応のRVC WebUIのチュートリアルコード:
v2-RVC-WebUI-for-Japanese-AI-beginners.ipynb(The MIT License)| Google Colaboratory

の場合には、学習(Train)の設定での注意点は

・Target sample rate
(サンプリングレート・サンプル周波数)
40k

・Whether the model has pitch guidance (required for singing, optional for speech)
(ピッチガイダンスの設定 – ピッチガイダンスの有無:歌唱時は必須、話し声時は任意)
true

・Version (currently only v2 is supported for 40k sample rate)
(RVCの事前学習モデルのバージョン設定 – 現在、RVC v2は、40kHzのサンプル周波数のみ対応)
v2

・Select the pitch extraction algorithm (‘pm’: faster extraction but lower-quality speech; ‘dio’: improved speech but slower extraction; ‘harvest’: better quality but slower extraction)
(ピッチ抽出アルゴリズムの設定:歌声の処理を高速化するには「pm」を使用。高品質の音声を処理するには「dio」を使用(低速)。最高の品質で処理をするには「harvest」を使用。ただ最も処理が遅くなります。)
harvest

に設定してみてください。
(ただ、何度か試した範囲では、日本語の場合に「hubert-base-japanese」にするよりも「contentvec」の方が良い場合も経験していますので、どちらが良いか?必要に応じて検証してみてください)

推論(Inference)の際には

・Select the pitch extraction algorithm (‘pm’: faster extraction but lower-quality speech; ‘harvest’: better bass but extremely slow; ‘crepe’: better quality but GPU intensive)
(ピッチ抽出のアルゴリズムを選択する – ‘pm’: 抽出が最速だが音声の品質は低い。’harvest’: 品質は向上するが、抽出が最も遅い。”crepe”:品質は最高だが、GPUに負荷がかかります)
crepe

にします。
必要に応じて

・Transpose (integer, number of semitones, raise by an octave: 12, lower by an octave: -12)
(変調:入力は整数で半音数を表します。1オクターブ分上げる:12・1オクターブ下げる:-12))

を微調整してみてください。

注:設定例は2023年6月13日時点の情報です

 

 

【学習編】RVC WebUIのエラー&対応例 – FileNotFoundError: [Errno 2] No such file or directory: ‘file is not prepared’

 

 

【2023年6月4日時点】

学習の際に、以下の設定

・Cache batch:チェックを入れる
・FP16:チェックを入れる
・Augment:チェックを入れる
・Augment From Pretrain:チェックを入れる
・Reduce index size with kmeans:yes

を同時に実施した場合に

・FileNotFoundError: [Errno 2] No such file or directory: ‘file is not prepared’

のエラーが、「ExtractingFeatures」後に出現するようでした。
不思議なのが

・原因を特定しようと、5個の設定を1つずつONにしてみるとエラーが出ない….

という状態でした。
そのため、上述の設定をすべてOFFにしたり、必要なものだけピックアップしたりして何度か学習を試してみてください。
尚、確認時点では

・引き続き、2回目の学習は一度【手順7:依存関係などのインストール & RVC WebUIの起動】を停止させた後に、再起動させ、表示されるリンクで新たな学習をする必要

がありそうでした。
また、

・事前学習モデル「Pre trained generator path」「Pre trained discriminator path」の設定が、初期設定が40kHz・RVC v2モデル用の事前学習モデルが設定されているが、周波数やRVC v1 or v2モデルを変更しても自動反映されない(+RVC v1用の事前学習モデルがインストールされていない)

仕様になっているようでしたので、基本的に

・40kHz・RVC v2モデル

の設定にしておく必要がありそうでした。

(おそらく数日前のアップデート直後ということもあり、まだまだ不具合もあるのではないかと推測されますので、経過を見る必要はありそうです)

 

【追記:2023年6月5日】

FileNotFoundError: [Errno 2] No such file or directory: ‘file is not prepared’

のエラーは、2023年6月の新機能のデータオーグメンテーション機能(学習する際にピッチや話者を変えて学習を行う機能)で

・Augment:チェックを入れる
・Augment From Pretrain:チェックを入れる

にした状態で、追加のデータで学習を行った重み

・Pre trained generator path (pth)
・speaker info path (npy)

のパスを設定しないとエラーとなるようでした。
そのため、追加のデータで学習を行った重みを使用しない場合には、

・Augment:チェックを入れる
・Augment From Pretrain:チェックなし

にすると学習中のモデルを活用したデータオーグメンテーションができるようでした。

 

 

【学習編】RVC WebUIのエラー&対応例 – RuntimeError(‘Error(s) in loading state_dict for {}:\n\t{}’.format〜

 

 

【2023年6月5日時点】

– エラー表示① –

RuntimeError(‘Error(s) in loading state_dict for {}:\n\t{}’.format(
RuntimeError: Error(s) in loading state_dict for MultiPeriodDiscriminator:
Unexpected key(s) in state_dict: “discriminators.7.convs.0.bias”, “discriminators.7.convs.0.weight_g”, “discriminators.7.convs.0.weight_v”, 〜

– エラー表示①:原因と対応例 –

最近のアップデート後に、

・事前学習モデルがRVC v2モデル(40kHz版)のみ

が使用できる仕様に変更(またはバグ?)されているため、

・Model version
(RVCモデルのバージョン選択)

・v2

を必ず選択しないとエラーが出るようになっているようでした。
上述のエラーは、

・Model version:v1
(RVCモデルのバージョン選択)

を選択した際に表示されました。
そのため、現時点(2023年6月5日時点)で実行される場合には、必ず

・Model version:v2
(RVCモデルのバージョン選択)

・Target sampling rate:40k
(サンプリングレート)

を選択するようにしてみてください。

 

– エラー表示② –

RuntimeError(‘Error(s) in loading state_dict for {}:\n\t{}’.format(
RuntimeError: Error(s) in loading state_dict for SynthesizerTrnMs256NSFSid:
Missing key(s) in state_dict: “dec.noise_convs.4.weight”, “dec.noise_convs.4.bias”, “dec.ups.4.bias”, “dec.ups.4.weight_g”, “dec.ups.4.weight_v”, 〜

– エラー表示2:原因と対応例 –
上記のエラーは、

・Model version:v2
(RVCモデルのバージョン選択)

・Target sampling rate:48k
(サンプリングレート)

などと、RVC v2モデル(2023年6月5時点では40kHzのみ対応)を選択した状態で、非対応の周波数を選択するとエラーとなるようでした。
そのため、現時点(2023年6月5日時点)で実行される場合には、必ず

・Model version:v2
(RVCモデルのバージョン選択)

・Target sampling rate:40k
(サンプリングレート)

を選択するようにしてみてください。

 

 

【学習編】RVC WebUIのエラー&対応例 – FileNotFoundError: [Errno 2] No such file or directory: ‘/content/rvc-webui/configs/40k-256.json’

 

 

【2023年6月6日時点】

– エラー表示 –

FileNotFoundError: [Errno 2] No such file or directory: ‘/content/rvc-webui/configs/40k-256.json’
*「Target sampling rate:」(サンプリングレート)を「40k」に、「Embedding channels:」(次元数の設定)を「256」に設定した場合の例

FileNotFoundError: [Errno 2] No such file or directory: ‘/content/rvc-webui/configs/32k-256.json’
*「Target sampling rate:」(サンプリングレート)を「32k」に、「Embedding channels:」(次元数の設定)を「256」に設定した場合の例

FileNotFoundError: [Errno 2] No such file or directory: ‘/content/rvc-webui/configs/48k-256.json’
*「Target sampling rate:」(サンプリングレート)を「48k」に、「Embedding channels:」(次元数の設定)を「256」に設定した場合の例

– エラー表示:原因と対応例 –

Embedding channels:」(次元数の設定)の設定を「256」に設定するとエラー(「256-40k.json」を参照しようとするためエラー)となるようです。

そのため、ここの設定は基本的に「768」に設定するようにしてください。

暫定的な対応例としては

・「40k.json
*場所:「rvc-webui」フォルダの「configs」内に「40k.json」があります)

のファイル名を半角英数で

・「40k-256.json

に変えると学習ができるようでした。

 

 

【学習・推論編】スマホでだだっこぱんだ🍞さん版RVC WebUIは使えますか?

 

 

【2023年6月9日時点】

はい。
Google Colaboratoryのチュートリアルコードを使い、スマートフォンで、学習〜推論まで実行できた報告をしてくださった方もいらっしゃいました。
注意点としては、(理由は分かりませんが…)学習時の設定の

Pitch extraction algorithm:
(ピッチ抽出アルゴリズム)

を、

「dio」

にした際に、上手くいったようでした。
harvest」にした際には音声変換(推論)が上手くいかなかったようでした。

また、iOSの場合、Apple純正の「ファイル」アプリなどをダウンロードしないと、フォルダ・ファイルの操作ができないと思いますので注意してください。

 

 

だだっこぱんだ🍞(ddPn08)さんにコンタクト・支援

 

 

だだっこぱんだ🍞(ddPn08)さん版のRVC WebUIに関する問題報告ページ:
【Issues】ddPn08/rvc-webui – GitHub
*2023年5月確認時点では「GitHubのIssueに投稿」していただくのが一番早く問題に気がつかれるとのことです。

だだっこぱんだ🍞(ddPn08)さんを支援:
rvc-webuiの更新で多分最高品質になった学習方法 – 2023年4月26日 | PIXIV FANBOX

だだっこぱんだ🍞ko-fi.com/ddpn08 | Ko-fi

 

【だだっこぱんだ🍞(ddPn08)さんの今後の展望:2023年6月12日時点】

今後の動向が楽しみですね♪

 

 

 

by 子供プログラマー | プログラミング入門ウェブ教室

 

 

 

わずか…数秒(3秒)〜10秒程度の音声ファイルでAIボイスチェンジ&テキスト音声合成(TTS)に挑戦
日本人のためのVALL-E Xの使い方:日本語音声で感情反映型AIボイスチェンジTTS 

 

【音声認識】

【Python入門】日本語の文字起こしのやり方(音声認識:音声ファイル編)サンプルコード 

 

【音声合成】

RVC WebUIで作成したオリジナル学習モデルを使ってテキスト音声合成に挑戦!
VG WebUIの使い方:AIボイスチェンジャー(RVC WebUI)の学習モデルでテキスト音声合成(テキストの音声読み上げ:TTS – Text to Speach)入門 

【PyTorch入門】日本語のテキスト音声合成(E2E-TTS)- ESPnet・Tacotron 2版