我自己做了一些研究,发现SID芯片只有很少的硬件支持合成功能。包括具有四种可能波形(锯齿、三角形、脉冲、噪声)的三个音频振荡器,以及ADSR包络和环形调制器。伴随着振荡器、同步和环形调制器。还有阅读有一种方法来播放单一的PCM声音以及。
这一切都很小,但我仍然听到了从我的电视机中发出的许多不同的声音。它们是如何组合在一起来产生如此多种类的音频的?
给出一些细节,我想知道如何组合这些组件,以产生吉他,钢琴或鼓-like音频?另一个有趣的事情是特定于C64的不同的嗡嗡声和声音。
发布于 2009-06-11 19:24:47
我曾经在C64上为游戏,演示,甚至服务写音乐(我甚至写了QuantumLink的官方主题)。至于你的问题,四种不同的波形通常被同步和振铃模块覆盖(较少振铃,因为它在不同版本的SID芯片上是不可预测的),有时使用得很干净。
例如,一个典型的“陷阱”声音将由一个噪声波形组成,它具有非常快的攻击和持续时间,取决于你想要的是鼓棒还是刷子声,要么是非常快的衰减和适度的短暂释放,要么是短暂的衰减和较慢的释放。
获得正确的声音通常是反复试验的,而且限制相当重。你真的从来没有达到钢琴或吉他的声音,因为简单的波形没有可叠加的谐波波形,大约你能得到的最好的东西是听起来像蜂鸣的东西,听起来像马林巴琴的东西,和听起来像小军鼓的东西。
最常用于扩展声音的技巧之一是通过快速的机器代码回放例程来完成的,该例程可以快速地改变声音上播放的音符,从而给人一种更饱满、和谐的音调的印象。我们只是把它叫做断音,尽管每秒10到12个音符的变化听起来更像是嗡嗡作响的和弦。
至于采样波形,它们仅作为单比特和后来的4比特样本可用。尽管我们尽了最大的努力,但这些听起来很糟糕,因为基本上64的样本回放方法是播放白噪声波形,并迅速改变SID芯片上的音量,以产生上升和下降波。如果速度足够快,它听起来就像是原始的声音,在静音收音机上调谐得很差。
我建议你拿一个PC版的C64模拟器(CCS64就是一个好的)和一本64位基本编程指南,然后随便玩一玩……SID芯片完全可以从BASIC开始操作。
总而言之,我们是如何将所有这些钢琴和吉他声音放在C64上的呢?我们没有,真的。
发布于 2009-06-11 19:20:25
看看这些与在C64上制作音乐相关的文档:
http://sid.kubarth.com/articles.html
发布于 2009-06-11 19:42:03
你所描述的这种类型的音乐属于"chiptunes“的范畴。我推荐你试试像MilkyTracker这样的现代追踪器,它们是用来创作这种风格的音乐的。有像libmodplug这样的库可以让你在你的软件中使用tracker。
https://stackoverflow.com/questions/983045
复制相似问题