Natooz/MidiTok

MIDI / symbolic music tokenizers for Deep Learning models 🎶

What it solves

MidiTok 提供一种标准化的方式,将音乐文件(MIDI 和 abc)转换成机器学习模型(如 Transformers)能够理解的 token 序列。这消除了在音乐生成、转录或音乐信息检索(MIR)等任务中手动实现复杂音乐 token 化方案的需求。

How it works

该库实现了多种已确立的音乐 token 化方法(例如 REMI、MIDI‑Like、CPWord)。用户可以自行设置音乐如何以 token 形式表示的具体参数。此外,它还支持使用 Byte Pair Encoding(BPE)、Unigram、WordPiece 等技术进行高级词汇训练,并提供数据增强工具以及与 Hugging Face Hub 的集成,以便共享模型。

Who it’s for

从事 AI 音乐生成、音乐转录和音乐信息检索(MIR)研究与开发的研究人员和开发者,需要为深度学习模型的训练准备音乐数据集。

Highlights

  • Multiple Tokenization Schemes: 支持包括 REMI、REMI+、TSD、MuMIDI 在内的众多业界标准 token 化方案。
  • Hugging Face Integration: 无缝集成 Hugging Face Hub,允许用户推送和下载预训练的 tokenizer。
  • Trainable Vocabularies: 能使用 BPE、Unigram、WordPiece 训练 tokenizer,以获得优化的音乐表示。
  • PyTorch Ready: 包含内置实用工具,用于创建 PyTorch 数据集和 data loader,简化模型训练流程。