説明
WaveGlowは、NVIDIAの研究者であるライアン・プレンジャー、ラファエル・バレー、ブライアン・カタンサロによって開発された音声合成のためのフローベースの生成ネットワークです。GlowとWaveNetのアイデアを組み合わせて、メルスペクトログラムから高品質の音声オーディオを生成します。従来のボコーダーが依存していた自動回帰デコーディングステップは必要ありません。
続きを読む
このネットワークは、単一のコスト関数で訓練された単一のモデルとして実装されています:訓練データの尤度を最大化します。付随する論文によれば、これにより訓練がよりシンプルで安定し、PyTorch実装はNVIDIA V100 GPU上で1200 kHzの速度でオーディオを生成し、当時の最良の公開WaveNet実装と同等の平均意見スコアを報告しています。
リポジトリには、この作業を再現または拡張するために必要なすべてが提供されています。事前訓練済みのWaveGlowチェックポイントと一致するメルスペクトログラムファイルが利用可能で、inference.pyスクリプトを使用してメルスペクトログラムファイルのリストからオーディオを合成することができます。新しいモデルの訓練のために、リポジトリにはLJ Speechデータセット形式に基づいたスクリプトが含まれています:ファイルリストは訓練セットとテストセットに分割され、mel2samp.pyを使用してメルスペクトログラムが生成され、train.pyを通じて訓練が行われ、distributed.pyはマルチGPUセットアップ用に利用可能です。混合精度(fp16)訓練は、モデルの設定ファイルを通じて有効にできます。別の変換スクリプトであるconvert_model.pyは、現在のアーキテクチャで動作するように、現在のバージョンが残差接続とスキップ接続をネットワークに統合しているため、以前のアーキテクチャで保存された古いチェックポイントを更新します。
セットアップは、リポジトリをクローンし、そのgitサブモジュールを初期化し、Pythonの要件をインストールし、訓練と推論コードが依存するNVIDIAのApexライブラリをインストールすることから始まります。このプロジェクトはパッケージ化されたアプリケーションではなく研究リリースであるため、使用するにはグラフィカルインターフェースではなく、これらのコマンドラインスクリプトを直接操作する必要があります。
WaveGlowは、推論を実行したり、新しい音声データで再訓練したり、WaveNetなどの他の生成アプローチと比較したりするためのリファレンスボコーダー実装を求める音声合成の研究者やエンジニアを対象としています。モデルによって生成されたオーディオサンプルは、プロジェクトのリンクされたウェブサイトで入手可能で、付随する論文は音声品質を評価するために使用された平均意見スコア評価を文書化しています。
- カテゴリーテキスト読み上げ
- 料金モデルオープンソース
- デプロイクラウド, セルフホスト
- プラットフォームNVIDIA Blackwell, DRIVE, Jetson, RTX
WaveGlowの主要機能
メルスペクトログラムから自動回帰デコーディングステップなしで直接音声オーディオを生成
単一の最大尤度コスト関数で訓練
推論用の事前訓練済みWaveGlowチェックポイントと一致するメルスペクトログラムデータを提供
LJ Speechデータセット形式で新しいモデルを訓練するためのスクリプトを含む
NCCLを介したマルチGPU分散訓練をサポート
混合精度(fp16)訓練と推論をサポート
古いチェックポイントを現在のアーキテクチャに更新するための変換スクリプトを含む
付随する論文によると、NVIDIA V100 GPU上で1200 kHzでのオーディオ生成を報告
WaveGlowをはじめる
リポジトリをクローン:NVIDIA/waveglowをクローンし、そのサブモジュールを初期化します。
依存関係をインストール:Pythonの要件とApexライブラリをインストールします。
データを取得:事前訓練済みのWaveGlowモデルとサンプルメルスペクトログラム、または独自の訓練用にLJ Speechデータセットをダウンロードします。
推論を実行:inference.pyを使用してメルスペクトログラムからオーディオを生成します。
訓練(オプション):独自のデータセットでtrain.pyまたはマルチGPU用のdistributed.pyを実行します。
出力を評価:生成されたオーディオの品質を比較し、fp16やシグマパラメータなどの設定を調整します。
WaveGlowの使用例
- テキストから音声へのボコーディング
- ボコーダー研究
- カスタム音声訓練





