本章将深入探讨游戏音频创作的核心——音色设计与合成技术。我们将从基础的波形合成开始,逐步深入到复杂的调制技术,让你掌握创造独特游戏音色的能力。通过学习各种合成方法,你将能够从零开始构建任何想象中的声音,从复古的8-bit音效到现代的电影级音景。
在数字音频领域,合成(Synthesis)是指通过算法生成音频信号的过程。与采样(Sampling)不同,合成不依赖预录制的音频,而是从基本的数学函数开始构建声音。
所有合成技术的基础都是几种基本波形:
正弦波 (Sine Wave):
╱╲ ╱╲ ╱╲
╱ ╲ ╱ ╲ ╱ ╲
╱ ╲╱ ╲╱ ╲
方波 (Square Wave):
┌──┐ ┌──┐ ┌──┐
│ │ │ │ │ │
──┘ └──┘ └──┘ └──
锯齿波 (Sawtooth Wave):
╱│ ╱│ ╱│
╱ │ ╱ │ ╱ │
╱ │╱ │╱ │
三角波 (Triangle Wave):
╱╲ ╱╲ ╱╲
╱ ╲╱ ╲╱ ╲
从傅里叶分析的角度看:
任何音色都可以从三个维度来描述:
加法合成是最直观的合成方法,通过叠加多个正弦波来构建复杂音色。这直接对应于傅里叶定理:任何周期信号都可以分解为正弦波的和。
加法合成的基本公式:
y(t) = Σ[n=1 to N] A_n * sin(2π * f_n * t + φ_n)
其中:
- A_n:第n个分音的幅度
- f_n:第n个分音的频率
- φ_n:第n个分音的相位
- N:分音总数
大多数乐音都是谐波的,但某些打击乐器(如钟、锣)包含非谐波泛音,这赋予它们独特的金属质感。
管风琴是加法合成的经典应用。一个简单的管风琴音色可以这样构建:
基频 f0 = 440Hz (A4)
谐波结构:
- 1f: 1.0 (基频,最强)
- 2f: 0.5 (八度)
- 3f: 0.33 (十二度)
- 4f: 0.25 (两个八度)
- 5f: 0.2 (大三度+两个八度)
- 6f: 0.17 (十二度+八度)
- 8f: 0.125 (三个八度)
优点:
缺点:
减法合成从富含谐波的波形开始,通过滤波器去除不需要的频率成分。这是模拟合成器最常用的方法,也是大多数经典游戏音色的基础。
振荡器 → 滤波器 → 放大器
↑ ↑ ↑
VCO VCF VCA
(包络调制)
最常用的滤波器,允许低频通过,衰减高频:
幅度响应:
│
│════╗
│ ╚═══╗
│ ╚════
└─────────────→ 频率
fc (截止频率)
传递函数(一阶巴特沃斯):
H(s) = 1 / (1 + s/ωc)
允许高频通过,衰减低频:
幅度响应:
│ ════
│ ╔═══╝
│════╝
└─────────────→ 频率
fc
只允许特定频段通过:
幅度响应:
│ ╔══╗
│ ╔═╝ ╚═╗
│══╝ ╚══
└─────────────→ 频率
f1 fc f2
去除特定频率:
幅度响应:
│════╗ ╔════
│ ╚══╝
│
└─────────────→ 频率
fc
不同Q值的效果:
│ Q=10
│ ╱╲ Q=5
│ ╱ ╲ ╱──╲ Q=1
│────╱────╲─╱────╲──────
└───────────────────→ 频率
fc
Roland TB-303 的酸性贝斯音色定义了整个电子音乐流派:
配方:
1. 振荡器:锯齿波
2. 滤波器:18dB/oct 低通,高谐振
3. 包络:快速起音,中等衰减
4. 调制:包络调制截止频率
FM合成通过一个振荡器(调制器)调制另一个振荡器(载波)的频率来产生复杂的频谱。这种技术在1980年代因Yamaha DX7而流行,成为了许多经典游戏音色的基础。
基本FM合成公式:
y(t) = A * sin(2π * fc * t + I * sin(2π * fm * t))
其中:
- fc:载波频率(Carrier frequency)
- fm:调制频率(Modulator frequency)
- I:调制指数(Modulation index)
- A:输出幅度
FM合成会产生边带(Sidebands),其频率为:
fn = fc ± n * fm (n = 0, 1, 2, 3...)
边带幅度由贝塞尔函数决定:
An = Jn(I)
调制指数I的影响:
I = 0:无调制,纯正弦波
│
│ fc
│ │
└────┴────→ 频率
I = 1:轻微调制
│
│ ╱│╲
│ ╱ │ ╲
└────┴────→ 频率
I = 5:丰富的边带
│
│ ╱╲╱│╲╱╲
│╱ ╲│╱ ╲
└────┴────→ 频率
C:M比率决定了音色的谐波特性:
常用比率及其特征:
1:1 - 类似锯齿波
2:1 - 类似方波
1:2 - 次谐波,深沉
1:7 - 钟声音色
1:3.14 - 金属打击音
Yamaha DX7使用6个运算器(Operator)的不同连接方式(算法),创造出丰富的音色:
算法1(堆叠): 算法2(分支):
[6] [6]
↓ ╱ ╲
[5] [5] [4]
↓ ╲ ╱
[4] [3]
↓ ↓
[3] [2]
↓ ↓
[2] [1]
↓ ↓
[1] 输出
↓
输出
DX7的电钢琴音色成为了80年代的标志:
配置:
- 算法:5(2个载波,各有2个调制器)
- 载波1:1.00比率,ADSR = 0/100/30/60
- 调制器1:14.00比率,ADSR = 80/60/0/0
- 载波2:1.00比率,ADSR = 0/100/20/70
- 调制器2:1.00比率,ADSR = 70/80/0/0
- 调制指数:随力度变化(0.5-3.0)
粒子合成将声音分解为微小的”颗粒”(通常10-100ms),然后重新组合这些颗粒来创造新的音色。这种技术特别适合创造环境音效和演变的音景。
原始波形:
━━━━━━━━━━━━━━━━━━━━━━━━
分解为颗粒:
[▓][▓][▓][▓][▓][▓][▓][▓]
重组(可改变密度、音高、位置):
[▓] [▓][▓] [▓] [▓][▓][▓]
汉宁窗:
╱╲
╱ ╲
╱ ╲
╱ ╲
╱ ╲
───────────────
通过大量颗粒的叠加创造复杂纹理:
密度 = 100 grains/sec
随机音高 = ±50 cents
随机位置 = ±20ms
结果:厚重、演变的纹理
ADSR(Attack-Decay-Sustain-Release)包络是塑造音色时间特性的关键工具。
幅度
↑
1.0│ ╱╲
│ ╱ ╲_____
│ ╱ sustain
│ ╱ ╲
0.0│╱──────────────╲───→ 时间
A D S R
A - Attack(起音):从0到峰值的时间
D - Decay(衰减):从峰值到延音电平的时间
S - Sustain(延音):保持的电平(0-1)
R - Release(释音):键释放后到0的时间
不同乐器的特征包络:
钢琴:
A:5ms D:300ms S:0.3 R:800ms
特点:快速起音,逐渐衰减
小提琴:
A:100ms D:50ms S:0.8 R:200ms
特点:渐进起音,持续音
管风琴:
A:10ms D:0ms S:1.0 R:10ms
特点:立即响应,无衰减
铜管:
A:30ms D:100ms S:0.7 R:150ms
特点:中等起音,轻微衰减
专业合成器使用多个包络控制不同参数:
幅度包络 → VCA
滤波包络 → VCF截止频率
音高包络 → VCO频率
LFO产生低于20Hz的控制信号,用于周期性调制:
LFO波形:
正弦:平滑调制
三角:线性调制
方波:开关效果
随机:随机调制
应用:
- 颤音(调制音高):5-7Hz
- 震音(调制幅度):4-6Hz
- 滤波器摆动(调制截止):0.1-2Hz
两个信号相乘,产生和频与差频:
输入:f1 = 440Hz, f2 = 550Hz
输出:990Hz (f1+f2), 110Hz (f2-f1)
特点:金属、机器人音色
一个振荡器的输出调制另一个的参数:
OSC1 → OSC2音高
↘
OSC2脉宽
《最终幻想》系列在音色设计上的创新影响了整个游戏音乐行业。让我们分析几个标志性音色的合成方法。
这个标志性的琶音使用了层叠的合成技术:
音色分析:
基础层:
- 类型:加法合成
- 谐波:1f(1.0), 2f(0.5), 4f(0.25), 8f(0.125)
- 特点:纯净、空灵
闪光层:
- 类型:FM合成
- C:M比:1:7
- 调制指数:2.5
- 特点:明亮的金属光泽
包络设置:
- Attack: 5ms(快速)
- Decay: 200ms
- Sustain: 0.4
- Release: 2000ms(长尾音)
合成配方:
主音色:
- 振荡器:锯齿波 + 方波(失谐3 cents)
- 滤波器:低通,截止3kHz,Q=2
- 包络:A:10ms D:50ms S:0.8 R:100ms
铜管增强:
- FM合成:C:M = 1:1
- 调制指数:随力度变化(1.0-4.0)
- 滤波包络:快速扫频(0→5kHz in 50ms)
植松伸夫使用了独特的音色组合:
主旋律音色:
- 基础:脉冲波(占空比30%)
- 调制:LFO调制占空比(5Hz,深度20%)
- 滤波:带通滤波器,中心频率800Hz
- 效果:轻微的合唱效果
特征分析:
频谱重心:~1.2kHz(明亮但不刺耳)
谐波衰减:-6dB/oct(温暖音色)
《最终幻想》的魔法音效使用了复杂的分层:
火系魔法(Fire):
1. 冲击层:白噪声 → 低通滤波器扫频
2. 燃烧层:滤波噪声 + 环形调制
3. 尾音:粒子合成的火焰纹理
冰系魔法(Blizzard):
1. 结晶层:FM合成(C:M = 1:11)
2. 寒风层:带通滤波白噪声
3. 碎裂层:短促的金属撞击采样
雷系魔法(Thunder):
1. 电击层:快速FM扫频(10kHz→100Hz)
2. 轰鸣层:低频正弦波(30-60Hz)
3. 回响层:多重延迟的高频成分
Yamaha DX7的发布彻底改变了音乐制作:
技术突破:
对游戏音乐的影响:
标志性游戏音乐:
物理建模合成通过模拟真实乐器的物理特性来生成声音,而非传统的波形操作。
这是最简单也最优雅的物理建模算法,特别适合弦乐器:
算法流程:
1. 初始化:用噪声或脉冲填充延迟线
2. 循环:
- 读取延迟线输出
- 低通滤波(模拟能量损失)
- 反馈到延迟线输入
延迟线长度 = fs / f0
其中:fs = 采样率,f0 = 基频
┌─────────────┐
│ 延迟线 │
│ [N samples] │
└──────┬──────┘
│
┌──▼──┐
│ LPF │ ← 衰减因子
└──┬──┘
│
反馈 ←─┘
刚度模拟:
添加全通滤波器模拟弦的刚度:
H(z) = (z^-1 + a) / (1 + a*z^-1)
a = 刚度系数(0-1)
拨弦位置:
梳状滤波器模拟不同拨弦位置:
位置 = L/n(L=弦长)
产生n次谐波的凹陷
共鸣体模拟:
并联带通滤波器组模拟共鸣:
f1 = 100Hz, Q = 5 (主共鸣)
f2 = 200Hz, Q = 8 (第一泛音)
f3 = 320Hz, Q = 10 (第二泛音)
波导合成:
模态合成:
本章深入探讨了音色设计的核心技术:
关键概念:
重要公式:
y(t) = A * sin(2πfc*t + I*sin(2πfm*t))H(s) = 1 / (1 + s/ωc)D = fs / f0实践要点:
问题:直接生成锯齿波或方波会产生混叠
错误:直接用数学公式生成
正确:使用带限合成(BLIT/BLEP)或过采样
解决方案:
问题:高调制指数导致感知音高偏移
原因:贝塞尔函数J0(I)可能为负
结果:载波相位反转,音高感知改变
解决方案:
问题:高Q值滤波器在截止频率产生啸叫
危险区域:Q > 10
症状:即使无输入也有输出
预防措施:
问题:过快的包络变化产生咔嗒声
典型场景:
- Attack = 0ms
- Release = 0ms
- 方波调制
解决方案:
问题:随机相位导致梳状滤波效果
症状:空洞、金属质感的声音
原因:颗粒叠加时的相位抵消
优化方法:
错误认识:
"更多振荡器 = 更好的音色" ✗
"所有声音都需要过采样" ✗
"物理建模总是最佳选择" ✗
最佳实践:
问题:线性调制深度产生非线性感知
示例:音高调制
1% @ 100Hz = 1Hz偏移
1% @ 1000Hz = 10Hz偏移(感知更明显)
补偿方法:
常见场景:
滤波器系数计算:使用双精度
相位累加器:防止精度损失
延迟线索引:整数部分+小数插值
调试技巧:
给定一个周期为2ms的方波,基频为500Hz,分析其频谱成分的前5个谐波的频率和相对幅度。
提示(Hint):方波只包含奇次谐波,幅度按1/n衰减。
设计一个二阶巴特沃斯低通滤波器,截止频率为1kHz,采样率为44.1kHz。计算在2kHz处的衰减量。
提示(Hint):二阶巴特沃斯滤波器的衰减率为-12dB/octave。
使用FM合成,载波频率fc=440Hz,调制频率fm=110Hz,调制指数I=2。计算产生的前三个边带频率。
提示(Hint):边带频率 = fc ± n×fm,其中n为整数。
设计一个ADSR包络来模拟以下乐器特征:
提示(Hint):考虑每种乐器的物理特性和演奏方式。
分析并描述如何使用减法合成重现经典的”酸性贝斯”(Acid Bass)音色。包括振荡器选择、滤波器设置和调制路由。
提示(Hint):TB-303的特征是高谐振的低通滤波器和包络调制。
使用Karplus-Strong算法合成A4(440Hz)的吉他弦音。采样率为44100Hz,描述延迟线长度和滤波器参数。
提示(Hint):延迟线长度 = 采样率 / 基频。
设计一个FM音色来模拟教堂钟声。描述你的载波/调制器配置、频率比和调制指数,并解释选择的理由。
提示(Hint):钟声包含非谐波泛音,考虑使用非整数频率比。
比较四种合成方法(加法、减法、FM、粒子)在创建”海浪声”环境音效时的优缺点。描述每种方法的实现策略。
提示(Hint):考虑海浪的动态特性、频谱变化和随机性。