本发明涉及音频处理和分析,具体涉及一种基于双路径transformer的音频真伪鉴别方法及装置。
背景技术:
1、随着人工智能技术的发展,音频处理已经成为一个活跃的研究领域。音频信号中包含了丰富的信息,既有语义层面的内容,比如说话人传达的信息,也有声学层面的特征,比如声音的频率、强度等。在许多应用场景中,如语音识别、语音合成、语音增强等,都需要对这些信息进行有效的提取和处理。
2、传统的音频特征提取方法,在捕捉音频信号中的长时依赖关系和复杂的时频模式方面存在局限性,以及难以有效解耦语义特征及声学特征。例如梅尔频率倒谱系数(mel-frequency cepstral coefficients,mfcc)和低频倒谱系数(low-frequency cepstralcoefficients,lfcc)。通常基于信号处理技术,将音频信号转换为一组紧凑的特征向量。mfcc主要关注频谱的局部信息,而忽略了不同频带之间的相互作用,lfcc虽然考虑了声道信息,但在处理复杂语音变化时仍存在不足。
3、深度学习模型特别是卷积神经网络(convolutional neural network,cnn)和循环神经网络(recurrent neural network,rnn)和已被应用于音频特征提取,并在一定程度上解决了这些问题。然而rnn受限于其顺序处理方式,训练效率较低,cnn通常需要多层卷积才能捕捉长时依赖关系,导致模型复杂度较高。transformer模型因其在处理序列数据方面的优势而被广泛应用于音频处理领域,该模型能够捕捉长距离依赖关系,这对于理解音频信号中的复杂结构特别有用。但现有基于transformer方法在有效融合频域和时域信息方面,以及分离音频信号中的声学特征和语义特征方面仍存在挑战。
技术实现思路
1、本发明的目的在于:针对目前存在的上述技术问题,提供了一种基于双路径transformer的音频真伪鉴别方法及装置,引入双路径transformer结构,更好地捕捉音频信号中的长时依赖关系和时频信息;通过双路径transformer结构分别处理频域和时域信息,并结合注意力机制,实现语义信息和声学信息的高效解耦,从而更好地提取和利用不同层面的音频信息。
2、本发明的技术方案如下:
3、一种基于双路径transformer的音频真伪鉴别方法,包括以下步骤:
4、预处理:将原始音频信号转换为时频表示,通过lfcc或stft提取特征得到音频信号的时域特征和频域特征;经过预处理,得到包含时域特征和频域特征时频表示feature={b,f,t},其中b是批量大小,f是频率通道数等于lfcc线性滤波器个数,t是时间帧数;
5、卷积编码器:通过多个2d卷积层对输入的时频表示进行编码,提取局部特征;
6、通过双路径transformer结构分别处理频域和时域信息,形成语义-声学信息解耦,包括:
7、频域路径处理:将编码器输出的张量沿时间维度,调整形状为[b,f′,c,t′]输入到频域transformer,频域transformer对每一频率在不同时间步的特征进行建模,捕捉音频信号的频谱动态变化,提取声学相关特征;
8、时域路径处理:将编码器输出的张量沿着频率维度,调整形状为[b,t',c,f'],输入到时域transformer,时域transformer对每一时间步在不同频率的特征进行建模,捕捉音频信号的时域包络变化,提取语义相关特征;
9、注意力机制融合:将频域和时域的特征通过注意力机制结合起来,以增强模型对音频信号的理解;
10、后处理变换:通过聚合信息、线性变换和序列重构操作调整输出序列的维度顺序,得到形状为[b,c,f′,t′]的分离了语义信息的,只包含声学信息的特征。
11、进一步的,所述注意力机制融合具体包括以下内容:
12、构建query、key和value:query来自频域transformer的输出,表示频域特征:
13、query=xfreq,
14、其中,xfreq的形状为[b,t′,dmodel],b是批量大小,t′是时间维度大小,dmodel是模型维度;
15、key和value来自时域transformer的输出,表示时域特征:
16、
17、value=xtemp,
18、其中,xtemp的形状为[b,f′,dmodel],f′是频率维度大小,表示xtemp在频率和模型维度上的转置;
19、计算注意力得分:注意力得分表示每个时间步长对每个频域点的注意力权重,计算方法为query和key的点积,再除以模型维度的平方根:
20、
21、得到结果形状为[b,t′,f′];
22、计算注意力权重:注意力权重通过softmax函数对注意力得分进行归一化获得,使得每个时间步长对所有频域点的权重和为1:
23、attention weights=softmax(attention scores),
24、得到结果形状保持为[b,t′,f′],每个时间步长对每个频域点的注意力权重;
25、应用注意力权重:使用注意力权重对value进行加权求和,得到每个时间步长的加权特征表示:
26、xattended=attention weights×value,
27、得到结果形状为[b,t′,dmodel],每个时间步长都得到了一个基于频域信息加权的特征表示。
28、进一步的,所述后处理变换具体包括以下步骤:
29、聚合信息:对通过注意力机制融合后的特征xattended进行时间维度上的平均,以聚合时域信息:
30、xcombined=mean(xattended,dim=1),
31、其中,mean表示在时间维度上取平均值的操作;
32、线性变换:应用线性变换对聚合后的特征进行进一步的特征转换:
33、xfinal=linear(xcombined),
34、其中,linear表示线性变换层,用于将特征映射到输出维度;
35、序列重构:将所有帧的最终表示堆叠,并应用最终的线性变换与重构整个序列,形成完整的特征序列:
36、
37、其中,为第i个通道的最终特征向量,c为所有通道数,每一通道的形状为[b,f′,t′];stack表示堆叠操作;
38、调整输出序列的维度顺序,得到形状为[b,c,f′,t′]的分离了语义信息的,只包含声学信息的特征。
39、进一步的,所述频域路径处理提取声学相关特征的计算公式为:
40、xfreq=freqtransformer(xencoder),
41、其中,xencoder是编码器的输出;xfreq是频域transformer的输出,形状为[b,c,f′,t′];freqtransformer表示频域transformer操作。
42、进一步的,所述时域路径处理提出语义相关特征的计算公式为:
43、xtemp=temptransformer(xencoder),
44、其中,xencoder是编码器的输出,xtemp为时域transformer的输出,形状为[b,c,f′,t′];temptransformer表示时域transformer操作。
45、进一步的,所述lfcc提取特征的具体步骤包括:
46、预加重:预加重处理增强高频部分:y[n]=x[n]-αx[n-1],
47、其中,x[n]是原始音频信号,α是预加重系数,y[n]是预加重后的信号;
48、分帧:将预加重后的信号分割成短帧:yp[n]=y[np,n+n],
49、其中,np是帧索引,n是每帧的样本数,帧移为n,得到个语音帧;
50、加窗:对每个语音帧应用窗函数:yw[n]=yp[n]·w[n],
51、其中,w[n]为窗函数;
52、频域转换:对加窗后的信号进行快速傅里叶变换:
53、
54、其中,y[k]是经过fft后得到的频谱,k是频率索引;
55、通过线性滤波器处理快速傅里叶变换结果,得到线性频谱:
56、
57、其中,h[k]是滤波器组的相应,k是滤波器的数量;
58、对数压缩:对滤波器组的输出取对数,压缩动态范围:
59、ylog[k]=log(yfb[k]),
60、对对数压缩后的频谱进行离散余弦变换,得到lfcc特征:
61、
62、其中,m是lfcc的系数索引。
63、进一步的,所述stft提取特征的具体步骤包括:
64、预加重:预加重处理增强高频部分:y[n]=x[n]-αx[n-1],其中,x[n]是原始音频信号,α是预加重系数,y[n]是预加重后的信号;分帧:将预加重后的信号分割成短帧:yp[n]=y[np,n+n],
65、其中,np是帧索引,n是每帧的样本数,帧移为n,得到个语音帧;
66、加窗:对每个语音帧应用窗函数:yw[n]=yp[n]·w[n],
67、其中,w[n]为窗函数;
68、频域转换:对加窗后的信号进行快速傅里叶变换:
69、
70、其中,y[k]是经过fft后得到的频谱,k是频率索引;
71、构建频谱图:将所有帧的频谱组合起来,形成信号的时频表示,即频谱图,取频谱的模的平方作为能量谱,取对数形式以压缩动态范围:
72、s[k]=log(|y[k]|2+∈),
73、其中,y[k]为频谱的模;s[k]是频谱图频率k处的值;∈是一个常数,用于避免对数运算中的除零错误。
74、进一步的,所述卷积编码器提取局部特征包括:
75、卷积层处理:将输入的时频表示通过2d卷积层,以提取不同尺度的局部特征:
76、xconv=conv2d(x,ws,b,k,s,p),
77、其中,x是输入的时频表示,w和b分别是卷积核的权重和偏置,k、s和p是卷积操作的卷积核大小、卷积步幅和卷积填充参数;
78、层归一化处理:对每个卷积层的输出进行层归一化处理,以稳定学习过程并提高模型的泛化能力:
79、xin=layernorm(xconv),
80、其中,layernorm是层归一化函数;
81、应用snake激活函数增强模型对复杂非线性关系的建模能力:
82、
83、其中,α是可学习的参数,用于控制激活函数的参数;
84、对激活后的特征图应用dropout正则化,以防止过拟合:
85、xencoder=dropout(xact,p),
86、其中,p是dropout概率,表示随机置零的特征比例,编码器的得到xencoder特征,形状为[b,vc,f′,t′],其中b是批量大小,c为编码器输出的通道数,f′和t′分别为编码后的频率和时间维度大小。
87、进一步的,所述还包括以下步骤:使用转置卷积解码器对编码后的特征进行解码,以重建分离了语义信息的只包含声学信息的时频表示;
88、转置卷积层处理:将解耦后的特征通过转置卷积层进行处理,以逐步恢复信号的时频结构:
89、xdeconv=convtranspose2d(x,w,b,k,s,p),
90、其中,x是输入的时频表示,w和b分别是卷积核的权重和偏置,k、s和p是卷积操作的卷积核大小、卷积步幅和卷积填充参数;
91、层归一化处理:对每个卷积层的输出进行层归一化处理,以稳定学习过程并提高模型的泛化能力:
92、xin=layernorm(xconv),
93、其中,layernorm是层归一化函数;
94、应用snake激活函数增强模型对复杂非线性关系的建模能力:
95、
96、其中,α是可学习的参数,用于控制激活函数的参数;
97、对激活后的特征图应用dropout正则化,以防止过拟合:
98、xencoder=dropout(xact,p),
99、其中,p是dropout概率,表示随机置零的特征比例。
100、本技术还包括一种基于双路径transformer的音频真伪鉴别装置,采用一种基于双路径transformer的音频真伪鉴别方法,包括:
101、预处理模块,将原始音频信号转换为时频表示;
102、2d卷积编码器模块,使用多个2d卷积层对输入的时频表示进行编码,提取局部特征;
103、频域transformer模块和时域transformer模块,分别处理频域和时域信息,形成语义-声学信息解耦;
104、注意力机制融合模块,将频域和时域的特征通过注意力机制结合起来;
105、转置卷积解码器模块,使用转置卷积解码器对编码后的特征进行解码,以重建分离了语义信息的只包含声学信息的时频表示。
106、与现有的技术相比本发明的有益效果是:
107、1、一种基于双路径transformer的音频真伪鉴别方法及装置,本技术的双路径transformer结构在代码中通过分别对频域和时域数据应用不同的处理和注意力编码层来实现语义和声学信息的解耦,这种解耦在装置中体现为xfreq和xtemp两个独立的处理流程,分别对应频域和时域的特征提取;
108、2、一种基于双路径transformer的音频真伪鉴别方法及装置,本技术通过自定义的注意力计算实现了频域和时域特征的融合,提高了模型对音频特征的理解和利用;本技术引入snake激活函数以增强模型的非线性建模能力;在实际应用中,激活函数可以通过自学习修改激活函数参数来实现,以增强模型对复杂音频特征的捕捉能力
109、3、一种基于双路径transformer的音频真伪鉴别方法及装置,本技术的模块化设计在代码中体现为不同的类成员变量和方法,如pretransform和posttransform等,它们分别负责不同的处理任务。本技术提出的可选性在代码层面可以通过添加或删除特定的处理模块(如转置卷积层)来实现。这种设计使得模型可以根据不同的下游任务灵活调整,以适应音频重建、增强或其他任务。通过代码中的注意力机制融合和后续处理步骤实现了音频信号的全面特征表示。这种表示不仅包括频域和时域的信息,还包括融合后的特征,为音频处理提供了丰富的特征基础。