🚀 WavLM Largeを用いた5つの人気感情データセットによる感情ダイアリゼーション
このリポジトリは、SpeechBrainを使用して微調整されたwavlm(large)モデルで音声感情ダイアリゼーションを実行するために必要なすべてのツールを提供します。
このモデルは、連結された音声でトレーニングされ、ZaionEmotionDatasetでテストされます。評価指標はEmotion Diarization Error Rate (EDER) です。詳細については、論文リンクをご確認ください。
より良い体験のために、SpeechBrainについてもっと学ぶことをお勧めします。ZED(テストセット)でのモデルの性能は以下の通りです。
リリース |
EDER(%) |
05-07-23 |
29.7 (Avg: 30.2) |
🚀 クイックスタート
このシステムは、wavlmエンコーダと下流のフレーム単位の分類器で構成されています。このタスクの目的は、音声録音内の正しい感情成分とその境界を予測することです。現時点では、モデルは1つの非中立感情イベントのみを含む音声でトレーニングされています。
システムは16kHzでサンプリングされた録音(単チャンネル)でトレーニングされています。コードは、必要に応じて diarize_file を呼び出すときに自動的に音声を正規化します(すなわち、リサンプリング + モノチャンネル選択)。
✨ 主な機能
- 微調整されたwavlm(large)モデルを使用した音声感情ダイアリゼーションを実行するためのツールを提供します。
- 複数の感情データセットでトレーニングされ、Emotion Diarization Error Rate (EDER) で評価されます。
📦 インストール
まず、以下のコマンドでSpeechBrainの開発バージョンをインストールしてください。
git clone https://github.com/speechbrain/speechbrain.git
cd speechbrain
pip install -r requirements.txt
pip install --editable .
SpeechBrainについてもっと学ぶことをお勧めします。
💻 使用例
基本的な使用法
from speechbrain.inference.diarization import Speech_Emotion_Diarization
classifier = Speech_Emotion_Diarization.from_hparams(
source="speechbrain/emotion-diarization-wavlm-large"
)
diary = classifier.diarize_file("speechbrain/emotion-diarization-wavlm-large/example.wav")
print(diary)
diary = classifier.diarize_file("speechbrain/emotion-diarization-wavlm-large/example_sad.wav")
print(diary)
出力には、感情成分とその境界の辞書が含まれます。
高度な使用法
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/ZaionEmotionDataset/emotion_diarization
python train.py hparams/train.yaml --zed_folder /path/to/ZED --emovdb_folder /path/to/EmoV-DB --esd_folder /path/to/ESD --iemocap_folder /path/to/IEMOCAP --jlcorpus_folder /path/to/JL_corpus --ravdess_folder /path/to/RAVDESS
トレーニング結果(モデル、ログなど)はこちらで見ることができます。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合の性能について一切保証しません。
📚 ドキュメント
Speech Emotion Diarization/Zaion Emotion Datasetについて
@article{wang2023speech,
title={Speech Emotion Diarization: Which Emotion Appears When?},
author={Wang, Yingzhi and Ravanelli, Mirco and Nfissi, Alaa and Yacoubi, Alya},
journal={arXiv preprint arXiv:2306.12991},
year={2023}
}
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}
}
SpeechBrainについて
- ウェブサイト: https://speechbrain.github.io/
- コード: https://github.com/speechbrain/speechbrain/
- HuggingFace: https://huggingface.co/speechbrain/
📄 ライセンス
このプロジェクトは、Apache License 2.0の下でライセンスされています。