音乐编码之道(二十一)|Music21 音程

音乐编码之道(二十一)|Music21 音程

音程,或者说是两个音高之间的音程距离,是音乐理论的基本概念,至少可以追溯到古希腊时期,因此也是

upASecond = interval.GenericInterval('second')
s2 = s.transpose(upASecond)
s2.show()

中的基本概念。

不同形式的音乐理论分析,如调性理论、模式理论和半音音乐(无调性)理论使用不同类型的音程。因此, music21 中有一系列可用于不同情境的音程类。它们都位于 interval 模块中,该模块还包含一些方便的工具,用于创建和比较音程。用户指南的本章解释了如何创建和使用音程对象。

The music21 类 ¶

我们将打破从简单对象开始的传统,而是从最灵活但也最复杂的对象开始,简称为 Interval ,因为如果你要学习一个音程,最好是最有用的一个。

我们可以通过将音程的缩写作为字符串来创建一个 Interval 对象。例如,如果我们想建模一个纯五度,我们将使用字符串 Interval

"P5"

from music21 import *
i = interval.Interval('P5')
i

现在我们可以看到音程对象的一些属性:

 <music21.interval.Interval P5>



i.niceName



 'Perfect Fifth'



i.name



 'P5'



i.semitones



 7



i.isStep

这是一个假设从十四世纪末到十九世纪末的音乐背景的规则:

 False



i.isConsonant()

这个音程要加起来成为一个八度,我们需要什么?那就是补充音程:

 True



i.complement

一个音程的音级是指它的半音数量,取较小的音程或其补充音程的半音数量:

.intervalClass

i.intervalClass

一个cents是半音的1/100:

 5



i.cents

我们可以用reverse()方法获得一个降序的音程:

.reverse()

i.reverse()

假设这个音程是B4和另一个音之间的距离,那么那个音是什么?

 <music21.interval.Interval P-5>



i.noteStart = note.Note('B4')
i.noteEnd

或者我们可以使用这个间隔来转换任何给定的音

  • 21
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_31339083

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

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

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

打赏作者

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

抵扣说明:

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

余额充值