🚀 SepFormer trained on Libri2Mix
このリポジトリは、SpeechBrainで実装され、Libri2Mixデータセットで事前学習されたSepFormerモデルを使用して音声ソース分離を実行するために必要なすべてのツールを提供します。より良い体験のために、SpeechBrainについてもっと学ぶことをおすすめします。このモデルは、Libri2Mixデータセットのテストセットで20.6dBの性能を達成しています。
リリース |
テストセットのSI - SNRi |
テストセットのSDRi |
16 - 09 - 22 |
20.6dB |
20.9dB |
WSJ0 - 2/3Mixのテストセットで得られたサンプル結果は、こちらから聴くことができます。
🚀 クイックスタート
✨ 主な機能
- 音声ソース分離:SepFormerモデルを使用して、音声信号から個々のソースを分離します。
- 事前学習済みモデル:Libri2Mixデータセットで事前学習されたモデルを提供します。
- SpeechBrainの利用:SpeechBrainフレームワークを使用して開発されています。
📦 インストール
まず、以下のコマンドでSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrainのチュートリアルを読み、もっと学ぶことをおすすめします。
💻 使用例
基本的な使用法
from speechbrain.pretrained import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-libri2mix", savedir='pretrained_models/sepformer-libri2mix')
est_sources = model.separate_file(path='speechbrain/sepformer-wsj02mix/test_mixture.wav')
torchaudio.save("source1hat.wav", est_sources[:, :, 0].detach().cpu(), 8000)
torchaudio.save("source2hat.wav", est_sources[:, :, 1].detach().cpu(), 8000)
このシステムは、8kHzでサンプリングされた単一チャンネルの入力録音を想定しています。信号のサンプルレートが異なる場合は、インターフェースを使用する前に(例えばtorchaudioやsoxを使用して)リサンプリングしてください。
高度な使用法
GPUで推論を実行するには、from_hparams
メソッドを呼び出す際にrun_opts={"device":"cuda"}
を追加します。
🔧 技術詳細
トレーニング
このモデルはSpeechBrain (fc2eabb7) を使用してトレーニングされました。以下の手順に従って、ゼロからトレーニングすることができます。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- インストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- トレーニングを実行します。
cd recipes/Libri2Mix/separation
python train.py hparams/sepformer.yaml --data_folder=your_data_folder
トレーニング結果(モデル、ログなど)は、こちらで確認できます。
📄 ライセンス
このプロジェクトは、Apache 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}
}
SepFormerの引用
@inproceedings{subakan2021attention,
title={Attention is All You Need in Speech Separation},
author={Cem Subakan and Mirco Ravanelli and Samuele Cornell and Mirko Bronzi and Jianyuan Zhong},
year={2021},
booktitle={ICASSP 2021}
}
@article{subakan2023exploring,
author={Subakan, Cem and Ravanelli, Mirco and Cornell, Samuele and Grondin, François and Bronzi, Mirko},
journal={IEEE/ACM Transactions on Audio, Speech, and Language Processing},
title={Exploring Self-Attention Mechanisms for Speech Separation},
year={2023},
volume={31},
pages={2169-2180},
}
SpeechBrainについて
- ウェブサイト: https://speechbrain.github.io/
- コード: https://github.com/speechbrain/speechbrain/
- HuggingFace: https://huggingface.co/speechbrain/