🚀 SepFormerのWSJ0 - 2Mixでの事前学習モデル
このリポジトリは、SepFormer モデルを使用したオーディオソース分離に必要なすべてのツールを提供しています。このモデルはSpeechBrainをベースに実装され、WSJ0 - 2Mixデータセットで事前学習されています。より良い使用体験を得るために、SpeechBrain をさらに調べることをおすすめします。このモデルは、WSJ0 - 2Mixデータセットのテストセットで22.4 dBの性能を達成しています。
公開日 |
テストセットのSI - SNRi |
テストセットのSDRi |
2021年3月9日 |
22.4dB |
22.6dB |
こちら から、WSJ0 - 2/3Mixテストセットで得られたサンプル結果を聴くことができます。
🚀 クイックスタート
✨ 主な機能
- SepFormerモデルに基づくオーディオソース分離ツールを提供します。
- モデルはWSJ0 - 2Mixデータセットで事前学習されており、良好な性能を発揮します。
- カスタムオーディオファイルでのソース分離をサポートします。
- GPUでの推論が可能です。
📦 インストール
まず、以下のコマンドを使用してSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrain の詳細を知るために、チュートリアルを読むことをおすすめします。
💻 使用例
基本的な使用法
from speechbrain.inference.separation import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-wsj02mix", savedir='pretrained_models/sepformer-wsj02mix')
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を使用して)リサンプリングしてください。
高度な使用法
from speechbrain.inference.separation import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-wsj02mix", savedir='pretrained_models/sepformer-wsj02mix', run_opts={"device":"cuda"})
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)
🔧 技術詳細
トレーニング手順
このモデルはSpeechBrain(fc2eabb7)を使用してトレーニングされました。このモデルを最初からトレーニングするには、以下の手順に従ってください。
- SpeechBrainをクローンします。
git clone https://github.com/speechbrain/speechbrain/
- SpeechBrainをインストールします。
cd speechbrain
pip install -r requirements.txt
pip install -e .
- トレーニングを実行します。
cd recipes/WSJ0Mix/separation
python train.py hparams/sepformer.yaml --data_folder=your_data_folder
トレーニング結果(モデル、ログなど)は、こちら で見ることができます。
📄 ライセンス
このプロジェクトは、Apache 2.0ライセンスの下で公開されています。
📚 ドキュメント
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}
}
SpeechBrainについて
- 公式サイト:https://speechbrain.github.io/
- コードリポジトリ:https://github.com/speechbrain/speechbrain/
- HuggingFace:https://huggingface.co/speechbrain/
⚠️ 重要な注意事項
SpeechBrainチームは、このモデルが他のデータセットでどのような性能を発揮するかを保証するものではありません。
💡 使用上のヒント
より良い使用体験を得るために、SpeechBrain をさらに調べることをおすすめします。