所以我有类似的东西:

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

其他函数将波形从某个低频“滑动”到某个高频,并接受两个频率参数。

仅使用这些功能我就能够创造出各种声音。底鼓、老式激光射击声和一堆听起来像脚步声的声音。我无法合成军鼓类型的声音。

关于如何生成一个有什么建议吗?混合什么频率以及混合的量是多少?除了正弦波、方波和三角波之外,还可以使用其他波形类型吗?

有点受到启发 64k 可执行文件 比赛。

有帮助吗?

解决方案

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

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

其他提示

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top