这里的答案假设要实际生成方波(或任何其他抽象波形),您必须将多个正弦波叠加在一起。然而,旧硬件(Commodore、NES 等)缺乏正弦波通道,而是严重依赖方脉冲波、三角波、噪声和锯齿波。我一直认为这样做是因为这些波比简单的正弦波更容易生成。那么,生成这些波形不会在计算上更加昂贵吗?为什么还是做了?
2 回答
这里的答案假设要实际生成方波[...],您必须将多个正弦波叠加在一起。
并非如此,它只是描述了如何分析方波以证明有关其声音的某些事实-每个频带中有多少能量等等。这有点类似于如何将每个整数分解为一个或多个较小的素因数(15=3×5),这在分析算法时很有用,但仍然不会改变我们得出原始数字的方式(可能数 15 只羊) )。
将“复杂”波分离成正弦分量在数学上非常有用,但并没有告诉我们其原始创建背后的机制。
我一直认为这样做是因为这些波比简单的正弦波更容易生成。
您在这里的假设是正确的。从数字电路开始,方波是创建1最简单且成本最低的波形。只需使用单个晶体管打开和关闭电压。在大众市场制造环境中,它也更便宜,因为由模拟电子设备制成的正弦波发生器(甚至是锯齿波)将需要大量额外的组件,以便不随温度、年龄和湿度而漂移。
它在合成器环境中也可以说比单个正弦波更有用,因为它有很多谐波,您可以使用像SID中的滤波器进行修改。
复杂性阶梯的下一步是任何斜坡形状,例如三角形或锯齿形。虽然您可以使用模拟电子设备来制作这些,但早在八十年代初期,它们通常是由一个由数字计数器驱动的简单DAC实现的。计数器的速率决定了波形从 0 到MAX的速度,从而决定了音高。
在计算机中安装 DAC 后,您可以使用它来生成正弦波,但它需要非常昂贵的实时计算或预先计算的正弦值的大表,因此很少(从来没有?)完成。当计算机获得一些有用的 RAM 和带宽时,它们会迅速切换到普通的任意样本,并且永不回头。
1)事实上,其他任何事情都要复杂得多,以至于今天我们只使用简单的数字脉冲来完成所有事情,并以各种方式过滤结果(PDM、PWM、Delta-sigma)
我的回忆是,我们团队的一位成员发现我们可以通过快速打开和关闭某些东西来产生声音。这是 1980 年代初期,不幸的是我不记得具体细节了。但我认为一个关键点是我们正在翻转开关,而不是计算这些波的数据。产生的波浪是“脉冲”动作的结果。这可能解释了一些早期的声音,但我认为它也是推测性的。我不是直接参与的人,从理论上讲,这充其量只能解释方波和脉冲波,而不是三角波或锯齿波。会对别人的想法感兴趣。