Show HN: MTXT – Music Text Format

Plain-text music arrives; fans cheer, skeptics argue over beat math and ABC vs MTXT

TLDR: MTXT is a new plain-text format for writing music, with tools to convert to/from MIDI and support for microtones and AI generation. The community loves the idea but debates decimal beats vs traditional ticks and asks how it stacks up against ABC notation, pushing for real-world apps.

MTXT just landed: a plain-text way to write music that reads like notes and edits like a doc. Think 'C4' and 'Cmaj7' in a file, microtones like 'C4+50', smooth fades, and a Rust tool that flips between MTXT and MIDI. It streams in real time and is LLM-friendly.

Commenters lit up. One camp cheered “pretty cool,” while another questioned the fractional beat idea—3.25 beats for a sixteenth note? Decimal fans loved the simplicity; tick traditionalists want the classic 'bar.beat.tick'. 1313ed01 asked if this is truly human-friendly and imagined pairing it with SuperCollider.

Practical folks pressed for proof: rock_artist wanted the story behind the format and real apps using it—readability is nice, usability is king. Meanwhile, giladvdn dropped the AI bomb: this is perfect for a large language model (AI) to write or edit songs.

Then the traditionalists arrived. gilrain demanded a showdown with ABC notation, the venerable text format for folk tunes. Is MTXT just flashier ABC or something bigger?

The thread traded jokes about counting music like decimals, treating 'Cmaj7' as a cheat code, and 65,535 channels got laughs. Drama score: curious optimism vs old-school skepticism, with AI lurking backstage.

Key Points

  • MTXT is a human-editable, beat-based text format for musical events with one event per line.
  • It supports transitions for CC and tempo, microtonal cents notation, global tuning, and real-time streaming.
  • Events can be written in any order; the parser handles chronological sorting and supports up to 65,535 channels.
  • A Rust reference implementation provides an mtxt crate and a CLI for MIDI↔MTXT conversion with multiple transforms.
  • The specification requires a version line, supports comments, and defines structure and fractional beat timing.

Hottest takes

"Not so sure how human-friendly the fractional beats are?" — 1313ed01
"this would be a good way for an LLM to attempt to write or modify music." — giladvdn
"How does this compare to standard ABC?" — gilrain
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.