近年来,多模态模型(Multimodal Models)在深度学习领域取得了显著进展。这类模型能够同时处理和整合来自不同模态(如文本、图像、音频、视频等)的数据,提供更为全面的理解和应用能力。CLIP、Grounding DINO、SAM等模型将图像相关任务推到了open-set领域。随着技术的进步,音频的多模态模型也如雨后春笋般涌出。
语音分离是一种语音信号处理技术,旨在从包含多个语音信号(通常称为“混合信号”)的音频中分离出各个独立的语音信号。简单来说,就是从一个包含多个说话者同时讲话的音频片段中,分离出每个说话者的单独语音。而语言查询音频分离(Language-queried audio source separation,LASS)是计算听觉场景分析的新范式。LASS 旨在通过自然语言查询,从混合音频中分离出目标声音。作为其中的代表模型AudioSep,是一种适用于开放领域音频源分离的基础模型,支持基于自然语言查询进行操作。
AudioSep不仅可以支持词查询,还可以支持句子级别的查询操作。我们看两个例子,首先是查询文本是"cat",整段音频包含两种音频,第一种是小猫的叫声,第二种是机械工作的声音,可以看出,虽然分离后的音频在高频部分还残留部分机械工作的声音,但小猫的叫声基本被提取出来了。

第二个例子查询文本是一句话"Something is falling to the ground and making a clank."。整段音频,前半部分是金属物体掉落的声音,后面是两个人谈话;分离后的音频两个人谈话的声音被很好的去除了,留下了完整的物品掉落声。总体来说,音频分离的效果还是不错的。

AudioSep的整体网络结构如下图所示,主要包含两个部分,文本编码器和音频分离网络。


文本编码器(QueryNet)复用了CLIP/CLAP的文本编码器部分,该编码器将文本编码成固定长度为D的特征;音频分离网络(SeparationNet)采用了音频 ResUNet 模型,首先对混合音频进行短时傅里叶变换复数谱,进而得到混合音频的幅度谱和相位。ResUNet是一个encoder-decoder的结构,其输入是复数谱,输出是幅度谱的mask和相位的残差,然后通过如下公式重构音频信号


为了连接文本编码器和分离模型,在 ResUNet 中每个 ConvBlock 之后使用了特征线性调制(Feature-wise Linearly modulated ,FiLm),简单来说就是从文本特征计算两个系数,然后将这两个系数对音频输出的feature map进行计算,计算公式如下所示:


在训练过程中,构造混合音频时会使用响度数据扩增,将两个独立的音频调整到相同的响度水平,然后对模型重构的音频波形与目标音频计算L1 loss作为网络的损失函数。最后模型使用SI-SDR(scale-invariant SDR)和SDRi(signal-to-distortion ratio improvement)作为评价指标,在多个数据集上取得了SOTA的效果。


语音增强作为语音分离的子任务,但AudioSep在语音增强任务上效果则没有音频分离那么出色。


本文相关代码:https://github.com/Audio-AGI/AudioSep


参考文献:

[1]. https://github.com/Audio-AGI/AudioSep

[2]. https://audio-agi.github.io/Separate-Anything-You-Describe/AudioSep_arXiv.pdf