调制摇摆:动态节奏合成
1. RFM算法基础
RFM(Rhythmic Frequency Modulation)算法的输出由以下函数给出:
[y(t) = A [1 - \cos [2\pi f_ct + d \sin^n [2\pi (f_mt + \varphi_m)]]] ]
其中:
- (t) 表示时间
- (A) 是载波振幅
- (f_c) 为载波频率
- (f_m) 是调制器频率
- (\varphi_m) 是调制器相位除以 (2\pi)
- (d) 是峰值频率偏差,也等于调制器振幅和调制强度
- (n) 是调制函数的指数
此公式定义了调制器如何作用于函数 (y(t) = A [1 - \cos(2\pi f_ct)]),该函数代表特定的音符值,如四分音符。相应地,此正弦波的细分和连音的频率调制也有定义。
2. 维也纳华尔兹伴奏合成示例
以维也纳华尔兹伴奏为例,其伴奏在节拍层面有一个著名特征:第一拍缩短,第二拍延长,第三拍接近小节长度的三分之一。即3/4节拍中的四分音符节拍具有短(S) - 长(L) - 中(I)的循环持续时间模式。
通过对维也纳华尔兹伴奏的节拍器(量化)MIDI演奏进行调制,选择参数 (f_c = 3)(每小节3拍),(f_m = 1),(\varphi_m = 0.25),(n = 1),(d = 1),就可以使用上述RFM算法模拟出这种S - L - I模式。
3. 模型中纳入动态参数
在上述维也纳华尔兹伴奏合成示例中,虽然模拟了典型的节拍持续时间分布,但在实际表演中,节奏的偏差