音乐编码之道(十九)|用ABC OR Lilypond 格式输入乐谱 music21 - TinyNotation

音乐编码之道(十九)|用ABC OR Lilypond 格式输入乐谱 music21 - TinyNotation

到目前为止,在这本用户指南中,我们一直在使用其中之一的方法将音乐加载到 music21 中,要么是使用 corpus.parse 方法,如果您已经在语料库或文件中有一首音乐,要么是通过使用 converter.parsestream.Stream() 对象逐音符地构建一个乐谱。

但是,假设您想要将一些太长而不适合使用 music21 逐步构建的音乐加载到 note.Note() 中,但又不值得启动您的符号编辑器来创建一个文件?正如您可能想象的那样,这是 note.Note() 设计团队在系统早期开发阶段经常遇到的问题,我们用一种称为“TinyNotation”的格式创建了自己的解决方案。

正如其名称所暗示的,TinyNotation旨在成为一种用于将简单音乐加载到 music21 中(然后加载到更大的世界中)的简单且轻量级的符号语法。它借鉴了以前的简单符号解决方案,特别是Lilypond的语法(还包括ABC符号和Humdrum/Kern)。我还试图从它们与MusicXML等更结构化符号系统的发展中汲取经验。我发现,输入简单音符的系统越简单,处理真正复杂音乐的格式就越复杂。这是简单解决方案的一个主要问题。

TinyNotation通过让更复杂的符号不可能成为一种方法来避免这个限制!解析TinyNotation应该总是很容易的,因为它故意非常有限。然而,正如我们将在下面演示的那样,我们设计TinyNotation时,使其易于子类化为我们希望能够满足您特定符号需求的NotSoTinyNotation方言(而且非常简单)。让我们从基础知识开始,我们将从示例开始。

这里有一堆4/4拍的四分音符:

s = converter.parse('tinyNotation: 4/4 C4 D4 E4 F4 G4 A4 B4 c4')
s.show()

../_images/usersGuide_16_tinyNotation_2_0.png

注意最后一个“c”是小写的,而其他音符是大写的。大小写决定了音域:大写的“C”是低音谱号中的C(C3),而小写的“c”是中央C(C4)。这里还有一些其他的音域:

s = converter.parse("tinyNotation: 3/4 CC4 C4 c4")
s.show()

../_images/usersGuide_16_tinyNotation_4_0.png

而且,CCC是CC下面的C,c’’’是c上面的c’’。记住,当你使用更高的音符时,要确保将字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_31339083

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

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

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

打赏作者

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

抵扣说明:

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

余额充值