我正在为一个模拟系统(Chip16)写音乐,它可以将 ADSR 格式的声音输出到单个通道。
此外,它在任何给定时间只能播放一种声音,必要时会切断播放声音。
如果我想要在旋律“后面”播放节拍或贝司,我会怎么做呢?有什么技巧可以模拟复音吗?
我知道它是如何在 IBM PC 扬声器上完成的——但这依赖于设备的物理/机械特性,这在此处是不可能的。
作为参考,可用的声音说明:
sng 0xAD, 0xVTSR ; load Attack,Decay,Volume,Type,Sustain,Release params
snp rx, D ; play sound, with frequency at [rx], for D milliseconds
snd0 ; stop currently playing sound
谢谢!