はじめに
VoiceCraftは、Neural Codec言語モデルをベースとしたオープンソースの音声編集・ゼロサンプル音声合成ツールです。革新的な符号化シーケンス生成方法を採用しており、既存の音声シーケンスに対して挿入、削除、置換操作を行うことで、自然で首尾一貫した編集音声を生成することができます。また、VoiceCraftはゼロサンプル音声合成をサポートしているため、特定の話者のために微調整を加える必要がありません。このツールは、いくつかの音声処理タスクで優れた性能を発揮し、現在の業界のSOTAモデルを大幅に上回っています。
機能一覧
- 音声編集:挿入、削除、置換操作をサポートし、自然で滑らかな編集音声を生成します。
- ゼロサンプル音声合成:微調整なしでターゲット話者の音声を生成します。
- トランスフォーマーアーキテクチャに基づき、因果マスキングと遅延スタッキング技術を使用して、世代品質を向上させる。
- オープンソースモデル:HuggingfaceとAI Expressで無料でダウンロードして使用できます。
- インタラクティブなUI: Gradioライブラリとの統合により、ユーザーは直感的にモデルをコントロールし、テストすることができます。
ヘルプの使用
設置プロセス
- プロジェクトリポジトリをローカルディレクトリにクローンする:
ギット クローン git@github.com:jasonppy/VoiceCraft.git cd ボイスクラフト
- DockerとNVIDIA Container Toolkitがシステムにインストールされていることを確認してください(Windowsシステムにはドライバが組み込まれています):
sudo apt-get install -y nvidia-container-toolkit-base
- Dockerイメージをビルドする:
docker build --tag "ボイスクラフト" .
- 既存のコンテナを起動するか、新しいコンテナを作成し、すべてのGPUを渡す:
./start-jupyter.sh # リナックス スタートジュピターバット # ウィンドウズ
- ブラウザを開き、端末に表示されたURLにアクセスする:
docker logs jupyter
- オプション:他のターミナルからコンテナ内部へのアクセス:
ドッカー エグゼック -jupyter /bin/bash 輸出 USER=(your_linux_username_used_above) 輸出 HOME=/home/$USER sudo apt-get update
- グラフィックスカードがコンテナ内に見えることを確認します:
エヌビディア・スミ
- ブラウザで開く
推論_ts.ipynb
セルは段階的に実行される。
環境設定
- 仮想環境を作成し、起動する:
conda create -n voicecraft python=3.9.16 voicecraft を起動します
- 必要な依存関係をインストールします:
pip install -e git+https://github.com/facebookresearch/audiocraft.git@c5157b5bf14bf83449c17ea1eeb66c19fb4bc7f01TP5テグ=アウディオクラフト pip install xformers===0.0.22 pip install torchaudio==2.0.2 torch==2.0.1 apt-get install ffmpeg apt-get install espeak-ng pip install tensorboard==2.16.2 pip install phonemizer==3.2.1 pip install datasets==2.16.0 pip install torchmetrics==0.11.1 pip install huggingface_hub==0.22.2 condaをインストール -c conda-forge montreal-forced-aligner=2.2.17 openfst=1.8.2 kaldi=5.5.1068 mfa モデル辞書ダウンロード english_us_arpa mfaモデルダウンロード音響 english_us_arpa conda install -n voicecraft ipykernel --no-deps --force-reinstall
推論の例
- 音声編集の推論:
pythonemize_encodec_encode_hf.py --dataset_size xs --download_to path/to/store_huggingface_downloads --save_dir path/to/store_extracted_codes_and_phonemes --encodec_model_path path/to/encodec_model --mega_batch_size 120 --batch_size 32 --max_len 30000
- ゼロサンプル音声合成推論:
python tts_demo.py -h
グラディオ
- Colabで実行する:
オープン で コラボ
- ローカルで走っている:
apt-get install -y espeak espeak-data libespeak1 libespeak-dev apt-get install -y festival* apt-get install -y build-essential apt-get install -y flac libasound2-dev libsndfile1-dev vorbis-tools apt-get install -y libxml2-dev libxslt-dev zlib1g-dev pip install -r gradio_requirements.txt python gradio_app.py
一般的な問題
- 生成された音声の自然さを向上させるには? 入力テキストの内容が、ターゲットスピーチサンプルのスタイルや文脈と一致していることを確認します。
- 生成された音声ファイルにノイズがある場合はどうすればよいですか? より高品質の音声サンプルを使用するか、モデルのパラメータを調整してみてください。