共振峰合成软件



1.参考文献 ¶

Klatt, D. H. (1980). Software for a cascade/parallel formant synthesizer. The Journal of the Acoustical Society of America, 67(), 971-. https://doi.org/10.1121/1.383940

论文原文

2.研究背景 ¶

通过语音合成来研究语音感知。级联/并行共振峰合成器可以在计算机上以图 1 所示的方式进行模拟。

图1

合成器可以控制参数,例如第一共振峰的频率,可以控制多达20个参数。输出的语音是非实时计算的,并存储在磁盘上,以便进行后续回放。

该合成器不需要反复校准。可以轻松更改参数。例如,可以通过适当修改声源和级联声道配置来合成妇女和儿童的声音。显示终端在计算机中可用,并且可以查看控制参数或输出语音波形(第IV节)。还可以计算和显示短时频谱,以便在自然波形和合成波形之间进行详细的频谱比较(第 V 节)。

语音合成器分为两大类:(1)发音合成器,试图模拟构音器官的机械运动以及由此产生的肺、喉、声带和鼻道中体积速度和声压的分布(Flanagan、Ishizaka、和 Shipley, 1975),以及 (2) 共振峰合成器,通过制定的一组更简单的规则来生成语音波形。

合成器的设计基于 Fant (1960)中提出的语音产出的声学理论,并在图2中进行了总结。

图2

一个或多个声源被肺压力激活。对于每个声源,我们可以用声源频谱 S(f) 来表征它, f是频率。每个声源都会激活声道,声道充当类似于风琴管的共振系统。由于声道是一个线性系统,它可以通过线性函数T(f)来表征,R(f)描述了从头部定向声音传播的影响。合成器包括模拟几种不同类型声源的组件、模拟声道转换函数的组件,以及模拟来自头部的声音辐射的组件。

图10

有两种通用配置。第一种称为并联共振峰合成器,每个共振峰合成器前都有一个幅度控制,它决定了语音的共振峰的相对幅度。第二种称为级联共振峰合成器,优点是无需对每个共振峰进行单独的振幅控制。其缺点是仍需要并联共振峰配置来产生摩擦音和爆破音。级联配置的第二个优点是声道传输的更准确模型. 在产生非鼻音的过程中发挥作用 (Flanagan, 1957)。实验者必须事先决定采用哪种配置。在可能的范围内,合成器会生成大致相同的输出波形,无论选择级联还是并联配置。

波形采样率

语音大部分在大约 80 -8000 Hz 的频率中,语音的可懂度测试表明,如果去除 5000 Hz 以上频率的能量,则可懂度不会发生可测量的变化,因此选择了 5000 Hz作为合成器的采样率。

参数更新率

控制参数每 5 毫秒更新一次,甚至可以模拟最快速的共振峰转换和短暂的爆破音。

数字谐振器

两个参数用于改变合成器的输入-输出特征,共振峰频率F和共振峰带宽BW。输出的样本y(nT) 由输入序列x(nT) 计算得出,公式为

y(nT) =Ax(nT) + By(nT - T) + Cy(nT - 2T), (1)

其中y(nT-T) 和y(nT-2T) 是输出序列 y(nT) 的前两个样本值。常数 A、B 和C与共振峰频率 F 和带宽 BW 相关。

C = - exp (-2 PI BW T),

B = 2 exp(- PI BW T) cos(2 PI F T ), (2)

A = 1 -B -C ,

其中 PI 是圆的周长与其直径的比值。常数T是采样率,在5 kHz中等于 0.0001 s。 控制参数F和BW的值每 5 ms 更新一次,导致方程常数在合成语音时每 5ms发生离散变化。

转换函数的采样频率由下式给出:

图3

合成器模块如图 6所示:

图4

有 39 个控制参数决定了输出的特征。表I中给出了每个参数的名称和值范围。表 I 中的参数是适合特定男性声音的值,并且可以稍微调整以接近其他男性或女性说话者。

图5

3.声源 ¶

两种声源可以在语音产出过程中被激活(Stevens 和 Klatt,1972)。一种是声带的振动,称为发声。第二种声源涉及气流快速通过狭窄处所产生的噪音。如果狭窄处位于声带的水平,则产生的噪音称为吸气音,例如发[h]时。如果位于喉部上方产生的噪音称为擦音,例如[s]。爆破音也主要由擦音组成。

控制参数用于指定发声的基频(F0)、正常发声的幅度(AV)和准正弦发声的幅度(AVS)。

噪声源在合成器中由伪随机数发生器、调制器、幅度控制AF和低通数字滤波器 LPF 模拟,如图 6 所示。该滤波器的输出样本 y(nT) 与输入序列 x(nT) 相关,公式为 y(nT) = x(nT) + y(nT-T)。擦音的幅度由AF决定,以dB为单位。其值为60会产生强烈的摩擦噪音,而值为0会有效地使擦音消失。

吸气音与擦音基本相同,不同之处在于它是在喉部产生的。在级联和并联配置中需要不同的振幅控制器来模拟擦音和吸气音。发送到级联配置中的吸气音的幅度由AH确定,以dB为单位。值为 60 将产生强烈的吸气音,而值为 0 则有效地使吸气音消失。

每 5ms 将指定声源幅度AV、AVS、AF 和AH的参数值调整为新值。噪声幅度 AF和 AH 用于在 5 毫秒间隔内插入的噪声声源的强度调节。

有时需要精确元音起始时间相对于爆破音的时间。例如,在音节 [pa] 中,可能需要产生5 ms的摩擦噪声,40 ms的吸气噪声,以及在爆发音开始后恰好45 ms 的发声。在上述[pa]示例的情况下,在闭合间隔、爆发和吸气阶段,AV 和 F0 通常都将设置为零,并且在元音起始时,AV 将设置为约等于60 dB,而 F0 将设置为约等于130 Hz。

由于合成器中的更新间隔设置为 5 毫秒,因此可以以 5 毫秒的步长指定元音起始时间。如果需要更高的精度,则需要将参数更新间隔从 5 ms (NWS = 50) 更改为 2 ms (NWS = 20)。

伪随机数生成器用于产生爆破音和吸气音,例如[pa]。但由于伪随机数的随机性,可能会导致某些刺激显得与众不同。有两种方法可以解决这个问题。一种是使用相同的随机数序列。另一种方法是生成每个刺激类型的几个标记,给随机数生成器提供不同的初始值,并平衡每个类型的听者反应以消除标记变化。

4. 声道模型 ¶

声道的声学特征是由横截面积决定的,它是从喉部到嘴唇距离的函数。

五个合成器适合模拟声道长度约为17厘米的人声,这是典型的男性声道的长度。一个典型的女性声道要短 15%到20%,这表明在5kHz模拟中只需使用四个共振峰合成器来表示女性声音。通过将控制参数NFC设置为4以模拟女性和儿童的声音。按照当前的编程,NFC可以在级联分支中设置为四个、五个或六个共振峰。NFC的任何变化都意味着声道有效长度的变化。

级联模型由五个共振峰合成器组成,表示为等式(6) (Gold 和 Rabiner, 1968):

图6

其中,常数 A(n)、B(n)和C(n)由第n个共振峰频率F(n)和第n个共振峰带宽 BW(n) 的值确定,这些值由先前在等式2中给出的关系确定。

声道的转换函数可以用不同的方程的表示。可以将等式 (6) 重写为

图7

常数 s(n) 和 s* (n) 由第 n 个共振峰频率 F(n) 的值和第 n 个共振峰带宽 BW(n)的关系确定。

s(n)=PI BW(n)+j 2PI F(n)

s*(n)=PI BW(n)-j 2PI F(n)

两个公式 (6) 和 (6a)是理想声道配置的转换函数。在表示低于5kHz的声道函数时,这两个公式是可区分的。

共振峰频率“n”由共振峰频率控制参数Fn确定(共振峰峰值的幅度不仅取决于 Fn 和共振峰带宽控制参数BWn,还取决于其他共振峰的频率)。最低的三个共振峰的频率随着构音的变化而变化(例如,男性F1 的范围大约为180 - 750Hz,F2 是 600 -2300Hz,F3 的范围是1300-3100Hz)。第4和第5共振峰的频率和带宽变化不大,可以保持恒定。

共振峰带宽是由热传导、粘性、腔壁运动、嘴唇发出的声音辐射以及声门阻抗引起的能量损失的函数。由于不规则性,很难从自然语音的分析中推断出带宽。带宽变化的主要感知效应是共振峰能量强度的增加或减少。

仅用五个合成器的级联系统不可能模拟鼻杂音和元音的鼻化。鼻杂音和元音鼻化是通过在级联声道模型中插入一个额外的谐振器 RNP 和反谐振器 RNZ 来模拟的。鼻极频率 FNP 可以设置为大约 270 Hz 的固定值。鼻零频率FNZ 在非鼻化音时也应约为270Hz。

并联配置中有六个共振峰合成器,将第六共振峰添加到并联支路,专门用于合成 [s, z] 中的高频噪声。

转换函数也可以通过五个并联的共振峰合成器来模拟。如果为共振峰振幅选择了合适的值,则形成擦音的配置可用于合成任何共振峰。总结了当五个共振峰频率和带宽发生变化时,级联模型的函数 T(f) 中的共振峰振幅会发生什么变化:

图11

(1)当共振峰频率设置为 500、1500、2500、3500 和 4500 Hz ,并且共振峰带宽设置为等于 100 Hz 时,共振峰峰值相等。这对应于具有统一横截面积、闭合声门、张开嘴唇(以及一组非现实的带宽值)的声道,如图 11 (a) 所示。

(2)共振峰幅度与其带宽成反比。如果共振峰带宽加倍,则共振峰峰值会降低 6 dB。如果带宽减半,则峰值增加6 dB,如图 11 (b) 所示。

(3)共振峰振幅与共振峰频率成正比。如果共振峰频率加倍,则共振峰峰值会增加 6 dB,如图 11 (c) 所示。 (4)共振峰频率的变化也会影响较高共振峰的幅度。例如,如果共振峰频率减半,则所有较高共振峰的幅度都会降低 12 dB,即二分之一的平方,如图 11 (c) 所示。

(5)由于声道的自然模式之间的耦合,两个相邻共振峰的频率不能接近约 200 Hz。如果两个共振峰彼此接近大约这个量,则两个共振峰峰值都会增加 3 到 6dB,如图 11 (d) 所示。

鼻腔共振峰谐振器 RNP出现在并联分支中,以帮助在元音的共振峰合成过程中模拟鼻音和元音鼻化。

5.辐射特征 ¶

图 6 中标有辐射特征的方框模拟了从头部辐射的声音方向模式的影响。直接在嘴唇前面和距离嘴唇约 1 米处测量的声压,与嘴唇、鼻子体积速度的时间导数成正比,与嘴唇的距离 r 成反比 (Fant, 1960) 。通过合成器中模拟转换:

图8

6.设备 ¶

安装了附录 B 软件的计算机必须有数模转换器和模数转换器,能够每秒传输 10000 个 12 位波形样本,并精确控制每个样本之间的时间。电脑还应该有合适的音频设备比如扩音器、麦克风、录音机、耳机、以及外部低通滤波器。在附录A中进行了描述。

7.综合策略 ¶

描述了在实验室中合成语音的步骤,并给出了一个简单的例子。

元音的控制参数是AV的幅度、声带振动的基频F0、最低的三个共振峰频率F1、F2和F3,以及带宽B1、B2和B3。可以改变第四和第五共振峰频率以模拟频谱细节,但这对于可懂度来说是不必要的。

如果元音前面是辅音,则可能需要改变其他控制参数。用于合成英语辅音的控制参数(擦音的摩擦频谱、爆破音的爆发频谱、鼻音的鼻杂音等)。辅音[w]、[y]、[r]和[l]与元音相似,需要改变相同的控制参数才能区分它们。对于前元音之前的这些辅音,第二共振峰A2的幅度为零,但是对于非前元音之前的辅音,A2应设置为约 60dB。 F2 和 F3 的值可以用作表征前元音之前的辅音-元音共振峰转换的“位点”。

语音的自然性很重要,如果完全依赖现有理论,通常会产生不自然的合成语音。频谱图使语音的一般声学特征可视化并确定其声学事件的大致持续时间。然后对语音进行5 kHz的低通滤波,以10000/秒的速度进行数字化,并保存为磁盘文件,以与合成语音进行直接比较。单词“string”的浊音部分由计算机程序进一步分析,该程序提取基频的估计值,如图18(b)所示,以及共振峰频率轨迹,如图18(c)所示。观察到的共振峰可以直接用于指定发声部分期间的共振峰频率控制参数 F1 - F5。

图9

合成浊辅音(“string”的[r])的一般程序是 (1) 设置级联声道模型中的共振峰数量, (2) 将基频轮廓调整到2Hz以内,将共振峰频率调整到5%以内,调整波形和频谱,(3)修改频谱和共振峰带宽,以便将相对共振峰幅度设置在大约 2 dB 内, (4)使用声源幅度控制 AV将整体强度轮廓设置在大约2dB以内。满足这些标准可能会产生可懂的语音。

合成擦音、塞擦音和爆破音的一般程序是(1)根据噪声的频谱峰值与相邻浊音区间的共振峰峰值之间的连续性,选择共振峰,(2)设定共振峰频率,(3)使用共振峰带宽和振幅控制来调整峰值的幅度和宽度, (4) 使用 AF、AV 和 AVS 来调整整体强度。

8.结论 ¶

描述了一个灵活的软件合成器,该合成器和相关的控制程序可以由新手使用,因此可以作为研究语音感知的工具,用来对比不同声学线索。过去几年的经验表明,合成器具有足够的灵活性,可以为大多数男性和女性语音生成良好的模拟。