サウンドのクローニングを教えます (so-vits-svc)

序文

ChatGPT の爆発的な普及により、AIGC (人工知能によって生成されたコンテンツ) が再び人々の目に留まりました。特にテキストと画像の生成の分野では、GPT-4 や Midjourney などのアプリケーションを通じて、さまざまな素晴らしいテキストと画像が生成されます。

しかし、AI の生成能力はそれ以上のものです。

約 1 時間の音声データを使用して AI 音色変換モデルをトレーニングし、この曲を生成しました. 効果は次のとおりです.コメント欄にメッセージを残して、それが誰であるかを推測できますか?

Xiaoban-AI合成

動画で使用されている技術は、音声から音声への変換アルゴリズムである so-vits-svc で、音色変換アルゴリズムに属し、通常の発話に対応し、歌声の音色変換にも対応しています。以下に、so-vits-svc の使用方法を詳しく説明します

 1.準備

トレーニングデータは非常に重要です.高品質のオーディオデータが多いほど効果が高くなります.少なくとも1時間のオーディオを準備することをお勧めします.

グラフィック カードは、8G 以上のビデオ メモリを搭載した N カードを使用することをお勧めします。

プロジェクトに必要なコードとツールを整理しました. 必要な場合は、コメント欄にメッセージを残すか、下のリンクから私に連絡してください.

もちろん、オープン ソース コードで直接デプロイすることもできます。アドレスは次のとおりです。

GitHub - svc-develop-team/so-vits-svc: SoftVC VITS 歌声変換

2. 環境のインストール

1. pytorch ディープ ラーニング フレームワークをインストールする

需要安装pytorch、  torchaudio、 torchvision三个库

以前書いたhttps://yunlord.blog.csdn.net/article/details/129812705?spm=1001.2014.3001.5502参照

2. 関連する依存関係をインストールする

ダウンロードしたプロジェクトには、windows を例にとると、2 つの requirements.txt が含まれていることがわかります。

プロジェクトに入り、プロンプトから次のコマンドを入力します。

pip install -r requirements_win.txt

3. データ処理

トレーニング オーディオと、予測 (または変換) する必要があるオーディオは、キャラクターの乾いた声でなければなりません。つまり、オーディオには背景音、伴奏、コーラスなどを含めることができないため、トレーニングと予測の両方にデータ処理が必要です。

1.ボーカルを抽出する

UVR5ソフトウェアにより、伴奏とボーカルの分離を実現できます。

Windows で直接使用し、ソフトウェアを開き、次のように構成できます。

ボーカルと伴奏を分離するために実行します。

次に、以下の構成に従ってコーラスを削除します。

 抽出されたクリーンなボーカル オーディオはトレーニングに使用できます。

2.音声をカット

ただし、オーディオが長すぎるため、30 秒を超えないようにする必要があります.ビデオ メモリがバーストしやすく、オーディオ ファイルをスライスする必要があります.

Audio Slicer ツールを使用してオーディオ セグメンテーションを実装します。

slicer-gui.exe を直接実行します。

入力パスを入力し、出力パスを入力し、その他のパラメータはデフォルトであるため、セグメント化されたオーディオ セグメントが取得されます。

カットしてから一枚ずつ聴いて、効果の悪いものは削除することをお勧めします. 多数のオーディオよりも高品質のオーディオの方が優れています. また、30 秒以上ある場合は、python オーディオ カット コードを記述してカットできます。

プロジェクトの so-vits-svc-4.0/dataset_raw ディレクトリの下に、mine is wang_processed などのフォルダーを作成し、処理済みのデータをその中に入れます。

4. トレーニング モデル

モデルをトレーニングする前に、元のモデルをダウンロードして対応する位置に配置する必要があります

  • checkpoint_best_legacy_500.pt をhubertフォルダーに
  • 将D_0.pth和G_0.pthlogs/44kディレクトリに入れる

1. データの前処理

次に、プロジェクトで1. Data preprocessing.batを直接実行できます。

このスクリプトは、各 py スクリプトを実行する手順に従います。

(1) 44100Hz モノラルにリサンプリング

python resample.py

(2) トレーニングセット、検証セットを自動分割し、設定ファイルを自動生成

python preprocess_flist_config.py

(3) Hubert と f0 を生成する

python preprocess_hubert_f0.py

処理後、datset/44k の下にフォルダーが生成され、その中のデータは次の図のようになります。

dataset_raw フォルダーは削除できます。

2. モデルトレーニング

プロジェクトで2.training.batを直接実行して、トレーニングを開始します。

python train.py -c configs/config.json -m 44k

グラフィックス カードが十分に優れている場合は、batch_size を増やしてトレーニング速度を向上させることができます. 対応する構成ファイルは configs/config.json ファイルにあります.

この訓練時間は非常に長く、個人的にはデータが良ければ30,000ラウンド以上の訓練が効果があると感じています。

3. クラスタリング モデルのトレーニング

プロジェクトの3. トレーニング クラスタリング model.bat を直接実行してトレーニングを開始します。これは比較的高速で、数分で完了できます。

これは主に音色の漏れを減らすためであり、モデルがターゲットの音色により近くなるようにトレーニングされますが(特に明白ではありません)、単純なクラスタリング スキームはモデルのアーティキュレーション (スラーリング) を減らします (これは明らかです)。このモデルは、クラスタリング方式と非クラスタリング方式の比率を線形に制御できる融合方式を採用しています。つまり、「ターゲットトーンのような」と「明確なアーティキュレーション」の比率を手動で調整して、適切な妥協点。

クラスタリングの前に既存のステップに変更を加える必要はなく、追加のクラスタリング モデルをトレーニングするだけでよく、効果は比較的限定的ですが、トレーニング コストは比較的低くなります。

  • トレーニング プロセス:
    • Execution python cluster/train_cluster.py 、モデルの出力はlogs/44k/kmeans_10000.pt
  • 推論プロセス:
    • inference_main.pyで指定cluster_model_path
    • inference_main.pyin を指定してcluster_infer_ratio0クラスタリングをまったく使用しない場合、1クラスタリングのみを使用する場合、通常は設定する0.5だけです

4. 推論予測

(1) 乾いた音を用意する

歌の乾音を用意する 前述のオーディオ素材の準備と同じ方法で乾音を処理し、90 年代を超えない乾音素材を UVR5 で抽出できます。

(2) 機種名の修正

app.py で次の行を変更します。

トレーニング済みモデルは logs/44k ディレクトリに保存されます。ここでは、トレーニング済みモデルのアドレスと対応する構成ファイルに変更され、最後に 3 番目のステップで生成された pt ファイルへのパスが変更されます。

(3) ウェブを実行

プロジェクトで4. 推論の predict.batを直接実行します。

プログラムは webui を直接開き、開いた URL をブラウザーのアドレス バーに直接コピーして開きます。

これは単純な Web ページで、その中のパラメータをデフォルトのものとして直接使用したり、オーディオを挿入したり、音色を変換したりできます。

 

要約する

テクノロジーを悪用してはいけません。これは強調しなければなりません。このチュートリアルは、コミュニケーションと学習のみを目的としています。

AI技術の絶え間ない発展により、AIはあらゆる種類の想像を絶することを行うことができます.私たちができることは、技術の開発を規制し、AIを使用して社会に有益なことを行うことです.

誰でもコメント欄にメッセージを残してください 誰だと思いますか?

参考:

1. AI Voice Clone チュートリアル - 哔哩哔哩

2.so-vits-svc3.0 中国語の詳しいインストール、トレーニング、推論のチュートリアル_Sucial のブログ - CSDN ブログ

3.so-vits-svc/README_zh_CN.md at 4.0 · svc-develop-team/so-vits-svc · GitHub

おすすめ

転載: blog.csdn.net/kobepaul123/article/details/129820717