---
title: speech_mossformer2_separation_temporal_8k
canonical_url: "https://www.modelscope.cn/models/iic/speech_mossformer2_separation_temporal_8k"
md_url: "https://www.modelscope.cn/models/iic/speech_mossformer2_separation_temporal_8k.md"
repository: iic/speech_mossformer2_separation_temporal_8k
chinese_name: "MossFormer2语音分离-单麦-8k"
last_updated: 2024-12-02
license: "Apache License 2.0"
pipeline_tag: speech-separation
tasks:
  - speech-separation
model_type:
  - mossformer
library_name:
  - pytorch
frameworks:
  - pytorch
domain:
  - audio
downloads: 930013
stars: 79
tags:
  - Alibaba
  - Audio
  - "Speech Separation"
  - "语音分离"
---

# speech_mossformer2_separation_temporal_8k

> speech_mossformer2_separation_temporal_8k - iic 在 ModelScope 开源的模型。全新一代MossFormer语音分离模型，比上一代模型效果提升明显。可以把混杂在一起的两人语音分离开来，输入为一路混合音频，输出为两路分离后的音频，格式均为8000Hz单通道。

iic/speech_mossformer2_separation_temporal_8k 是 ModelScope 魔搭社区上的speech-separation模型，采用 Apache License 2.0 许可。

- **Repository**: iic/speech_mossformer2_separation_temporal_8k
- **License**: Apache License 2.0
- **Tasks**: speech-separation
- **Tags**: Alibaba, Audio, Speech Separation, 语音分离
- **Downloads**: 930013
- **Stars**: 79
- **Last updated**: 2024-12-02

Source: https://www.modelscope.cn/models/iic/speech_mossformer2_separation_temporal_8k

---

# MossFormer2语音分离模型介绍

注：MossFormer2模型已成功集成到语音处理平台 ClearerVoice-Studio 中！我们致力于开源一个集语音增强、语音分离、目标说话人提取等功能于一体的共享语音处理平台，旨在为用户提供全面的语音信号处理工具。 了解更多详情，请访问我们的 GitHub 地址：https://github.com/modelscope/ClearerVoice-Studio 。

本次发布为上一代单声道语音分离算法MossFormer的升级版。并在单声道语音分离任务上比MossFormer取得显著的性能提升。MossFormer模型主要采用了基于自注意力的MossFormer模块，倾向于强调较长范围、粗粒度的依赖关系，在有效建模较细粒度的循环模式方面存在不足。在MossFormer2模型中，我们引入了一种新颖的混合模型，通过将一个循环模块集成到MossFormer框架中，从而具备了同时建模较长范围、粗粒度依赖关系和较细粒度循环模式的能力。为了减轻非并行循环神经网络（RNN）的局限性，我们提出了一种基于前馈顺序记忆网络（FSMN）的非RNN循环模块。该循环模块包含一个基于扩张（dilated）机制的FSMN块，不仅通过扩张机制增强感受野，同时通过密集连接（Dense Connection）提高信息流动性。另外，我们还使用门控卷积单元（GCU）来设计循环模块，以便在降低嵌入维度和提高模型效率的同时，促进相关背景信息的门控控制。该循环模块依靠线性投影（Linear Projection）和卷积来实现对整个序列的无缝并行处理。MossFormer2模型在WSJ0-2/3mix、Libri2Mix和WHAM!/WHAMR!基准测试中表现出色，超越了MossFormer和其他最先进的方法。

## 模型的使用方式

模型pipeline 输入为个8000Hz采样率的单声道wav文件，内容是两个人混杂在一起的说话声，输出结果是分离开的两个单声道音频。

### 环境准备

* 本模型支持Linux，Windows和MacOS平台。
* 本模型使用了三方库SoundFile进行wav文件处理，**在Linux系统上用户需要手动安装SoundFile的底层依赖库libsndfile**，在Windows和MacOS上会自动安装不需要用户操作。详细信息可参考[SoundFile官网](https://github.com/bastibe/python-soundfile#installation)。以Ubuntu系统为例，用户需要执行如下命令:

```shell
sudo apt-get update
sudo apt-get install libsndfile1
```

### 代码范例

```python
import numpy
import soundfile as sf
from modelscope.pipelines import pipeline
from modelscope.utils.constant import Tasks

# input可以是url也可以是本地文件路径
input = 'https://modelscope.cn/api/v1/models/damo/speech_mossformer2_separation_temporal_8k/repo?Revision=master&FilePath=examples/mix_speech1.wav'
separation = pipeline(
   Tasks.speech_separation,
   model='damo/speech_mossformer2_separation_temporal_8k')
result = separation(input)
for i, signal in enumerate(result['output_pcm_list']):
    save_file = f'output_spk{i}.wav'
    sf.write(save_file, numpy.frombuffer(signal, dtype=numpy.int16), 8000)
```

### 模型局限性

本模型训练虽然尽量涵盖各类噪声和混响场景，我们也加入一定的电话通道数据，但由于训练数据有限，无法完全覆盖所有噪声、混响场景和电话场景，因而无法保障对各种混合数据上的分离效果！

## 训练数据介绍
本模型训练时使用了包括WSJ0-2Mix和 Libri2Mix的干净语音混合数据，以及WHAMR、DNS Challenge 2020带噪声及混响数据。

## 数据评估及结果
MossFormer2模型与其它SOTA模型在公开数据集WSJ0-2mix/3mix、Libri2Mix和 WHAM！/WHAMR！上的对比结果如下，注意：该对比结果使用的是MossFormer2模型在相应的数据集上训练后的参考测试结果，并非本次发布模型的测试结果。

<div align=center>
<div>表1. 模型在公开数据集WSJ0-2mix/3mix、Libri2Mix上的对比结果</div>
<img width="640" src="description/matrix1.png"/>
</div>

<div align=center>
<div>表2. 模型在公开数据集WHAM！/WHAMR！上的对比结果</div>
<img width="640" src="description/matrix2.png"/>
</div>

### 指标说明：

* SI-SNR (Scale Invariant Signal-to-Noise Ratio) 尺度不变的信噪比，是在普通信噪比基础上通过正则化消减信号变化导致的影响，是针对宽带噪声失真的语音增强算法的常规衡量方法。SI-SNRi (SI-SNR improvement) 是衡量对比原始混合语音，SI-SNR在分离后语音上的提升量。


### 相关论文以及引用信息

Zhao, Shengkui and Ma, Bin et al, “MossFormer2: Combining Transformer and RNN-Free Recurrent Network for Enhanced Time-Domain Monaural Speech Separation”, submitting to ICASSP 2024.
