🚀 Voxcelebでのxvector埋め込みを用いた話者認証
このリポジトリは、SpeechBrainを使用して事前学習されたTDNNモデルで話者埋め込みを抽出するために必要なすべてのツールを提供します。
このシステムは、Voxceleb 1 + Voxceleb2のトレーニングデータで学習されています。
より良い体験を得るために、SpeechBrainについてもっと学ぶことをおすすめします。
Voxceleb1テストセット(クリーン)でのこのモデルのパフォーマンスは以下の通りです。
🚀 クイックスタート
このシステムを使用するには、まずSpeechBrainをインストールする必要があります。その後、話者埋め込みを計算することができます。GPUで推論を行うことも可能です。
✨ 主な機能
- 事前学習されたTDNNモデルを使用して話者埋め込みを抽出
- Voxceleb 1 + Voxceleb2のトレーニングデータで学習
- 統計的プーリングと組み合わせたTDNNモデル
- カテゴリカル交差エントロピー損失で学習
📦 インストール
まず、以下のコマンドでSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrainのチュートリアルを読み、もっと学ぶことをおすすめします。
💻 使用例
基本的な使用法
import torchaudio
from speechbrain.inference.speaker import EncoderClassifier
classifier = EncoderClassifier.from_hparams(source="speechbrain/spkrec-xvect-voxceleb", savedir="pretrained_models/spkrec-xvect-voxceleb")
signal, fs = torchaudio.load('tests/samples/ASR/spk1_snt1.wav')
embeddings = classifier.encode_batch(signal)
このシステムは、16kHzでサンプリングされた録音(単チャンネル)で学習されています。
コードは、必要に応じて classify_file を呼び出すときに自動的にオーディオを正規化します(すなわち、リサンプリング + モノチャンネル選択)。
encode_batch や classify_batch を使用する場合は、入力テンソルが予期されるサンプリングレートに準拠していることを確認してください。
高度な使用法
GPUでの推論
GPUで推論を行うには、from_hparams
メソッドを呼び出すときに run_opts={"device":"cuda"}
を追加してください。
学習
このモデルはSpeechBrain (aa018540) で学習されています。最初から学習するには、以下の手順に従ってください。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- インストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 学習を実行します。
cd recipes/VoxCeleb/SpeakerRec/
python train_speaker_embeddings.py hparams/train_x_vectors.yaml --data_folder=your_data_folder
学習結果(モデル、ログなど)はこちらで確認できます。
📚 ドキュメント
パイプラインの説明
このシステムは、統計的プーリングと組み合わせたTDNNモデルで構成されています。このシステムは、カテゴリカル交差エントロピー損失で学習されています。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合のパフォーマンスについて、いかなる保証も提供しません。
xvectorの参照
author = {David Snyder and
Daniel Garcia{-}Romero and
Alan McCree and
Gregory Sell and
Daniel Povey and
Sanjeev Khudanpur},
title = {Spoken Language Recognition using X-vectors},
booktitle = {Odyssey 2018},
pages = {105--111},
year = {2018},
}
📄 ライセンス
このプロジェクトは、Apache License 2.0の下でライセンスされています。
SpeechBrainの引用
研究やビジネスでSpeechBrainを使用する場合は、以下のように引用してください。
@misc{speechbrain,
title={{SpeechBrain}: A General-Purpose Speech Toolkit},
author={Mirco Ravanelli and Titouan Parcollet and Peter Plantinga and Aku Rouhe and Samuele Cornell and Loren Lugosch and Cem Subakan and Nauman Dawalatabad and Abdelwahab Heba and Jianyuan Zhong and Ju-Chieh Chou and Sung-Lin Yeh and Szu-Wei Fu and Chien-Feng Liao and Elena Rastorgueva and François Grondin and William Aris and Hwidong Na and Yan Gao and Renato De Mori and Yoshua Bengio},
year={2021},
eprint={2106.04624},
archivePrefix={arXiv},
primaryClass={eess.AS},
note={arXiv:2106.04624}
}