目录

MSST

MSST(Multi-Scale Spectrogram Transformer)原理

1. 输入表示:时频域转换

2. 频谱图分块与嵌入(Patch Embedding)

3. 多尺度Transformer编码器

4. 掩码预测与信号重建

5. 损失函数与训练

关键创新点

对比其他方法

webUi版本


MSST

https://github.com/ZFTurbo/Music-Source-Separation-Training

模型下载

https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.0/config_vocals_mdx23c.yaml

https://github.com/ZFTurbo/Music-Source-Separation-Training/releases/download/v1.0.0/model_vocals_mdx23c_sdr_10.17.ckpt

MSST(Multi-Scale Spectrogram Transformer)原理

MSST(Multi-Scale Spectrogram Transformer)是一种基于Transformer架构的改进型人声分离算法,结合了多尺度频谱分析和自注意力机制,适用于音乐源分离(如人声和伴奏分离)。以下是其核心原理的逐步解析:


1. 输入表示:时频域转换

  • 短时傅里叶变换(STFT):原始音频信号首先通过STFT转换为时频谱(Spectrogram),生成复数矩阵(幅度谱和相位谱)。

  • 多尺度频谱生成:算法同时计算不同时间/频率分辨率的频谱图(如不同窗长的STFT),形成多尺度输入:

    • 高时间分辨率(短窗):捕捉瞬态人声特征(如辅音)。

    • 高频率分辨率(长窗):解析稳态谐波(如元音)。


2. 频谱图分块与嵌入(Patch Embedding)

  • 每个尺度的频谱图被分割为重叠或非重叠的局部块(Patches),类似ViT(Vision Transformer)中的图像分块。

  • 每个块通过线性投影转换为嵌入向量(Embedding),并加入位置编码(Positional Encoding)以保留时空信息。


3. 多尺度Transformer编码器

  • 自注意力机制:每个尺度的嵌入序列输入独立的Transformer编码器,通过多头自注意力(MSA)捕捉频谱图中的长程依赖关系。

    • 例如,人声谐波可能跨越多个频率带,自注意力能关联这些非局部区域。

  • 跨尺度交互:不同尺度的Transformer输出通过交叉注意力(Cross-Attention)或特征拼接进行融合,整合多分辨率信息。


4. 掩码预测与信号重建

  • 掩码生成:解码器输出每个尺度对应的软掩码(Soft Mask),与原始频谱相乘以分离人声和伴奏。

  • 多尺度掩码融合:对不同尺度的掩码进行加权平均或自适应融合,得到最终掩码。

  • 逆STFT(iSTFT):将掩码后的幅度谱与原始相位谱结合,通过iSTFT重建时域信号。


5. 损失函数与训练

  • 时域损失:如SI-SNR(尺度不变信噪比),直接优化分离信号的时域质量。

  • 频域损失:如L1损失作用于频谱幅度,增强频域一致性。

  • 多尺度监督:对每个尺度的输出施加辅助损失,促进分层特征学习。


关键创新点

  • 多尺度处理:解决传统单尺度STFT在时频权衡上的局限性。

  • Transformer架构:替代传统CNN/RNN,更高效建模频谱全局关系。

  • 端到端训练:联合优化时频域损失,提升分离自然度。


对比其他方法

方法 核心架构 多尺度支持 时频建模能力
MSST Transformer ✔️ 全局注意力
Demucs CNN 局部卷积
OpenUnmix LSTM 时序建模

MSST通过多尺度Transformer平衡了局部细节与全局结构,尤其在复杂音乐场景中表现优于传统方法。实际效果依赖训练数据(如MUSDB18)和计算资源(需GPU加速)。

webUi版本

趋动云社区_开源项目_数据集_大模型

预训练说明:

https://github.com/ZFTurbo/Music-Source-Separation-Training/blob/main/docs/pretrained_models.md

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐