基于素数的无限算法旋律

图片

哈Ha! 在上一篇文章“基于质数的无限模式”中,我谈到了一种算法,该算法使您可以生成无穷无尽的美丽图案,这些图案既可以是外来图形,也可以是技术上的东西,例如芯片设备。 但是,用于生成2D模式的算法也可以用于创建旋律。 削减更多细节。

旋律生成算法


为了创造旋律,我制作了一个带有衰落信号的简单曲折发生器。 在这种情况下,您可以将多个弯曲生成器彼此重叠。 接下来,我们根据音符的频率设置曲流发生器的周期,并根据“钳位”键的存在来设置发生器的振幅。 作为击键的信号,我使用了从可以在图像周围移动的垂直列获取的2D图像的像素值。 该列包含14个像素,对应于第二个和第三个八度的7个音符。 一个键只有两个状态-是否按下。

曲折发生器和用于将结果存储在WAV文件中的函数,我将其实现为单独的库来处理声音。 她在这里

可以在此处查看生成音乐的程序。 它称为simple_sound。 可以在存档中找到Ready exe。 在输出中,程序创建一个“示例” WAV文件。

旋律的例子


最有趣的曲调之一, example_dx1000_dy1000_x2018_y8 。 旋律的名称显示X和Y坐标以及初始坐标的偏移大小。 其他旋律:

example_dx_dy_x5678_y7768
example_dx_dy_y776897123
example_y47
例子

从理论上讲,您可以优化算法并将其用于原始游戏,以使游戏中的旋律永远不会重复。

Source: https://habr.com/ru/post/zh-CN420225/


All Articles