我正在编写一个 Javascript 程序,以编程方式为程序生成的音乐创建 MIDI 信号,该音乐使用外部输入来修改/操纵声音以响应环境的变化。
我正在尝试做的一件事是弄清楚如何对模拟伪随机低频振荡器 (LFO) 信号进行编程,如下图中的虚线所示:
该信号将驱动 MIDI 效果,如弯音或调制。
该函数应采用单值输入来控制信号波动的剧烈程度。当输入为 0 时,产生的信号应该为 0,或一条平线。并且随着输入值的增加,信号应该按比例变得越来越不稳定。
我觉得我知道如何生成实现这些目标的阶跃函数(如上图中的实线),但我不知道如何“平滑”它(即低通滤波器)以获得像虚线一样的连续曲线。最终,平滑/连续/模拟功能将被采样,例如,每 100 毫秒并作为新的 MIDI 弯音指令进行广播,等等。