音乐编码之道(十四)|music21自带的乐谱(语料)库&乐谱高级搜索

语料库搜索

music21的一个重要功能是帮助用户检查大量的音乐作品,或者_语料库_。

music21附带了一个庞大的语料库,称为_core_语料库。当你下载music21后,你可以立即开始使用语料库目录中的文件,包括巴赫的完整赞美诗、许多海顿和贝多芬的弦乐四重奏、蒙特威尔第的三本世俗合唱曲集、来自埃森和各种ABC数据库的成千上万首民歌等等。

要从语料库中加载一个文件,只需调用_corpus.parse_并将该文件赋给一个变量:

from music21 import *
bach = corpus.parse('bach/bwv66.6')

核心语料库具有数千个作品。所有这些作品(或者至少所有的集合)都在_语料库参考_上列出。

用户还可以构建自己的语料库,以索引和快速搜索自己的磁盘上的集合,包括多个本地语料库,用于不同的项目,可以单独访问。

本用户指南将更详细地介绍语料库的基本功能。本章重点介绍music21用于提取有用的元数据的工具 - 标题、位置、作曲家姓名、每个乐曲使用的调号、总时长、音域等等。

这些元数据被收集在每个语料库的_元数据捆绑包_中。语料库模块具有搜索这些捆绑包并将它们持久化到磁盘以供后续研究的工具。

语料库的类型

Music21通过抽象类music21明确了它与三类语料库的配合关系。

第一类是核心语料库,它是一个包含了大量音乐作品的集合,并随大多数music21安装程序一同提供。其中包含了许多常见乐理时期的作品,以及无数的民间歌曲,以多种格式呈现。

corpus.Corpus

coreCorpus = corpus.corpora.CoreCorpus()
len(coreCorpus.getPaths())

注意:如果你安装的是一个没有语料库的版本,你仍然可以通过一些努力访问核心语料库。从music21的网站下载核心语料库,并将其安装在系统的某个位置。然后,像这样告诉music21你安装的位置:

coreCorpus = corpus.corpora.CoreCorpus()
coreCorpus.manualCoreCorpusPath = 'path/to/core/corpus'

也可以有一个或多个_本地_语料库-由个别音乐21用户提供和配置,用于自己的研究。这将在第53章中介绍。任何想要使用它们的人可以立即跳到该章节,但现在我们将继续在核心语料库中进行搜索。

Music21

您可以使用_本地_语料库的

localCorpus = corpus.corpora.LocalCorpus()

addPath()方法添加和删除路径:

removePath()

localCorpus
  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

qq_31339083

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

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

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

打赏作者

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

抵扣说明:

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

余额充值