Skip to content

flect-higashi/contentvecjp

Repository files navigation

ContentVecJP

このリポジトリは、日本語音声データセットを用いてContentVecを学習させるためのコードを提供します。

English version is here.

概要

本プロジェクトには以下が含まれます:

  • 日本語音声データセット用前処理ユーティリティ(現在JVSコーパスとReazonSpeechを使用)
  • 教師ラベル作成スクリプト
  • ContentVecJPモデル用トレーニングスクリプト
  • モデル評価用のスクリプト(CTCデコーダーによるCER/WER評価)

Important

本リポジトリ(特に上流タスク)は、モデル精度向上のため開発中です。そのため、互換性を損なう変更が導入される可能性があります(現在のバージョンでも動作します)。

要件

コードはPyTorch、TorchAudio、PyTorch Lightningバージョン2.5以降を使用して構築されています。

Python3.11以降で必要なパッケージをインストールしてください。

# リポジトリをクローン(submoduleのspeech-resynthesisもクローン)
git clone https://github.com/flect-higashi/contentvecjp.git --recursive
cd contentvecjp

# Poetryで依存関係をインストール
poetry install

# またはpipで依存関係をインストール
pip install -e .

使用方法

1. 上流タスクを実行して教師ラベルを作成する

詳細はupstreamディレクトリとREADMEを参照してください。

2. モデルのトレーニング

テストをgradient accumulationを使用してGPU1枚 (RTX5090)で行ったため、1枚のGPUで動かすためのスクリプトと設定ファイルを提供しています(引用元の論文ではGPU36枚でトレーニングされています)。

デフォルト設定でトレーニングを実行するには、上流タスク完了後にbash run_single.shを実行してください。32GB以上のVRAMの使用を推奨します。

マルチノード/マルチGPU構成など環境で実行する場合、設定ファイルと学習用のコードを改変して以下のように実行してください。

python train_contentvec.py -i <your_yaml_config>

3. 評価のためのダウンストリームタスクの実行

詳細はdownstreamディレクトリとREADMEを参照してください。

事前学習済みモデルと推論

後日公開予定

ライセンス

本プロジェクトはMITライセンスの下で提供されます。詳細はLICENSEファイルを参照してください。 ただし、一部のファイルは異なる条件で提供されています。詳細は各ファイルを参照してください。

データセット

  • JVSコーパス:教師ラベル作成過程で使用(変更予定)。CC BY-SA 4.0 ライセンス下で提供されていますが、音声データは非営利目的での利用に限定されています。詳細は論文およびプロジェクトページを参照してください。

  • ReazonSpeech: 教師ラベル作成とモデルの学習で使用。CDLA 1.0 にライセンス下で提供されていますが、データセットを著作権法第30条第4項で認められた目的のみに使用することに同意する必要があります。詳細は論文およびプロジェクトページを参照してください。

  • JSUTコーパス:学習済みモデルの評価で使用。CC BY-SA 4.0 ライセンス下で提供されていますが、音声データは非営利目的での利用に限定されています。詳細は論文およびプロジェクトページを参照してください。

謝辞

以下のオープンソースプロジェクトに感謝します:

About

ContentVec for Japanese speech

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors