计算机程序员的音乐基础:表示、参数化与自动化
1. 引言
音乐是人类区别于其他动物的显著特征之一,我们热衷于聆听和欣赏超越语言交流目的的声音编排。那么,什么是音乐呢?我们可以将音乐定义为在空间和时间中组织的声音。我们创造和欣赏声音在时空中组织的能力,暗示了音乐作品具有抽象结构的概念。这对于计算机音乐家来说非常重要,因为他们处理的问题处于我们音乐智能中两个看似不同的领域边缘:抽象主观性领域(如音乐创作和艺术想象)和抽象客观性领域(如逻辑运算和数学思维)。计算机是处理后者的优秀工具,但这两个领域并非相互独立,而是相互支持的。
2. 音乐的表示
2.1 抽象边界
音乐作品具有抽象结构的观点意味着存在抽象边界。对于使用计算机进行创作的作曲家来说,定义抽象边界至关重要,因为它决定了构成音乐作品的组成部分。我们可以建立三个抽象层次:
- 微观层次 :作曲家处理微观声音特征,如单个声音分音的频率和振幅,即声音的频谱成分。通常可以进行精细的声音时间控制,以毫秒为单位。这里没有传统意义上供音乐家在声学乐器上演奏的乐谱,而是包含声音合成编程语言的指令或数字声音合成乐器的数值列表。例如,下面是一个用 Csound 编程的调频(FM)合成器及其乐谱:
;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
; Frequency Modulation (F M) Synthesiser
;−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
sr = 44100
kr = 4410
超级会员免费看
订阅专栏 解锁全文
6万+

被折叠的 条评论
为什么被折叠?



