程序军鼓

bob*_*obo 6 language-agnostic audio procedural procedural-music

所以我有类似的东西:

    void createSinewave( short * array, int duration, int startOffset,
float freq, float amp ) ;
    void createSquarewave( short * array, int duration, int startOffset,
float freq, float amp ) ;

其他功能将波形从一些低频"滑动"到一些高频,并接受两个频率参数.

使用这些功能,我已经能够创造出各种各样的声音..踢鼓,旧学校的激光火声,以及一堆听起来像脚步声的声音.我无法合成军鼓型声音.

有关如何生成一个的任何建议?混合的频率和混合的频率是多少?使用的其他波形类型比正弦波和方波和三角波?

有点受64 k可执行竞赛的启发.

Tho*_*mas 2

鼓通常由短脉冲噪声合成,例如白噪声粉噪声棕色噪声。

其中,白噪声是最容易生成的:只需用随机样本填充数组,这些样本以统一的概率独立选择。布朗噪声也很容易。