AI 音声クローニングは、音声の固有の特徴を捉えて正確に複製する技術です。この技術により、既存のサウンドを複製するだけでなく、まったく新しいサウンドを作成することもできます。これは、パーソナライズされた曲からカスタムのナレーションまで、コンテンツ作成に革命をもたらし、言語や文化の壁を越えた創造性の世界を切り開くツールです。 この記事では、AI 音声クローン技術を活用したエンドツーエンドのソリューションを紹介します。カスタム モデルをトレーニングすることで、任意のオーディオを選択したアーティストのトーンや自分の声に変換できます。 技術的背景この記事で使用する技術は、歌声変換と呼ばれるもので、具体的には「SoftVC VITS 歌声変換」の略である SO-VITS-SVC と呼ばれるシステムです。 SO-VITS-SVC システムは、ディープラーニング技術を使用したサウンド変換 (SVC) の高度な実装を表します。このシステムを理解するには、使用される特定の機械学習アーキテクチャとアルゴリズムを理解する必要があります。 1. 変分推論と生成的敵対ネットワークSO-VITS-SVC の中核となるのは、テキスト読み上げ用変分推論 (VITS) アーキテクチャです。このシステムは、変分オートエンコーダ (VAE) と生成的敵対ネットワーク (GAN) を巧みに組み合わせています。 SVC では、メル スペクトログラムはオーディオ信号の重要な表現です。VAE を使用してメル スペクトログラムの分布をモデル化すると、音声の潜在的な変数を捉えるのに役立ちます。 VAE損失関数は以下のように表される。ここで、x は入力メル スペクトログラム、z は潜在変数、KL は Kullback-Leibler ダイバージェンスです。 上記の式は、VAE 損失関数をカプセル化し、Kullback-Leibler ダイバージェンスを通じてメル スペクトログラムの再構築と潜在空間の正規化のバランスをとります。 GAN は合成オーディオのリアリティを高めます。 GAN の識別器はジェネレータの出力を判断し、ジェネレータの精度を向上させます。 GAN 損失関数は次のとおりです。 GAN 損失関数は、生成モデルを駆動して区別がつかない歌声を生成する敵対的トレーニング ダイナミクスを示します。 変分オートエンコーダ (VAE) と敵対的生成ネットワーク (GAN) を完全に理解したい場合は、次の元の論文をご覧ください。 VAE: Kingma, DP、Welling, M.「Auto-Encoding Variational Bayes」arXiv:1312.6114、2013 年。 GAN: Goodfellow, IJ, et al. 「Generative Adversarial Nets」 arXiv:1406.2661, 2014。 2. 浅い拡散プロセス添付の図に示すように、浅い拡散プロセスはノイズ サンプルから始まり、一連の変換を通じて徐々に構造化されたメル スペクトログラムに洗練されます。 上の図は、浅い拡散モデルの初期ノイズ生成からメル スペクトログラムの改良、最終的な可聴音出力の音声エンコードまでの SO-VITS-SVC 合成パイプラインを示しています。 初期ノイズ サンプル: 拡散プロセスの開始点となるノイズの視覚的表現。 変換手順: ノイズは拡散モデル内の一連の手順を経て、無秩序な状態から構造化されたメル スペクトログラムに移行します。ここで、xt はステップ t におけるデータであり、ε はガウスノイズを表します。 上記の式は、ランダム ノイズを対象の歌声の微妙なニュアンスを捉える構造化データに変換する拡散プロセス中の段階的な変換を示しています。 SO-VITS-SVC のコンテキストでは、「浅い」とはレイヤーやステップが少なく、計算効率とオーディオ品質のバランスが取れていることを意味します。 メル スペクトログラムの最適化: このプロセスの結果は、歌声のオーディオ コンテンツをカプセル化したメル スペクトログラムであり、次の合成段階の準備が整います。 サウンド エンコーディング: 最後のサウンド エンコーディング ステップでは、メル スペクトログラムをサウンド波形 (聞き取れる歌声) に変換します。 拡散モデルを詳しく調べたい場合は、次のリソースをご覧ください。 Sohl-Dickstein, J., et al. 「非平衡熱力学を用いた教師なし深層学習」arXiv:1503.03585, 2015年。 Ho, J., et al. 「拡散確率モデルのノイズ除去」arXiv:2006.11239, 2020年。 3. プロセス全体とSVCシステムの統合浅い拡散モデルがノイズをより一貫した形式に構造化した後、生成されたメル スペクトログラムは、前述のグラフに示すように、歌声の微妙なオーディオ コンテンツをキャプチャします。このメル スペクトログラムは、生の非構造化データと最終的なサウンド出力の間の重要な橋渡しとして機能します。 最適化されたメル スペクトログラムは、ボコーダーを使用してオーディオ波形に変換されます。このステップでは、視覚データが可聴な歌声に変換されます。ボコーダーの役割は、メル スペクトログラムでキャプチャされたピッチ、音色、リズムの微妙な違いを合成して、最終的な歌声出力を生成することです。 高忠実度の合成を実現するために、SO-VITS-SVC システムを再トレーニングして最適化します。トレーニングは、VAE、GAN、拡散モデル コンポーネントの寄与を組み合わせた損失関数を最適化することから構成されます。この最適化は、全体的な損失を最小限に抑えることを最終目標として、確率的勾配降下法や Adam などのアルゴリズムを使用して実行されます。このプロセスにより、最終的な出力が音色、ピッチ、リズムの点で対象の歌声に非常に近くなることが保証されます。 このプロセスの最終結果は、対象の歌声に非常によく似た合成音声です。ソースサウンドの音楽性と表現のニュアンスを維持しながら、ターゲットの音質を採用する能力は、SO-VITS-SVC システムの洗練性を反映しています。 4. 使用されるPythonライブラリGitHub の SO-VITS-SVC フォークは、リアルタイムのボーカル変換用に設計されたプロフェッショナル ツールです。これは、CREPE を使用したより正確なピッチ推定、グラフィカル ユーザー インターフェイス (GUI)、トレーニング時間の短縮、pip インストール ツールの使いやすさなど、強化された機能を提供するオリジナルの SO-VITS-SVC プロジェクトのフォークです。 また、QuickVC を統合し、元のリポジトリに存在するいくつかの問題を修正しました。リアルタイム音声変換にも対応しています。使い方を実演してみましょう。 AI音声クローンサウンドクローニングは、一般的に推論段階と呼ばれ、ニューラルネットワークモデルが特定のサウンドを理解するためにデータセットでトレーニングされた後、学習したサウンドを使用して新しいコンテンツを生成するプロセスを指します。 この段階では、事前トレーニング済みのモデルに新しい入力(生のボーカル オーディオ)を提供することで AI に「歌わせる」ことができ、アーティストの歌唱スタイルを模倣した生のボーカル オーディオの出力が生成されます。 1. 環境を整える簡単にするために、仮想環境を作成してから使用します。 必要なライブラリをインストールします。
svcコマンドを実行して、次の図のようなエラーが発生した場合 pip uninstall Torchaudio を使用して Torchaudio をアンインストールし、次に pip install Torchaudio を使用して再インストールする必要があります。これは、一部の依存関係が完全にインストールされていないことが原因である可能性があります。そのため、それらをアンインストールして再インストールしてください。 2. 事前学習済みモデルEntrepreneurdlyはHuggingfaceで多くの事前トレーニング済みモデルを提供しています 直接ダウンロードして使用します:
3. クリーンなオーディオファイルを選択する次のステップはオーディオをコピーすることですが、ここでのオーディオは人間の声のみのクリーンなオーディオ ファイルである必要があります。オーディオにノイズが多い場合は、手動で前処理する必要があります。ソースオーディオの品質は音声変換の忠実度に大きく影響する可能性があるため、常に高品質でクリーンな録音を使用することをお勧めします。
4. 推論を実行する
5. 出力の表示出力オーディオは、Jupyter ノートブックまたは任意の IPython インターフェースに直接表示できます。
GUIの使用 SO-VITS-SVC システムは、音声変換を実行するためのオプションの GUI を提供します。次のコマンドで起動できます
独自のAIモデルをトレーニングする上記では、事前トレーニング済みのモデルを使用した推論プロセスを示しました。次に、独自のモデルをトレーニングする方法を紹介します。 SO-VITS-SVC システムを使用してカスタム歌声変換モデルをトレーニングするために必要な手順を示します。まずデータセットを準備し、環境設定とモデルのトレーニングに進み、最後に既存のオーディオクリップから歌声を生成する生成に進みます。 このタスクは計算負荷が高いため、ハイエンドの GPU と大容量の VRAM (通常 10 GB 以上) を備えたシステムが必要です。個人のハードウェアがこれらの要件を満たしていない場合は、Google Colab が実行可能な代替手段となり、強力な GPU と十分なメモリ (T4 GPU で十分) へのアクセスを提供します。 1. データの準備カスタム so-vits-svc モデルのトレーニングに適した多くの音声データセットは、Hugging Face で見つかります。しかし、独自のモデルをカスタマイズして、独自の声の特徴を反映させるには、自分の声を録音する必要があります。 サウンドサンプルの要件:
サウンドサンプルの前処理オーディオ トラックからバックグラウンド ノイズを除去する必要があります。 Spleeterライブラリはこの機能を実現できる
オーディオ トラックをセグメントに分割: AudioSlicer を使用すると、大きなオーディオ ファイルをモデルのトレーニングに適した 10 ~ 15 秒のセグメントに分割できます。
現在のディレクトリにdataset_rawフォルダが作成され、録音はdataset_raw/{speaker_id}ディレクトリに保存されます(以下のフォルダ構造を参照)。
処理された音声はこの形式で保存できます 次に、svcを自動的に前処理するために実行する必要があります。
2. トレーニング構成トレーニングの前に、config/44k/ ディレクトリに config.json ファイルを作成してモデルを構成する必要があります。この構成ファイルの主なパラメータには、log_interval、eval_interval、epochs、batch_size が含まれます。 サンプル数が 200 でバッチ サイズが 20 のデータセットの場合、各トレーニング エポックは 10 ステップに相当します。 100 エポックトレーニングすると、これは 1,000 ステップに相当します。 デフォルト設定では 10,000 ステップが提案される場合がありますが、ハードウェアとデータセットのサイズに応じて、これを調整する必要がある場合があります。実用的なアプローチとしては、20,000 ステップ (20000/10 はおよそ 2000 エポックに相当) を目指し、パフォーマンスを評価してトレーニングを延長するかどうかを決定することが考えられます。 3. トレーニングを始める実際のモデルトレーニングを開始するには、svc train コマンドを使用します。 4. モデル推論モデルのトレーニング、微調整、検証が完了したら、次のステップは推論を実行してソース オーディオをターゲット音声に変換することです。 結果を見ることができます 要約するSO-VITS-SVC (拡散モデルと変分オートエンコーダに基づく歌声変換システム) は、リアルタイムの歌声変換を実現するための強力なツールです。 SO-VITS-SVC システムは、拡散モデル、変分オートエンコーダー、生成的敵対ネットワークなどの技術を組み合わせることで、歌のニュアンスを捉え、高品質の合成歌声を生成することができます。 SO-VITS-SVC システムは、音楽制作、音声合成、音声変換などのさまざまなシナリオに適用できる強力で柔軟な歌声変換ツールであり、ユーザーにパーソナライズされた歌声変換を実現する利便性と可能性を提供します。 so-vits-svc-fork アドレス: https://github.com/voicepaw/so-vits-svc-fork |
>>: 調査によると、AIはデータ文化に大きな影響を与えている
ベンチャーキャピタルの億万長者マーク・アンドリーセン氏は、世界は現在人工知能に関して「ヒステリー」状...
[[342573]]研究室の菌類1928 年、スコットランドの研究者アレクサンダー・フレミングが休暇...
人工知能に関して言えば、かつて映画「マトリックス」で描かれたSFシーンが世界に衝撃を与え、トレンドを...
写真トークン、ベクトル、埋め込み、アテンション、これらの AI モデル用語は、いつも馴染みがありそう...
若い才能、輝かしい経歴、上司からの評価、順調なキャリア、明るい未来...これらは、2016 年初頭に...
私は長年、学界と産業界の両方で機械学習モデリングに取り組んできましたが、Scalable ML で「...
人間の皮膚は柔軟性があり、触り心地がよく、自己治癒力があるため、複製するのが難しいです。しかし、科学...
[[246000]]ビッグデータダイジェスト制作編曲:李佳、メロディー、雲周機械学習は、データ内のパ...
負荷分散とは負荷分散(英語名は Load Balance)とは、複数のサーバーを対称的に構成したサー...