用 F# 描述音乐领域
原文英文,约1500词,阅读约需6分钟。
📝
内容提要
本文介绍了作者创建的音乐生成软件,利用功能和和弦的概念自动生成音乐。通过编码领域知识并添加随机性,生成不同的音乐进展。作者还提到了使用SuperCollider编写代码生成音乐的方法。
🎯
关键要点
-
作者创建了一款自动生成音乐的软件,基于预定义的规则和随机性。
-
软件利用功能和和弦的概念生成不同的旋律,确保音乐听起来和谐。
-
功能和谐的概念认为每个和弦都有其功能,主要包括主和弦、副和弦和属和弦。
-
使用F#编写代码,定义和弦质量和和谐项。
-
通过编码和弦之间的过渡,生成和谐进程。
-
引入随机性以创建不同的和谐进程,使用概率阈值选择下一个和弦。
-
扩展了和谐项和过渡,增加了替代和弦的概念。
-
使用SuperCollider编程语言生成音频,创建声音。
-
作者对F#的类型系统表示赞赏,并分享了使用该代码创作的音乐作品链接。
❓
延伸问答
这款音乐生成软件是如何工作的?
该软件基于预定义的规则和随机性自动生成音乐,利用功能和和弦的概念确保音乐和谐。
功能和谐的概念是什么?
功能和谐认为每个和弦都有其功能,主要包括主和弦、副和弦和属和弦,影响和弦之间的过渡。
为什么选择F#来编写音乐生成代码?
F#的类型系统非常适合表达各种领域知识,便于编码和弦质量及和谐项。
如何在音乐生成中引入随机性?
通过为每个和弦的过渡分配概率阈值,生成随机数以选择下一个和弦,从而引入随机性。
SuperCollider在音乐生成中有什么作用?
SuperCollider用于生成音频,创建声音,支持从生成的音符数组中产生音效。
这款软件生成的音乐有什么特点?
生成的音乐旋律多样且和谐,能够根据不同的和弦进程和随机性变化而变化。
🏷️