🚀 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。