相位声码器

相位声码器是一种声码器专用的算法,它可以通过使用从频率变换中提取的相位信息来插补音频信号的频域和时域中存在的信息。计算机算法允许对数字声音文件进行频域修改(通常是时间扩展/压缩和音调转换)。相位编码器的核心是短时傅里叶变换(STFT),通常使用快速傅里叶变换进行编码。STFT将声音的时域表示转换为时频表示(分析阶段),允许对声音的特定频率成分的振幅或相位进行修改,然后通过反STFT将时频域表示重新合成为时域。重新合成的声音的时间演变可以通过修改STFT帧的时间位置来改变,在重新合成操作之前允许对原始声音文件进行时间尺度的修改。

相位一致性问题

所有操作STFT的情况下,必须解决的主要问题是,个别信号成分(正弦波,脉冲)将分布在多个帧和多个STFT频率位置(bin)。这是因为STFT分析是使用重叠的分析窗口进行的。窗口化导致频谱泄漏,如单个正弦波成分的信息被分散到相邻的STFT槽中。为了避免分析窗口的渐变的边界效应,STFT分析窗口在时间上重叠。这种时间上的重叠导致了相邻的STFT分析有很强的相关性(在时间t出现在分析帧中的正弦波也会出现在随后的帧中)。用相位编码器进行信号转换的问题与以下问题有关:在STFT表示中进行的所有修改都需要保持相邻频段(垂直一致性)和时间帧(水平一致性)之间的适当相关性。除了在极其简单的合成声音的情况下,这些适当的相关性只能被近似地保留,自相位声码器的发明以来,研究主要涉及寻找算法,在修改后保留STFT表示的垂直和水平的一致性。在适当的解决方案出现之前,相位一致性问题被研究了很长时间。

相位声码器的历史

相位声码器是由Flanagan在1966年提出的,作为一种算法,它可以保持代表正弦波成分的分档之间的水平一致性。这个原始的相位声码器没有考虑到相邻频率仓之间的垂直一致性,因此,用这个系统进行时间拉伸,确实会产生缺少清晰度的声音信号。1984年,Griffin和Lim提出了经过振幅修改后的STFT的声音信号的最佳重建方法。这种算法不考虑产生相干的STFT的问题,但它确实可以找到具有尽可能接近修改后的STFT的声音信号,即使修改后的STFT不相干(不代表任何信号)。直到1999年,Laroche和Dolson提出了一种保持各谱段相位一致性的方法,垂直相干的问题仍然是时间缩放操作质量的一个主要问题。

相位声码器

Laroche和Dolson的建议必须被看作是相位编码器历史上的一个转折点。事实证明,通过确保垂直相位的一致性,可以获得非常高质量的时间比例转换。Laroche提出的算法不允许保留声音起始点(音符起始点)的垂直相位一致性。Roebel提出了一个解决这个问题的方案。Ircam公司的SuperVP是一个基于相位声码器的信号变换的软件实现的例子,使用与这里描述的类似的手段来实现高质量的信号变换。

音乐中的应用

英国作曲家TrevorWishart将相位声码器对人声的分析和转换作为他的作品《Vox5》(他的大型Vox循环的一部分)的基础。美国作曲家RogerReynolds的TransfiguredWind使用相位声码器对长笛声音进行时间拉伸。JoAnnKuchera-Morin的音乐对相位声码器的转换进行了一些最早和最广泛的使用,例如在Dreampaths(1989)。

0

点评

点赞

相关文章