第四章:合成

10。阶段Vocoding (PV)

阶段vocoding (pv)是一种通过分析合成在数字声音文件或存储缓冲区,然后分析声码器的阶段。与相似的名称通道声码器由于光谱分析阶段,pv是一个纯粹的数字技术。经典的使用阶段声码器的原始声音在时间不改变原来的音调。其他可能的用途包括压缩声音的时间不改变原沥青或改变音高不改变原来的时间。通常的组合两个(改变音高和时间)。与经典的工作室技术改变音频磁带的速度,在时间变化与音高变化(磁带,越慢越低音调,反之亦然),阶段vocoding作曲家时是一个受欢迎的工具以及数字化音频文件和分析算法的出现早在1966年(Flanagan和黄金,贝尔实验室)。更实用阶段语音编码器是发达国家在1970年代和80年代,也许最明显马克Dolson的在1983年。这些利用更高的运算速度。米勒Puckette麦克斯和Pd的创造者,可能因为第一声码器实时阶段发展。最近在撰写本文时,C / c++库和SDK Zynaptiq调用ZTX顶部的精确音高/变速游戏并纳入许多流行的音频软件标题如马克斯和数字演员。和(也许遗憾)无处不在的现代调音算法是基于阶段vocoding技术。

分析参数

窗口函数
窗口函数

初始阶段vocoding分析组件需要一个过程,一个高度粒状时域的数字样本序列转换为更少的颗粒同样的频带表示声音。第一部分的过程包括将数字样本输入信号分成无数时间片段或样品块,然后把那些块乘以一个信封称为窗口函数,见没有经常使用重叠在左边。这些窗户的形状会影响合成的权重分析,并最终重建声音的特性。常见的窗口形状vocoding阶段,大多数是钟形,汉明,凯撒,布莱克曼和冯损害(汉宁)。是非常值得的努力尝试每个窗口函数观察影响你最后的声音。适当的窗口,以及添加一些0的样本框架(称为补零),有助于减少频谱泄漏的现象,即在特定频段能量泄漏到邻近的乐队。点击在这里看到图各种窗口功能。

每个窗口然后进行光谱分析的一种形式称为STFT,或短时傅里叶变换。在本文前面提到的是傅里叶的概念,所有的声音都可以分解成其组成正弦波(他们的频率、振幅和相位关系)。而STFT的数学算法超出了本文的范围,重要的是要注意,STFT过程实行FFT快速傅里叶变换(数学的技巧,但高效的形式离散傅里叶变换(DFT))的窗口的样品一个窗口。DFT分析被认为是离散的时间(即一块有限的样本值)和离散的频域(即它可以作为孤立的谱线如图所示)。所以对于每一个窗口,时间和频谱已被冻结。STFT可以被看作是一个阶序列或带通滤波器等距的银行从0 Hz奈奎斯特频率

分析开始前几个分析参数设置。首先是有多少频带分析(这些有时被称为渠道)。赫兹频段是等距的,从0赫兹开始和结束在奈奎斯特频率(采样率/ 2)。我们的球场是一个对数刻度和乐队间距是线性的,乐队的音高分辨率越来越不完善对光谱的低端。一个乐队代表20 - 40赫兹将后只有一个频率来表示整个八度!

乐队都是2的幂的数量(256、512、1024…)- FFT是如此有效的原因之一。分析实际上创建了一个镜子中每一个积极的频带负(虚构的)范围内,都有真正的频段测量的大小的一半。几个过程中发生后计算,阶段声码器扔掉负频率和双打积极的的大小。

有一个计算乐队的数量之间的关系分析,乐队频率间隔,采样率和样本的数量在每个窗口(框架大小)。

带频率间隔=(采样率/ 2)/数量的积极的频段

窗口长度=采样率/样本中带频率间隔

乐队的数量=窗口长度的样品/ 2

下面的图表展示了这些关系。

乐队 窗口长度
样本中
带频率
间距
采样率
256年 512年 86.13 44100年
512年 1024年 43.07 44100年
1024年 2048年 21.53 44100年
2048年 4096年 10.76 44100年
4096年 8192年 5.39 44100年

一个FFT的输出窗口的称为样本框架。它由两种价值观:所有频率的大小(或振幅)乐队,和初始阶段所有的频段。对于每一个乐队,因此,其振幅可以量化分析的时候,从先前的框架及其相位差,使线索在球场,乐队的范围可能会说谎,是确定的。为每个数据的振幅/相位差对乐队叫做垃圾箱。这些幅度/相位数据对每个本输出x, y坐标。阶段的分析部分vocoding创建了一个文件的顺序框架,每一个拥有多个箱子。下面的视频展示了第一个几个乐队样子连续帧(一个虚构的带间距20 Hz易于显示)。

单击视频图像播放/暂停

PV帧序列视频

看着成倍增加的频率分辨率在上面的表中,由乐队频率间隔柱,看起来很棒的最佳行动分析是使用最多的乐队。不要这么快!看看上面的窗口长度与每个增加的频率分辨率是一个时间窗口的分析。时间停止每个窗口——FFT假定所有频率在一个窗口出现,因此,在频率变化的持续时间窗口将被错过。得到尽可能多的分辨率1 Hz乐队间距,必要的窗口长度将44100个样本- 44.1千赫采样率,这是为每个窗口1秒!另一方面,如果一个人希望1毫秒时间分辨率(这将是大约44个样品/窗口),这将是必要的频率分辨率下降到22乐队的乐队间距约1000赫兹。显然,一些中间妥协是有道理的,因为这个基本时间(时间)和频率之间的权衡。vocoding处理阶段的一个方面是常数测试不同的设置,看看哪个最适合一个特定的声音。

另一个参数,设置分析开始之前跳的大小。这是一个测量的多远到输入文件(以样品)的下一个窗口将开始分析。的另一种方式看这个被称为重叠因子。重叠的测量分析的最大#窗口覆盖在一个给定的点。如果跳大小设置窗口大小的一半,重叠因素两种。一些样品将被包括在两个连续的分析窗口如下图所示。更高的重叠因素是伟大的未来时间膨胀。然而,高重叠因素将导致“拖尾”效应,尽管许多作曲家发现这可取的。

帧大小= 8跳大小= 4 = 2重叠因素

跳的大小

总之,阶段的分析部分vocoding创建了一个文件的顺序框架,每一个拥有多个箱子。PV分析长文件与大量的乐队和高重叠因素可以是巨大的。

再合成

vocoding阶段的功能不仅仅是提供分析数据,而是使用分析数据后使用这一过程被称为一个声音,那是分析逆STFT。PV的框架分析可以通过几种方法后,包括交叠相加法或振荡器银行再合成方法(每个方法做了相当多的操作得到一个平滑的结果)。在现实中,并不是所有的框架都是必然,也许在很多情况下每第四帧。每个分析乐队产生正弦波的振幅在pv框架中指定。如果没有能源记录一个乐队在一个特定的框架,然后将没有能源给乐队的正弦频率。如上所述,相位数据再合成合适的沥青用于每个乐队通过创建一个运行记录帧到帧相区别的过程称为相位(像笛卡尔fun-sounding转换到极x, y坐标的振幅和相位,使用,例如,在马克斯cartopol对象)。如果帧播放的顺序,顺序相位差数据将是无用的,许多乐队会产生错误的频率。

再合成的阶段修改原来的声音。改变原始输入信号的速度(即减速或加速),帧速率是后可以加快或减慢的速度相应的原始取得。帧之间的PV篡改做出一个平滑过程,这就是重叠因子可以帮助更大。因为每一帧的频率内容没有改变,变化的速度不会导致音高的变化。事实上,一个单帧可以后“冻结”场音色时刻的时间作为作曲家的意愿。

相反,框架可以回放的速度进行了分析,但整个频谱的频率可以向上或向下转移比例,导致音高的变化,但没有一个速度。或两个速度同时沥青可以改变。常见的变体是使用一个额外的分析每一帧的频谱峰值(共振峰),转变他们独立于整体音调来创建一个音色的转变。这是莫土语中可用数字演员的光谱的影响同时模块,所有三个参数可以改变。另一个变体是用乐队之间的间距(而不是减或添加),导致有趣的扭曲的音质,谐波会非常不同,可能不调和的,间距。

再合成通常可以创建工件或在插值过程中异常。许多作曲家喜欢使用这些工件,但是很多人已经使用阶段vocoding很长一段时间已经厌倦听到他们成为音乐的主要关注点。分析参数的改变,通常可以避免工件或更有趣的。此外,一些乐队之间的频率漂移和可以导致非自然的结果。尝试更广泛的乐队或使用另一种方法称为MQ分析跟踪“线程”在一定百分比的漂移频率(提供的免费程序)。Pitch-tracking阶段vocoding是另一个选择。这里的阶段声码器试图排队乐队作为感知的基本频率的谐波。

选择,选择:观察SoundHack阶段声码器窗口下面,您将看到设置#的乐队,重叠因子,窗口函数,时间尺度(长、短),距伸缩。通过选择缩放功能复选框,你可以画自己的变量时间拉伸函数或音高变化的函数。再一次,这几乎是不可能准确预测每一个声音作出如何反应一个特定的设置,所以实验通过改变#乐队,重叠系数,窗函数当然设置你想要的时间和距扩展是至关重要的。SoundHack /是免费的Mac(撰写本文时为非功能性当前Mac OS),每一个作曲家。

Soundhack



下面简单阶段vocoding例子演示的一些常见的治疗这种技术使用相同的输入文件。

参数描述 音频例子
输入文件,没有速度的变化,没有换位
调换了一个八度,没有变速
调换了一个八度,加快50%
只有第一个B time-streched 200%
共振峰只转移了一个八度

引用:道路,柯蒂斯:电脑音乐教程(有很大的单独的附件在FFT数学),道奇,查尔斯和Jerse托马斯:电脑音乐

Baidu
map