音乐编码之道(六)|music21音高,时值

本文详细介绍了music21库中的Pitch和Duration对象。Pitch对象用于表示音高,包括创建、属性和方法,如getMidiNumber和printSharp。Duration对象则关注音乐的持续时间,可以表示各种音符的时值,并通过quarterLength属性进行操作。两者在音乐编码中起着关键作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

音乐编码之道(六)|输入音高,时值

现在你已经创建了一些 Notes 对象,现在是时候深入一些,了解什么是真正的 Note ,即 music21.pitch 和 music21.duration 对象的内容了。

Pitch对象

由于我们已经介绍了 Note 对象, Note 对象将变得非常容易。就像 Pitch 对象在 Note 模块中一样,Pitch对象在 note 模块中找到。

让我们创建一个 pitch 对象。就像我们对 Pitch 做的那样,只需用音符名称来创建类,比如 Notes ,可选地带有升号或降号符号,(分别是 #- )。

您可以在名称后面加上一个八度数(4 = 低音谱号),但不是必须的:

B

在这里,我们将使用一个更抽象的变量名

from music21 import *
p1 = pitch.Pitch('b-4')

作为我们的第一个 p1 ,以防我们以后要改变音高(通过 Pitch 或其他方式)。

就像我们在音符中看到的那样,有很多属性(也称为特性;在我们讨论差异之前,我们将在一段时间内交替使用这个术语)和方法来描述和改变音高。前三个将是如下所述的音符对象的老套路:

Note

p1.octave



 4



p1.pitchClass



 10



p1.name



 'B-'



p1.accidental.alter

这里还有两个你可以使用的。第一个很容易理解。第二个给出了

 -1.0

的值 在旧的“MIDI”表示中,这种表示至今仍在使用。它是一个介于0和127之间的数值,其中中央C(C4)为60,C#4/Db4为61,B3为59等等。

Pitch

p1.nameWithOctave



 'B-4'



p1.midi

大多数这些属性都可以更改(在Python中称为“可设置属性”)。

当设置一个属性时,

 70

对象会根据新的值进行相应的更改:

Pitch

p1.name = 'd#'
p1.octave = 3
p
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq_31339083

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值