我正在尝试制作一个带有两个输入的通道声码器,一个是频率丰富的载波(音乐声音),另一个是调制器(人声)。应用通道声码器中涉及的操作会生成一个输出,使人声以载波音调唱歌。(想想 Songify。)
目前,我将两个信号拆分为指定大小的窗口,并将两个连续的窗口重叠一定的因素。然后计算载波和调制器窗口的 FFT。fft 进一步分成等长的带。该特定调制器 fft 幅度的平均值
for band_no = 0 to band_count:
for i = 0 to band_length:
avg+=magnitudeOfModulatorFFT[band_no*band_length + i];
然后我将“avg”乘以位于频带内的每个carrierFFT的频率值,然后取逆FFT。虽然这会产生所需的输出,但它也包括咔哒声。即使在将两个信号都乘以窗口函数之后。
我有什么办法可以解决这个问题?