用户指南,第2章:音符
乐谱,顾名思义,由一系列音符组成,这些音符在一条五线谱上按顺序或同时放置。除此之外还有其他一些元素,如谱号、调号、连音线等等,但音乐的核心是音符;因此,要在music21中取得进展,您需要了解工具包对音符的处理方式以及如何与其一起工作。
前往IDLE或在命令行中输入“python”(Mac上的终端或Windows上的“运行:cmd”),让我们开始吧。
创建和处理音符
music21概念中的标准音符包含在 Note
对象中,该对象在 Note
模块中找到。
如果你是Python新手,请阅读这部分 (其他人可以跳过): 注意对象名称和模块名称之间的区别。模块通常以小写字母开头,并且可以包含一个、多个或零个对象。Music21的对象始终以大写字母开头。因此, note
对象位于 Note
模块中。大写和小写的区分对于Python非常重要:如果你使用错误的大小写键入对象名称,它将不知道该怎么做,并且不会提供任何帮助来区分它们。
在 note
模块中,除了 note
之外还有其他类。 最重要的是 note.Note
,它表示休止符。如果我们使用以下命令加载music21:
note.Rest
那么你现在可以通过在任何命令行中键入
from music21 import *
来访问 note
模块。
note
如果你得到类似的结果,说明你可以随时通过键入
>>> note
<module 'music21.note' from 'D:\music21files\music21\note.pyc'>
来访问music21 note
模块。文件名“from ‘D:\music21files…’”后面的部分会有所不同。它会显示你安装了music21的位置(如果你忘记了music21的安装位置,这是一种简单的方式来找到它)。
只要以 "note"
或 note.pyc
或类似的形式结尾,就没问题。
如果你想知道 note.py
模块还包含什么,除了音符和休止符对象之外,你可以输入“ note
”来查看:
dir(note)
dir(note)
该列表中的一些内容是音符的类 - 它们是大写的。其他的类是我们稍后会介绍的,比如 [
['GeneralNote',
'Lyric',
'LyricException',
'NotRest',
'NotRestException',
'Note',
'NoteException',
'Rest',
'SYLLABIC_CHOICES',
'Unpitched',
'noteheadTypeNames',
'stemDirectionNames']
](asserts/usersGuide_02_notes/e1ccf686fa58ce87a5faecb230eb7d93.html “music21.note.Lyric”) 对象。
(顺便说一下:我会用高亮显示大多数对象的名称,以便它们成为对象的完整文档的链接。你可以在你感到好奇、沮丧或Netflix不可用时阅读它们;你现在当然不需要点击它们)。
高级插曲:
如果你更像一个Python大师,又担心“污染你的命名空间”,而不是输入“ Lyric
”,你可以输入:
from music21 import *
在这种情况下,你需要使用 note
替代
import music21
这个词。
music21.note
如果你是一个Python大师,你早就知道了。如果你之前不知道,但听说过“污染你的命名空间”,那你一定有一个Python大师朋友曾经大喊过,“永远不要使用
>>> music21.note
<module 'music21.note' from 'D:\music21files\music21\note.pyc'>
!”相信我,现在先忽略你的朋友一会儿;在本教程结束时,你将了解到足够的知识,能够按照你认为最自然的建议进行操作。
(从Python插曲和特别插曲中回来):
好了,现在你已经了解了关于模块和对象的足够