webaudio版变速、变调wsola算法实现

一、傅立叶变换

概念:音频信号在频域空间上的卷积

公式:f(x) =     ( = t , n,k(0,N) )

           

            Z(n)= f(n)

            =f(n)

原理:不同频率的周期函数的内积为0

二、频域分析


webaudio版变速、变调wsola算法实现_第1张图片
webaudio版变速、变调wsola算法实现_第2张图片

结论:男声与女声的频率不同,女声偏高。

三、数字信号处理(dsp)


webaudio版变速、变调wsola算法实现_第3张图片

四、变调

原理:变调即改变信号频率

方法:重采样

例子:

原信号:{f:44000hz,buffer:[0,1,2,0.5,3,2,3,5,0,8,7,8,6]}

二倍速处理后:{f:44000hz,buffer:[0,2,5,2,5,8,8]}

0.5倍速:{f:44000hz:buffer:[0,0,1,0,2,0,0,0.5,0,3 .........]}

弊端:重采样会造成信号长度改变,音频时长会相应的变化——变速变调


webaudio版变速、变调wsola算法实现_第4张图片
webaudio版变速、变调wsola算法实现_第5张图片
webaudio版变速、变调wsola算法实现_第6张图片

五、时域压拓(ola)

分帧:以长度L,步长Ls进行分帧处理,俩帧首位重叠的采样点为L-Ls

加窗:每一帧进行加窗处理,常见的窗函数有汉宁窗(cosx)、汉明窗(sinx)、距形窗等

拼接:以步长La进行拼接,重叠部分相加处理。

处理后的信号倍率为Ls/La


webaudio版变速、变调wsola算法实现_第7张图片

六、代码

webaudio版变速、变调wsola算法实现_第8张图片

你可能感兴趣的:(webaudio版变速、变调wsola算法实现)