🚀 BigVGAN: 大規模学習を用いた汎用的なニューラルボコーダ
BigVGANは、大規模学習を用いた汎用的なニューラルボコーダです。音声合成やオーディオ生成において高い性能を発揮します。
Sang - gil Lee, Wei Ping, Boris Ginsburg, Bryan Catanzaro, Sungroh Yoon
[論文] - [コード] - [[展示]](https://bigvgan - demo.github.io/) - [プロジェクトページ] - [[重み]](https://huggingface.co/collections/nvidia/bigvgan - 66959df3d97fd7d98d97dc9a) - [デモ]
[
](https://paperswithcode.com/sota/speech - synthesis - on - libritts?p=bigvgan - a - universal - neural - vocoder - with - large)
🚀 クイックスタート
このリポジトリは、事前学習されたBigVGANのチェックポイントを含み、推論を簡単に行うことができます。また、huggingface_hub
のサポートも追加されています。
✨ 主な機能
- 大規模学習を用いた汎用的なニューラルボコーダ
- 高速な推論のためのカスタムCUDAカーネル
- Hugging Face Hubとの統合による簡単な推論
📦 インストール
このリポジトリには、事前学習されたBigVGANのチェックポイントが含まれており、推論を簡単に行うことができます。モデルの学習や追加の機能に興味がある場合は、公式のGitHubリポジトリを参照してください:https://github.com/NVIDIA/BigVGAN
git lfs install
git clone https://huggingface.co/nvidia/bigvgan_v2_44khz_128band_256x
💻 使用例
基本的な使用法
以下の例は、BigVGANを使用する方法を説明しています。Hugging Face Hubから事前学習されたBigVGANジェネレータをロードし、入力波形からメルスペクトログラムを計算し、メルスペクトログラムをモデルの入力として合成波形を生成します。
device = 'cuda'
import torch
import bigvgan
import librosa
from meldataset import get_mel_spectrogram
model = bigvgan.BigVGAN.from_pretrained('nvidia/bigvgan_v2_44khz_128band_256x', use_cuda_kernel=False)
model.remove_weight_norm()
model = model.eval().to(device)
wav_path = '/path/to/your/audio.wav'
wav, sr = librosa.load(wav_path, sr=model.h.sampling_rate, mono=True)
wav = torch.FloatTensor(wav).unsqueeze(0)
mel = get_mel_spectrogram(wav, model.h).to(device)
with torch.inference_mode():
wav_gen = model(mel)
wav_gen_float = wav_gen.squeeze(0).cpu()
wav_gen_int16 = (wav_gen_float * 32767.0).numpy().astype('int16')
高度な使用法
カスタムCUDAカーネルを使用して合成を行うことができます。BigVGANをインスタンス化する際に、use_cuda_kernel
パラメータを使用します。
import bigvgan
model = bigvgan.BigVGAN.from_pretrained('nvidia/bigvgan_v2_44khz_128band_256x', use_cuda_kernel=True)
初めて適用するときは、nvcc
とninja
を使用してカーネルをビルドします。ビルドが成功すると、カーネルはalias_free_activation/cuda/build
に保存され、モデルは自動的にカーネルをロードします。コードベースはCUDA 12.1
でテストされています。
システムに両方がインストールされていること、およびシステムにインストールされているnvcc
のバージョンがPyTorchビルドで使用されているバージョンと一致することを確認してください。
詳細については、公式のGitHubリポジトリを参照してください:https://github.com/NVIDIA/BigVGAN?tab=readme - ov - file#using - custom - cuda - kernel - for - synthesis
📚 ドキュメント
事前学習済みモデル
[Hugging Face Collectionsに事前学習済みモデル](https://huggingface.co/collections/nvidia/bigvgan - 66959df3d97fd7d98d97dc9a)を提供しています。リストされたモデルリポジトリ内で、ジェネレータの重み(bigvgan_generator.pt
という名前)とその識別器/オプティマイザの状態(bigvgan_discriminator_optimizer.pt
という名前)のチェックポイントをダウンロードすることができます。
📄 ライセンス
このプロジェクトはMITライセンスの下でライセンスされています。詳細については、ライセンスファイルを参照してください。