我做了一些研究,发现SID芯片只有少量硬件支持的合成特性。这些包括三个音频振荡器,具有四种可能的波形(锯齿波、三角波、脉冲、噪声),带有ADSR包络和环行调制器,以及振荡器同步和环行调制器。还了解到有一种方法可以播放单个PCM声音。
这很少,但我从我的电视机里听到了许多不同的声音。它们是如何结合起来产生所有这样多样化的声音的呢?
为了更具体地说明,我想知道如何组合这些元件以产生吉他、钢琴或鼓等声音?另一个有趣的事情是C64特有的不同响声和声音。
我曾经在C64上为游戏、演示甚至服务编写音乐(我甚至创作了官方的QuantumLink主题曲)。至于你的问题,通常会将四种不同的波形与同步和环形调制(因为不同版本的SID芯片上环形调制是不可预测的)叠加使用,并且有时会干净地使用。
例如,典型的“贝斯鼓”声音将由噪声波形组成,具有非常快的攻击和延音,取决于您想要鼓槌或刷子声音,要么是非常快的衰减和适度短的释放,要么是短衰减和较慢的释放。
通常需要试错才能获得正确的声音,并且限制相当严重。由于简单的波形没有可叠加的谐波波形,因此您真正无法得到钢琴或吉他的声音,最好的情况是听起来像哔哔声,马林巴风格的声音以及像爵士鼓的声音。
最常用的扩展声音的技巧之一是使用快速的机器码播放程序,在语音上快速更改播放的音符,以给人更丰富、谐波的音调印象。我们只是称其为琶音,尽管每秒进行10到12次音符变化的时候,它听起来更像是一个嗡嗡作响的和弦。
至于采样波形,它们仅作为单比特和后来的4位采样率可用。尽管我们尽力而为,但这些声音听起来很糟糕,因为基本上64播放采样的方法是播放白噪声波形并快速改变SID芯片上的音量以产生上升和下降的波形。如果足够快地做到这一点,它会有点像原始的声音,在静电收音机上调得不好。
我建议您获取PC上的C64模拟器(CCS64是一个不错的选择)和一个64 BASIC编程指南,并尝试玩耍......从BASIC可以完全操纵SID芯片。
总之,我们如何在C64上获得所有那些钢琴和吉他的声音?我们真的没有。
看看市面上的一些C64模拟器。我已经读到有些模拟器声音还原度达到了100%,与原版完全相同。