🚀 SepFormer(Libri3Mixで学習済み)
このリポジトリは、SepFormer モデルを使用して音声ソース分離を行うために必要なツールをすべて提供します。このモデルはSpeechBrainで実装され、Libri3Mixデータセットで事前学習されています。より良い体験のために、SpeechBrain についてもっと学ぶことをおすすめします。このモデルは、Libri3Mixデータセットのテストセットで19.8 dB SI - SNRiの性能を達成しています。
リリース |
テストセットのSI - SNRi |
テストセットのSDRi |
22年9月16日 |
19.0dB |
19.4dB |
🚀 クイックスタート
📦 インストール
まずは、以下のコマンドでSpeechBrainをインストールしてください。
pip install speechbrain
SpeechBrain のチュートリアルを読み、もっと詳しく学ぶことをおすすめします。
💻 使用例
基本的な使用法
自分のオーディオファイルでソース分離を行うには、以下のコードを使用します。
from speechbrain.pretrained import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-libri3mix", savedir='pretrained_models/sepformer-libri3mix')
est_sources = model.separate_file(path='speechbrain/sepformer-wsj03mix/test_mixture_3spks.wav')
torchaudio.save("source1hat.wav", est_sources[:, :, 0].detach().cpu(), 8000)
torchaudio.save("source2hat.wav", est_sources[:, :, 1].detach().cpu(), 8000)
torchaudio.save("source3hat.wav", est_sources[:, :, 2].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/LibriMix/separation
python train.py hparams/sepformer.yaml --data_folder=your_data_folder
注:yamlファイルで num_spks
を3に変更してください。
学習結果(モデル、ログなど)は こちら で確認できます。
制限事項
SpeechBrainチームは、このモデルを他のデータセットで使用した場合の性能について、いかなる保証も提供しません。
📄 ライセンス
このプロジェクトは、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}
}
@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/