Skip to content

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 9d MCP Developer Tools
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

ai claude daw mastering mcp midi
+4 more
mixing model-context-protocol music-production reaper

ReleasePort's take

Light signal
editorial:auto 9d

Version v1.6.0 of TwelveTake‑Studios/reaper-mcp removes five dead MIDI handlers and introduces ten new MIDI processing tools.

Why it matters: The release adds transpose, snap, quantize, nudge, stretch, legato, humanize, strum, velocity ramping, and scaling commands for MIDI editing; removal of unused handlers reduces code surface area.

Summary

AI summary

Removed five dead MIDI handlers.

Changes in this release

Feature Low

Adds transpose_midi_notes tool to shift pitch, skipping out‑of‑range notes.

Adds transpose_midi_notes tool to shift pitch, skipping out‑of‑range notes.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds snap_midi_notes_to_scale tool to snap off‑key notes onto a scale.

Adds snap_midi_notes_to_scale tool to snap off‑key notes onto a scale.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds quantize_midi_notes tool with strength and swing options.

Adds quantize_midi_notes tool with strength and swing options.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds nudge_midi_notes tool to shift note timing while preserving lengths.

Adds nudge_midi_notes tool to shift note timing while preserving lengths.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds stretch_midi_notes tool to scale timing about a fixed pivot.

Adds stretch_midi_notes tool to scale timing about a fixed pivot.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds legato_midi_notes tool to connect note ends to next onsets.

Adds legato_midi_notes tool to connect note ends to next onsets.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds humanize_midi_notes tool for seeded timing and velocity jitter.

Adds humanize_midi_notes tool for seeded timing and velocity jitter.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds strum_midi_notes tool to roll chords into a strum without adding notes.

Adds strum_midi_notes tool to roll chords into a strum without adding notes.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds ramp_midi_note_velocities tool for linear velocity ramps across phrases.

Adds ramp_midi_note_velocities tool for linear velocity ramps across phrases.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds scale_midi_note_velocities tool to multiply, set, or compress velocities.

Adds scale_midi_note_velocities tool to multiply, set, or compress velocities.

Source: llm_adapter@2026-07-17

Confidence: high

Feature Low

Adds set_midi_note tool to edit a single note's pitch, velocity, timing, or channel.

Adds set_midi_note tool to edit a single note's pitch, velocity, timing, or channel.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Feature Low

Adds get_selected_midi_notes tool to read selected MIDI notes in REAPER's editor.

Adds get_selected_midi_notes tool to read selected MIDI notes in REAPER's editor.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Feature Low

Adds remove_overlapping_midi_notes tool (flagged destructive) to trim or delete overlapping same‑pitch notes.

Adds remove_overlapping_midi_notes tool (flagged destructive) to trim or delete overlapping same‑pitch notes.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Deprecation Low

Removes five dead, unreachable MIDI handlers: QuantizeItem, TransposeMIDINotes, QuantizeMIDINotes, HumanizeMIDITiming, AnalyzeMIDIPattern.

Removes five dead, unreachable MIDI handlers: QuantizeItem, TransposeMIDINotes, QuantizeMIDINotes, HumanizeMIDITiming, AnalyzeMIDIPattern.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Refactor Medium

Every returned MIDI note now includes start_beat and end_beat fields (item‑relative beats) alongside existing time fields.

Every returned MIDI note now includes start_beat and end_beat fields (item‑relative beats) alongside existing time fields.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Refactor Medium

Timing calculations are performed in quarter‑notes, ensuring correct behavior on tempo‑mapped projects.

Timing calculations are performed in quarter‑notes, ensuring correct behavior on tempo‑mapped projects.

Source: granite4.1:30b@2026-07-17-audit

Confidence: low

Full changelog

MIDI Utilities — 13 tools for editing notes that already exist

The bridge changed — reinstall reaper_mcp_bridge.lua in REAPER (Actions → run it once per session, as before).

Every new tool takes the same optional filter — a pitch range, an onset window in beats from the item start, and a channel — so you can target a phrase without selecting anything by hand. Timing is in beats, pitch in semitones, and each tool is a single undo step.

Added

  • transpose_midi_notes — shift pitch; a note pushed outside 0–127 is left where it is (skipped), never wrapped.
  • snap_midi_notes_to_scale — snap off-key notes onto a scale (14 named scales, or a custom interval list); a tie resolves toward the middle of the selection so a line doesn't drift.
  • quantize_midi_notes — snap onsets to the project bar/beat grid, with strength and swing.
  • nudge_midi_notes — shift notes in time; lengths preserved.
  • stretch_midi_notes — scale timing about a fixed pivot (half-time, double-time, any ratio).
  • legato_midi_notes — run each note's end to the next onset, or set every note to one length.
  • humanize_midi_notes — seeded, reproducible timing + velocity jitter (same take + same seed = byte-identical).
  • strum_midi_notes — roll a chord out into a strum; invents no notes.
  • ramp_midi_note_velocities — linear velocity ramp across a phrase (a chord keeps one velocity).
  • scale_midi_note_velocities — multiply, set, or compress velocities toward a pivot.
  • set_midi_note — edit one note's pitch, velocity, timing, or channel.
  • get_selected_midi_notes — read the notes selected in REAPER's editor.
  • remove_overlapping_midi_notes — trim or delete overlapping same-pitch notes. The only one here that removes notes, and the only one flagged destructive.

Changed

  • Every returned MIDI note now carries start_beat / end_beat (item-relative beats) alongside the existing start_time / end_time seconds — on get_midi_notes too. No field was removed; a position you read back feeds the new beat filters directly.
  • Timing is computed in quarter-notes, so the tools behave correctly on tempo-mapped projects.

Removed

  • Five dead, unreachable MIDI handlers (QuantizeItem, TransposeMIDINotes, QuantizeMIDINotes, HumanizeMIDITiming, AnalyzeMIDIPattern) — unreachable from every public entry point, so no shipped behavior changes.

Full detail in CHANGELOG.md.

Breaking Changes

  • Removed unreachable MIDI handlers: QuantizeItem, TransposeMIDINotes, QuantizeMIDINotes, HumanizeMIDITiming, AnalyzeMIDIPattern

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track TwelveTake-Studios/reaper-mcp

Get notified when new releases ship.

Sign up free

About TwelveTake-Studios/reaper-mcp

MCP server enabling AI assistants to control REAPER DAW for mixing, mastering, MIDI composition, and full music production with 129 tools

All releases →

Related context

Earlier breaking changes

  • v1.3.2 `render_project` now requires an explicit `overwrite` parameter to allow file overwriting.

Beta — feedback welcome: [email protected]