🚀 SepFormer在WHAMR!數據集(16k採樣頻率)上的預訓練模型
本倉庫提供了使用 SepFormer 模型進行音頻源分離的所有必要工具。該模型基於SpeechBrain實現,並在 WHAMR! 數據集(16k採樣頻率)上進行了預訓練。WHAMR! 本質上是WSJ0 - Mix數據集的一個版本,在16k下添加了環境噪聲和混響。為了獲得更好的使用體驗,建議你進一步瞭解 SpeechBrain。該模型在WHAMR! 數據集測試集上的SI - SNRi指標達到了13.5 dB。
版本發佈日期 |
測試集SI - SNRi |
測試集SDRi |
2021年3月30日 |
13.5 dB |
13.0 dB |
🚀 快速開始
本項目提供了使用預訓練的SepFormer模型進行音頻源分離的工具,以下將詳細介紹安裝、使用、訓練等方面的內容。
✨ 主要特性
- 基於SepFormer模型實現音頻源分離。
- 在WHAMR! 數據集(16k採樣頻率)上進行預訓練。
- 提供了詳細的安裝、使用和訓練步驟。
📦 安裝指南
安裝SpeechBrain
首先,請使用以下命令安裝SpeechBrain:
pip install speechbrain
建議閱讀相關教程,進一步瞭解 SpeechBrain。
💻 使用示例
基礎用法
在你自己的音頻文件上進行源分離:
from speechbrain.inference.separation import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-whamr16k", savedir='pretrained_models/sepformer-whamr16k')
est_sources = model.separate_file(path='speechbrain/sepformer-whamr16k/test_mixture16k.wav')
torchaudio.save("source1hat.wav", est_sources[:, :, 0].detach().cpu(), 16000)
torchaudio.save("source2hat.wav", est_sources[:, :, 1].detach().cpu(), 16000)
系統期望輸入的錄音採樣率為16kHz(單聲道)。如果信號的採樣率不同,請在使用該接口之前對其進行重採樣(例如,使用torchaudio或sox)。
高級用法
在GPU上進行推理
若要在GPU上進行推理,在調用 from_hparams
方法時添加 run_opts={"device":"cuda"}
:
from speechbrain.inference.separation import SepformerSeparation as separator
import torchaudio
model = separator.from_hparams(source="speechbrain/sepformer-whamr16k", savedir='pretrained_models/sepformer-whamr16k', run_opts={"device":"cuda"})
est_sources = model.separate_file(path='speechbrain/sepformer-whamr16k/test_mixture16k.wav')
torchaudio.save("source1hat.wav", est_sources[:, :, 0].detach().cpu(), 16000)
torchaudio.save("source2hat.wav", est_sources[:, :, 1].detach().cpu(), 16000)
🔧 技術細節
訓練步驟
該模型使用SpeechBrain(fc2eabb7)進行訓練。若要從頭開始訓練,請按照以下步驟操作:
- 克隆SpeechBrain倉庫:
git clone https://github.com/speechbrain/speechbrain/
- 安裝依賴:
cd speechbrain
pip install -r requirements.txt
pip install -e .
- 運行訓練腳本:
cd recipes/WHAMandWHAMR/separation/
python train.py hparams/sepformer-whamr.yaml --data_folder=your_data_folder --sample_rate=16000
可以在 這裡 找到訓練結果(模型、日誌等)。
侷限性
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}
}
關於SpeechBrain
- 官網:https://speechbrain.github.io/
- 代碼倉庫:https://github.com/speechbrain/speechbrain/
- HuggingFace頁面:https://huggingface.co/speechbrain/