Skip to main content

music21py

Github | Gitee | Gitlab | Bitbucket | Coding

music21与musicpy对象互转

安装

pip install music21py

使用说明

music21py.m21_to_mpy:music21转musicpy

支持的类型:

转换前的类型 转换后的类型 说明
music21.pitch.Pitch musicpy.note
music21.note.Note musicpy.note musicpy不支持歌词
music21.tempo.MetronomeMark musicpy.tempo
music21.stream.Stream musicpy.track
music21.stream.Measure musicpy.track
music21.stream.Part musicpy.track
music21.stream.Score musicpy.piece musicpy不支持节拍

music21py.mpy_to_m21:musicpy转music21

支持的类型:

转换前的类型 转换后的类型 说明
musicpy.note music21.note.Note
musicpy.tempo music21.tempo.MetronomeMark
musicpy.chord music21.stream.Stream
musicpy.track music21.stream.Part
musicpy.piece music21.stream.Score

示例

import music21py
import musicpy
crd=musicpy.chord(['C5', 'E5', 'G5', 'B5'],interval=[0.25,0.5,0.75,1])
strm=music21py.mpy_to_m21(crd)
strm.show()

为什么要开发这个库

在我看来,musicpy和music21是两个口味不同的Python乐理分析库。

music21偏“学院派”,它的数据结构对标五线谱显示。音高可以用德语、意大利语、盲文等方式显示与输入,时值也支持eighth、16th等字符串形式,支持以基本时值+附点的方式展示与输入。music21严格区分等音,例如C#、D-、E---。music21“大而全”,支持musicxml、abc等多种文件输入输出。在编写与music21集成的程序时,容易陷入困惑:我不知道隐藏在我所操作的变量下面有多少信息量。

而musicpy更符合现代电子音乐人的口味,其基本数据结构“小而精”。例如,用同一种数据结构来表示和弦与旋律段落。musicpy支持常用的运算符号,常用的函数都有简称,使代码大大缩短,开发效率更高(但可维护性变差,如同shell脚本)。

在使用music21时,我绝大多数时间都在与最基本的数据结构打交道,但偶尔也需要使用高级功能。因此,可以用musicpy完成绝大多数操作,在用到高级功能时再使用本库转换为music21对象

Release files for music21py 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for music21py 0.0.2
File Size Uploaded
music21py-0.0.2.tar.gz 17.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for music21py 0.0.2
File Interpreter ABI Platform
music21py-0.0.2-py2.py3-none-any.whl Python 2, Python 3 none any Details

Total release size: 34.2 kB

Release files / music21py-0.0.2.tar.gz

Download URL music21py-0.0.2.tar.gz
Size 17.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1f402b7fbbb71305c07290e7087c1c1d2c2fc61b6e29796838371871f8725668
BLAKE2b-256 checksum
How to use checksums
1bf85660cefac193b28e369ab7e446b2c7dba04bfdcce7a2ca580081f846e68a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

Release files / music21py-0.0.2-py2.py3-none-any.whl

Download URL music21py-0.0.2-py2.py3-none-any.whl
Size 16.5 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
a6a8fb854ea29aed9966ac4e8e15a6190e08027a17a5a131f47290f29d4f0039
BLAKE2b-256 checksum
How to use checksums
226f0c5d9f345206a91db3f816e5da12ae4a7edac3001ee7440be7d19fd0f863
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page