Skip to main content

旋律生成、コード推定、マルチタスクな音楽生成を行うライブラリ

Project description

MORTM Structure

MORTM: Metric-Oriented Rhythmic Transformer for Music Generation

Takaaki Nagoshi

Project.MORTM Research Group

License Version PyTorch Status

Japanese English
---

Abstract

Autoregressive models based on the Transformer architecture have achieved remarkable success in symbolic music generation. However, maintaining long-term structural coherence and rhythmic consistency remains a significant challenge, as standard tokenization methods often neglect the hierarchical nature of musical time.

We present MORTM (Metric-Oriented Rhythmic Transformer for Music), a novel framework that explicitly models metric structures through a bar-centric tokenization strategy. Version 4.5 introduces a scalable Sparse Mixture of Experts (MoE) architecture and FlashAttention-2 integration, enabling efficient training on extended contexts. Furthermore, we propose a Reinforcement Learning from Music Feedback (RLMF) pipeline using Proximal Policy Optimization (PPO), where the generator is aligned with stylistic objectives defined by a BERT-based reward model (BERTM).


1. Key Contributions

  • Metric-Oriented Tokenization: A specialized vocabulary and encoding scheme that encapsulates musical events within a metric grid, enforcing bar-level structural integrity.
  • Sparse Mixture of Experts (MoE): Implementation of Top-2 gating MoE layers to decouple model capacity from inference cost, allowing for massive parameter scaling.
  • Efficient Long-Context Modeling: Integration of FlashAttention-2 and relative positional embeddings (ALiBi/RoPE) to handle extended musical sequences with linear memory complexity.
  • Reinforcement Learning Alignment: A complete PPO-based RLHF pipeline that fine-tunes the autoregressive policy using rewards derived from a bidirectional discriminator (BERTM).
  • Multimodal Scalability: Extensions for audio spectrogram modeling (V_MORTM) and piano-roll vision processing (MORTM Live).

2. Architecture

MORTM is built upon a decoder-only Transformer backbone, optimized for the nuances of symbolic music data.

2.1 Sparse Mixture of Experts (MoE)

To enhance the model's representational power without incurring prohibitive computational costs, we replace standard Feed-Forward Networks (FFNs) with MoE layers in selected blocks.

  • Routing Mechanism: A learnable gating network routes each token to the Top-$k$ experts (default $k=2$).
  • Expert Specialization: This allows different experts to specialize in distinct musical textures (e.g., rhythmic accompaniment vs. melodic phrasing).

2.2 Attention Mechanism

We employ FlashAttention-2 to accelerate the attention computation. $$\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right)V$$ Combined with Rotary Positional Embeddings (RoPE), the model effectively captures relative timing dependencies across thousands of tokens.

2.3 Reward Modeling (BERTM)

BERTM (Bidirectional Encoder Representations for Music) acts as a critic. Pre-trained on masked language modeling (MLM) and fine-tuned for genre/quality classification, it provides scalar rewards that guide the PPO training phase.


3. Installation & Prerequisites

This research code is implemented in PyTorch. For optimal performance, especially with FlashAttention-2, an NVIDIA GPU (Ampere architecture or newer) is recommended.

# Clone the repository
git clone [https://github.com/Ayato964/mortm.git](https://github.com/Ayato964/mortm.git)
cd mortm

# Install core dependencies
pip install torch torchvision torchaudio --index-url [https://download.pytorch.org/whl/cu118](https://download.pytorch.org/whl/cu118)
pip install flash-attn --no-build-isolation

# Install project requirements
pip install -r requirements.txt

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mortm-4.8.29.tar.gz (95.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mortm-4.8.29-py3-none-any.whl (105.2 kB view details)

Uploaded Python 3

File details

Details for the file mortm-4.8.29.tar.gz.

File metadata

  • Download URL: mortm-4.8.29.tar.gz
  • Upload date:
  • Size: 95.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for mortm-4.8.29.tar.gz
Algorithm Hash digest
SHA256 4d36ce48387f68120a47b52f1c7809273e45aad0b08c76fc293a9db88cad4dd7
MD5 60a1b9f0f7731a2be354e6193489c36d
BLAKE2b-256 d5e0c7bce820923824aa74ece160c07350e8c7d4bf9b360b3cf35295d422accf

See more details on using hashes here.

File details

Details for the file mortm-4.8.29-py3-none-any.whl.

File metadata

  • Download URL: mortm-4.8.29-py3-none-any.whl
  • Upload date:
  • Size: 105.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.12.3

File hashes

Hashes for mortm-4.8.29-py3-none-any.whl
Algorithm Hash digest
SHA256 dedecd2c25e6db007b4244e8ccdfc5c009f4111fcc31fbb19f5e5bb21f3e4945
MD5 19abf16550ba44061c9766067f599f7a
BLAKE2b-256 8f66303e9513583174fdfa346969c787a04caaf7086e74f6f8be6ce8fde9d362

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page