Skip to content

Melrose

Interactive programming of melodies, producing MIDI

Install

$git clone https://github.com/emicklei/melrose

Install command taken from the project's README or registry entry. Always review code before running it.

Melrōse - programming of music melodies

Introduction

melrōse is a tool to create and play music by programming melodies. It uses a custom language to compose notes and create loops and tracks to play. Write note patterns as short text expressions, then play them through a MIDI device or music app.

MIDI (Musical Instrument Digital Interface) is a digital communication language that sends musical instructions—like which note to play, how long to hold it, and how hard it is struck—between electronic instruments and computers.

This is an example of a simple major scale C.

sequence('c d e f g a b c5') // or use the alias "seq"

Note sequences in your program can be changed while playing giving you direct audible feedback.

See also Blog post

Read the documentation on how to use melrōse.

Choose your setup

  • Try it in your browser: Open the Melrōse Playground, enter the scale example above, connect a MIDI receiver such as GarageBand, and use the play control.
  • Work locally with music files and MIDI devices: Install Melrōse to use its terminal REPL and connect to MIDI devices. A local installation can connect to multiple devices, with up to 16 MIDI channels available per device.
  • Compose in Visual Studio Code: Install the Melrōse VS Code extension to manage music files and play music from the editor.

Showcase

MIDI setup

Contributions

Fixes, suggestions, documentation improvements are all welcome. Fork this project and submit small Pull requests. Discuss larger ones in the Issues list. You can also sponsor Melrōse via Github Sponsors.

Related tools

  • melrose-mcp is a (server) tool that uses the MCP protocol to receive expressions to play. See melrose-mcp for details how to install and use it.
  • midicyles is a tool that visualizes MIDI events using polar coordinates (notes move around in circles).See midicyles for details how to install and use it.
  • keymidi is a tool that provides an interactive OS Keyboard to send MIDI events. This can be used to control the playing of music in melrōse.See keymidi for details how to install and use it.
  • slidermidi is a tool that provides an interactive UI Sliders to send MIDI change event. This can be used to control the playing of music in melrōse.See slidermidi for details how to install and use it.

Software is licensed under MIT.

© 2026 ernestmicklei.com

Similar plugs

The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype…

Open-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.

Explore related