# ElectricAlexis/NotaGen

NotaGen: Advancing Musicality in Symbolic Music Generation with Large Language Model Training Paradigms

Repository: https://github.com/ElectricAlexis/NotaGen
Canonical: https://ross.abutalabs.com/products/notagen
Homepage: https://electricalexis.github.io/notagen-demo/
Language: Python
License: MIT
License Family: permissive
Last push: 2025-04-21T04:41:30+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 17, release rhythm 35, longevity 58
- inputs: {"age_days": 823, "days_push": 499, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1223, forks 134 (observed 2026-08-28T04:04:02.760927+00:00)

## What it is
NotaGen is a symbolic music generation model that produces high-quality classical sheet music using LLM-style training paradigms: pre-training on 1.6M pieces, fine-tuning on ~9K classical compositions with period-composer-instrumentation prompts, and CLaMP-DPO reinforcement learning. It is released in Python with pre-trained weights (110M-516M parameters) on HuggingFace under an MIT license.

## Use cases
- generate classical sheet music from a period-composer-instrumentation prompt
- fine-tune a symbolic music generation model on my own compositions
- experiment with DPO reinforcement learning for music generation
- generate ABC notation scores with a language model
- download pretrained music generation model weights
- research controllable symbolic music generation

## When to choose
- you need classical-style sheet music generation conditioned on composer/instrumentation prompts
- you want a research-grade symbolic music model with open weights and MIT license
- you want to study or extend LLM training paradigms (pretrain, SFT, DPO) applied to music

## When to avoid
- you need audio synthesis or MIDI production rather than symbolic notation
- you want a polished end-user music app rather than a research codebase
- you lack a GPU or cannot run PyTorch training/inference locally

## Facets
- artifact type: library
- maturity: active
- function: machine-learning, deep-learning, llm-training, llm-inference, reinforcement-learning, data-generation
- domain: artificial-intelligence, machine-learning, deep-learning, large-language-models, media
- platform: python, cross-platform
- tags: symbolic-music-generation, abc-notation, sheet-music, clamp-dpo, transformer, huggingface-weights, research-model, classical-music, audio, gpu, linux

## Member repositories
- ElectricAlexis/NotaGen (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:02.760927+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T06:15:30.759537+00:00, confidence not recorded.
  - readme: https://github.com/ElectricAlexis/NotaGen (fetched 2026-08-28T04:04:02.760927+00:00, sha d5f67b67ee61)
  - homepage: https://electricalexis.github.io/notagen-demo/ (fetched 2026-08-29T12:24:01.047583+00:00, sha 2aeb47b04dc2)
- Data as of 2026-08-30T08:39:29.467469+00:00.
