1比特的声音环境(也许最著名的是在ZX频谱上使用的音乐)由极端限制来定义。然而,与这些限制背道而驰的是,这里有一种令人惊讶的表现力丰富的乐器多功能性。本文探讨作曲家-程序员可用的主要的、特殊的1位技术背后的理论,这些技术在1位环境中设计“工具”时是必不可少的。这些技术包括用于音色处理的脉宽调制和在软件中产生虚拟复调的手段,例如针脉冲和脉冲交织技术。这些方法是从它们的组成含义和工具应用两个方面来考虑的。
毫无疑问,从芯片音乐领域可以看出,简单的方波可以做很多事情,这是一种轻描淡写的说法。一位音乐,通常被认为是芯片音乐的一个细分部分,1更进一步:它是单一方波的音乐。在1位环境中唯一可能的操作是幅度随时间的变化,其中幅度被量化为两种状态:高或低、开或关。因此,在1位环境中实现传统上简单的音乐操作(如复调和动态控制)在直觉上似乎是不可能的。尽管有这些限制,当代1位练习的独特技术和听觉技巧还是利用了人类感知的极限。通过层层的调制、抽象和明晰的写作,这些作曲方法产生的音乐比媒体乍一看可能暗示的要复杂得多。即使最初不是通过LUDIC平台构思(人们可以在微波接口和烟雾报警器中听到1位声波的简单示例),但正如今天所理解的那样,1位音乐已经通过视频游戏和伴生的Demosene文化得到了开发和传播。2在ZX Spectrum和早期台式计算机等系统包含的音频能力严重受限的情况下,开发人员找到了创造性的解决方案来完成看似不可能的事情:复调、音色变化和动态音量,所有这些都使用单一的单声道方波。这些技巧(通常是由于需要而产生的)已经建立了一种广泛的、富有表现力的1位乐器惯用语,可以与任何声学乐器相媲美。
1位中的1表示描述信号所需的二进制数字(位)数。(大多数)计算系统中的值由二进制数字串表示,通常使用符号0和1进行抽象。实际上,这些数据可以由与范例最相关的任何一种解释来理解。例如,如果我们用0表示低幅度,用1表示高幅度,则可以用一位来描述幅度。这将允许不超过两个可能的纵向位置。如果一个值包括多个位,则可以表示更大的数字;由两个位组成的值可以有四种可能的配置-00、01、10和11-并且随着每增加一位,可能的配置的数量增加2的幂。3虽然看起来词源相同,但1位音乐与术语8位和16位音乐是不同的,因为这些术语指的是(有点宽泛地)这些音乐历史上与之相关的平台的体系结构。4使用与1位术语相同的定义,任天堂娱乐系统(NES)音乐可能更好地描述为4位,因为每个脉冲(和噪声)通道可以占据16种可能的纵向状态。5 1位Soundscape能够执行许多典型的NES、Game Boy和Commodore 64,6的芯片音乐技术。然而,与这些系统不同的是,这些限制不是由音频硬件决定的,而是由软件实现决定的。这是因为音频完全由软件例程生成,没有委托给外部硬件(如声音芯片)。一位音乐通常由CPU单独生成,与其他合成音频的方法相比,通常需要大量的计算时间。这既是媒体最大的弱点,因为声音例程可能会留下太少的处理时间给其他任务,以及最大的强度,因为合成可以在软件中单独确定,并由作曲家和程序员口述。我用作曲家-程序员这个术语来描述不仅创作音乐,而且创作其软件封装、声音例程的个人。7在更广泛的计算实践中,例程是执行特定功能任务的可执行代码的一部分。例如,软件例程可以从键盘读取输入按键,检查文档是否有拼写错误,或者在监视器上显示文本。声音例程与音频的生成有关,通常侧重于合成音乐。术语例程在这里用作软件的同义词
正弦波是声学领域最基本的声波成分,36但在数字世界中,基本单位可以说是脉搏波。一位音乐是脉搏波的音乐:具有二进制纵向分辨率的简单波形。波形是在介质中围绕固定点移动的振荡或振动的形状。波形的主要属性是振幅和频率。在二维平面上绘制,振幅在Y轴上变化,频率在X轴上加上时间(图1)。37虽然可以在Y轴上连续跟踪正弦波的振幅,但在1位环境中,对于任何给定的时间点,波形的每一步只能是两种状态中的一种:逻辑高或低、开或关。
脉冲或矩形波(由于波形的图形外观的几何形状而如此描述;见图2)是由两个不同逻辑电平之间的一系列瞬时开关定义的非正弦周期波形。通常,这些量子是两个电压(通常为正电压和地电压)之间的电子振荡;但是,脉冲波可以作为纵向压力波存在,也可以作为抽象的数学函数存在。两个纵向事件之间的周期被认为是一个脉冲。脉冲(脉冲串)的规则周期性决定了它的频率:任意周期量的重复率。39纹理和音调一致性需要可辨别的频率,而脉冲的随机分布导致未音调的音频噪声,近似于白噪声。40这个定义很重要,因为它暗示了1位脉冲的第一种器乐能力:产生打击乐(非音调)和旋律(音调)声音的能力。1位音乐家必须简单地将脉冲的顺序从规则更改为无序,以生成两种截然不同的纹理。脉冲事件的标记(高)时间的持续时间称为其脉冲宽度(在图2中用W1表示,而间隔(低)时间用W2表示)。脉冲宽度和总周期持续时间之间的关系可以表示为比率或百分比,称为波形的占空比。占空比为50%(比率为1:1)将指示具有相等标记和空时的脉冲宽度。虽然脉冲宽度和占空比的定义在技术上有所不同,但这两个术语在芯片音乐领域通常是同义词,指的是波形标记和空间时间之间的比率。42虽然理论上变化是无限的,但唯一占空比的最大数量受到硬件保真度和人类无法识别波形相位的限制。43占空比为75%(3:1)的占空比与占空比为25%(1:3)的占空比在听觉上无法区分,因为它们被认为是彼此的相位反转。44波形偏移180度;75%波形的标记时间对应于25%波形的间隔,并且它们在反转时在感觉上是相同的(图3)。由于这一效应,50%以上和50%以下的所有相似宽度在音色上与人耳相同(通过50%±n,n<;50%)。
作为一个实际示例,清单1(用C伪代码编写)生成一个方波,可能演示了最基本的1位音调生成器及其组成。在这里,我们可以看到前面提到的音调生成所需的基本操作列表的脚本版本。可以使用频率变量设置所需的频率。定时器PING_COUNTER从设置的频率值向下计数至零。程序的主循环检查计数器是否已达到零。当这种情况发生并且Pitch_Counter=0时,输出交替(从开到关,反之亦然),并且定时器被重置。PING_COUNTER再次开始倒计时,准备再次切换输出。只要频率保持不变,交替打开和关闭之间的间隔是相等的,因此例程会产生一个持续时间相等的高低持续期的脉冲波:方波。
仅参考1位理论对听觉技术的讨论和分析排除了理论波形和实际波形之间的相关性;1位范例不能从概念领域完美地转换到声学领域。数模转换器(DAC)和电子电路可能会歪曲信号,使脉冲波发生诸如振铃、圆角前沿和过冲等变形,如图4.46所示。即使在内部,微控制器也可能不会同时更新寄存器中的所有位,从而导致错误的值。可替换地,音频技术的频谱中的不足可能导致波形的改变。所有这些失真都会改变信号谐波的强度和权重:正弦分量t