一个用 Python 编写的乐理与作曲库,可分析和弦音阶,并通过代码生成音频与 MIDI。
Rainbow-Dreamer/musicpy
基于 Python 的音乐编程语言,用简洁且懂乐理的语法编写、分析音乐,并可导出 MIDI。
- Star
- 1,502
- Fork
- 138
- 未关闭 Issue
- 0
- 最近提交
- 2个月前
这是什么?
Musicpy 是嵌入 Python 的音乐编程语言。用户可以通过简短易读的语法描述音符、和弦、旋律、节奏和力度,并依据乐理规则与算法生成音乐素材。其核心数据类型 note、chord、scale 支持算术运算,便于以数学方式实现乐理操作。
库可以将作品导出为 MIDI 文件,也能把已有 MIDI 文件载入为内部数据结构,进行基于乐理的分析。安装可选依赖后,还支持读写 MusicXML 文件;另有 musicpy.daw 模块用于更底层的音频处理。play 函数可通过 pygame 播放作品。
项目支持 Windows、macOS 和 Linux,要求 Python 3.7 及以上版本,可通过 pip 安装。完整文档和教程见 Read the Docs 与项目 wiki。
核心功能
- 01用简洁易读的语法编写音符、和弦和旋律。
- 02依据乐理规则和算法生成音乐。
- 03可将作品导出为 MIDI,也能载入 MIDI 文件进行分析。
- 04通过可选依赖支持读写 MusicXML 文件。
- 05note、chord、scale 等类型支持算术运算。
- 06内置 play 函数直接播放作品。
适用场景
- 用代码创作短曲或和弦进行。
- 分析已有 MIDI 文件的和声与结构。
- 通过编程学习或实验乐理知识。
- 基于规则集合生成算法音乐或实验音乐。
快速上手
- 1
确保已安装 Python 3.7 或更高版本
- 2
使用 pip 安装 musicpy
pip install musicpy - 3
在文件开头导入 musicpy
from musicpy import *
使用前须知
- 采用 LGPL-2.1 许可证,修改后的库代码需要以相同条款保持开源。
- 在 Linux 上使用播放功能需要较旧版本的 pygame 以及 freepats 包。
- musicxml 和 daw 模块等功能需要额外安装依赖。
标签
常见问题
- musicpy 是什么?
- 基于 Python 的音乐编程语言,用简洁且懂乐理的语法编写、分析音乐,并可导出 MIDI。 Musicpy 是嵌入 Python 的音乐编程语言。用户可以通过简短易读的语法描述音符、和弦、旋律、节奏和力度,并依据乐理规则与算法生成音乐素材。其核心数据类型 note、chord、scale 支持算术运算,便于以数学方式实现乐理操作。
- musicpy 可以免费使用吗?用的什么许可证?
- musicpy 以 LGPL-2.1 许可证开源。用于商业产品前,请先确认许可证条款。
- musicpy 还在维护吗?
- 半年内有更新。musicpy 最近一次提交是在 2026年9月19日。
- musicpy 适合用来做什么?
- 用代码创作短曲或和弦进行。 分析已有 MIDI 文件的和声与结构。 通过编程学习或实验乐理知识。 基于规则集合生成算法音乐或实验音乐。
- musicpy 怎么安装和运行?
- 确保已安装 Python 3.7 或更高版本 使用 pip 安装 musicpy: pip install musicpy 在文件开头导入 musicpy: from musicpy import *
- 在哪里获取 musicpy?
- 源代码和安装说明在 GitHub 上:https://github.com/Rainbow-Dreamer/musicpy
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
1659+1 本周84PythonMIT更新于 8天前
免费开源的 DJ 软件,用于在 Linux、Windows 和 macOS 上进行现场混音。
7364+28 本周2053C++Other更新于 昨天
面向 UTAU 社区的免费开源歌声合成编辑器,支持 Windows、macOS 和 Linux。
4536+40 本周592C#MIT维护活跃更新于 前天
可自托管的网页版吉他/贝斯谱查看与播放器,支持音频同步,类似 Songsterr。
579+1 本周65TypeScriptMIT更新于 昨天
可在 macOS 和 Windows 本地离线运行的桌面音频与音乐创作工作室,支持语音合成、声音克隆、带歌词的歌曲生成和 MIDI 乐谱编排。
2089+99 本周157TypeScriptApache-2.0维护活跃更新于 昨天
实验性的基于样式(pattern)的数字音频工作站,支持跟踪器、钢琴卷帘和步进网格三种编辑方式。
100+9 本周3C++Other维护活跃更新于 昨天