Digital Audio on the ZX Spectrum's 1-Bit Beeper
a day ago
- 文章详细介绍了一种通过ZX Spectrum的1位蜂鸣器,利用精确计时和跳转表技术来生成高质量数字音频的方法。
- 该技术经过两次失败的尝试(涉及延迟循环和动态延迟)后才得以完善,最终通过基于宏的跳转表获得了成功。
- 最终的播放代码使用周期计数指令、影子寄存器保存以及16项跳转表,以8kHz输出4位PCM音频,并应用了放大。
- 实际限制包括:没有外部放大时声音非常轻,以及RAM占用高(对于较长的样本几乎占用所有可用内存)。
- 相关工作包括Dmitry Milk的CORE5引擎(使用256项跳转表和完整的8位音频)以及Michael J. Mahon为Apple II开发的RTSynth,两者都采用了类似的脉宽调制原理。
- Spectrum的简洁硬件设计与其他系统(如C64)形成对比,需要直接的时间控制,而不是利用未记载的行为。