
MidiTok
把乐谱变成 AI 的口粮,喂饱它就能源源不断写歌
项目预览
项目数据
项目介绍
Star 增长趋势
本站每日记录该项目 GitHub 星标变化,观测越久曲线越完整
数据来源:GitHub API 逐日快照 · 收录于 2026-08-09 · 当前星标 ★ 907
使用教程
环境要求
- Python 3.9+
- symusic 等依赖
安装与启动步骤
-
1装包
MidiTok 是 ISMIR 2021 的 MIDI 分词库,pip 装完即用。
pip install miditok -
2把 MIDI 转 token
选一个 tokenizer 配置(REMI、TSD 等),对 midi 文件编码成 id 序列。
from miditok import REMI, TokenizerConfig tok = REMI(TokenizerConfig()) seq = tok("song.mid") -
3训练自己的词表
用一批 MIDI 文件 fit 出词表,再批量编码成训练集。
-
4接模型
输出直接喂给 Transformer 类模型做生成或分类。
如何确认成功
编码输出的 id 序列可被 decode 还原为 MIDI。
注意事项
- 不同 tokenizer 对节奏与和弦的表达差异很大,选型要看任务。
核心亮点
- 提供多种MIDI tokenization方法(如REMI、CPWord等),覆盖主流符号音乐建模需求
- 与Hugging Face生态深度集成,支持直接加载预训练tokenizer,便于快速实验
- 纯Python实现,依赖轻量,易于定制和扩展新tokenizer
不足之处
- 文档/社区待观察
适用场景
- 符号音乐生成模型的输入预处理(如Transformer、Diffusion)
- 音乐信息检索任务中的序列化特征提取
- 音乐风格迁移或多轨编曲的token级数据增强
替代项目
Magenta MusicVAE、Pop Music Transformer、MMM (Multi-Track Music Machine)
上一篇:tuneflow-py
下一篇:audio-diffusion
同类项目推荐
NVDA-IBMTTS-Driver
开源
让 NVDA 用上经典 IBMTTS 语音,听感更自然
This project is aimed at developing and maintaining the NVDA IBMTTS driver. IBMTTS i···
tts
开源
一句代码调用 AWS Polly,快速实现文字转语音
Tools to convert text to speech :books::speech_balloon:
voicevox
开源
免费日语配音编辑器,打字即可生成可调语音
無料で使える中品質なテキスト読み上げソフトウェア、VOICEVOXのエディター
tts
开源
一键接入文本转语音,快速生成自然语音输出
tts 服务
ttsmms
开源
一键调用MMS模型,让数百种语言开口说话
TTS with The Massively Multilingual Speech (MMS) project
bmusegan
开源
用二值神经元GAN生成复调钢琴曲,适合AI作曲研究
Code for “Convolutional Generative Adversarial Networks with Binary Neurons for Pol···
wyoming-piper-gpu
开源
给 Home Assistant 的 Piper 语音装上 GPU 加速,秒级响应
Wyoming Piper docker container with GPU support for Home-Assistant
AudioGPT
开源
一句话搞定音频理解与生成,还能驱动数字人说话
AudioGPT: Understanding and Generating Speech, Music, Sound, and Talking Head
sonata-nvda
开源
给 NVDA 装上神经语音,让屏幕阅读更自然
This add-on implements a speech synthesizer driver for NVDA using neural TTS models.···