A MIDI app for Mac · Coming Soon

MIDIFabric MIDI routing, effects & monitoring for Mac

Your MIDI Playground

Connect your MIDI gear. Create your own ways to play.

MIDIFabric is a standalone app for MIDI routing, effects, monitoring and debugging on Mac. The first release is planned for Mac; MIDIFabric is not yet publicly available.

MIDIFabric Playground (Routing): A-88MK2 connected through Arpeggiator and Echo to mioXM: Matriarch
Playground (Routing) on Mac. The blue connections run through Arpeggiator and Echo to a synth.

Playground

Rework how you play.
With the gear you already have.

Put effects between a keyboard and a synth. Send a running pattern to an instrument. Take MIDI from a DAW out to your hardware. Devices, effects, and generators share one canvas, ready to connect and explore.

Connect MIDI devices without opening a DAW.

Use your Mac to route a keyboard to a synth or sound module. MIDIFabric runs as a standalone app. Your hardware must expose MIDI ports recognized by macOS, directly or through a compatible MIDI interface.

Send one keyboard to multiple instruments.

Branch one MIDI input to several destinations. Add a filter on a branch to select messages by channel, note range, velocity, or CC, or insert effects to change that branch's performance. In the screenshot, A-88MK2 connects directly to MIDI4x4 D8 and also through Arpeggiator and Echo to mioXM: Matriarch.

Add movement to a phrase.

Turn held notes into motion with Arpeggiator, then add repetitions with Echo. Change the order and settings to give the same synth a different way of playing.

Keyboard → Arpeggiator → Echo → synth

Connect music apps to external MIDI gear.

Use MIDIFabric's virtual MIDI ports to connect a DAW or another music app to your hardware. The other app must support MIDI input or output: select a virtual port there, then connect it to your device in Playground. Route messages from your gear back to an app through the corresponding virtual input.

A routing example: split one keyboard between a direct output and an effects chain.

Explore the connections. Find the way you want to play.
You can build the effects and sequencers themselves, too. →

Lua effects

Need a different behavior?
Build the tool for it.

Which notes to choose, when to send them, which values to send to your gear. Write those rules in Lua to create effects and sequencers around the way you play. Start by changing an included effect, or build something your Library doesn't have yet.

Respond to how you play.

Use note range, playing strength, and held notes to change pitch, velocity, or MIDI channel. Decide which inputs to respond to, and what to play in return.

Generate notes and movement.

Create sequences of notes and changing CC values. Define how to choose the next note, when to send it, and what changes with each repetition.

Make the controls your own.

Put the values you want to change on knobs, sliders, and grids. Build the processing and its control panel together, so you can adjust your tool as you play.

Arpeggiator control panel open in MIDIFabric's Playground, with Clock, Note value, Gate, Octaves, Mode, Accent, and Pattern controls
The Arpeggiator control panel. Adjust note value, Gate, Octaves, and Pattern on screen.

A tool idea: repetitions that follow your touch.

For example, you could design an effect that gives softly played notes a short response and harder strikes a longer series of repeats, with a knob to change the pitch of each repeat. Start with that idea, then combine input handling, timed notes, and adjustable controls in Lua.

The included effects are a starting point.

The factory effects are written in Lua, too. Read their code, learn how they work, and adapt them, or write your own rules from scratch. Place your tool in Playground and connect it to your instruments and other processors.

Explore the Lua code
Arpeggiator Lua code open in the Program tab of the effect editor
The Arpeggiator Lua code editor. Read and edit an included effect to learn how it works and adapt it.

Have an idea, but writing the code feels out of reach?
AI can help you turn that idea into a tool. →

AI Builder

Start with the behavior.
Describe it in your own words.

You don't need programming expertise to start describing what you want. Work with AI to create a Lua effect, try it with your gear, and refine what you hear. Put AI to work helping you build your own tools.

DESCRIBE
“Make an effect where harder playing produces a longer series of repeats.”

Start with how you want to play. The AI can consult MIDIFabric's Lua authoring documentation and submit a candidate with code and a control panel.

TRY AND REFINE
“Shorter repeats when I play softly. And add a knob for the pitch change.”

Apply the candidate and play it with your instruments. Describe how it feels, then discuss changes to the processing and its controls.

UNDERSTAND
“How does this Lua turn playing strength into a repeat count?”

A connected AI can read the applied code, too. Ask how it works, read it yourself, and use that understanding to take it further.

For example, a conversation could start with an idea and continue through changes and questions about the code.

Talk about the tools you already have.

Ask “Show me the effects registered in my Library” to find a starting point. Discuss how an existing Lua script works. Whether you create something new or change a familiar tool, the conversation can draw on your actual Library and code.

Keep developing the tools you use.

Revisions preserve the existing effect and its connections. Review and apply changes manually by default, or opt into automatic registration and updates after validation. Updating a running effect changes its behavior.

AI Builder retaining revision 2 of a Lua effect candidate, with an Open in Editor button and a log of submissions and editor activity
AI Builder with a received Lua effect candidate ready to open in the editor. Review and validate the candidate, then apply it to register the effect in your Library.

Connect to OpenAI Codex or Claude Code on your Mac through MCP; the conversation happens in the AI client. Bring your own AI client and account.

Monitor + MIDI Debugger

What did your gear send?
What happened when you sent it back?

See what a knob sends. Try the same message again. Find which bytes changed between two settings. Go beyond watching MIDI traffic, with the tools to test and investigate it in one place.

01 · OBSERVE

Follow the actual traffic.

See input and output in the monitor. Inspect message details and full HEX in MIDI Debugger, and follow selected items' latest observed values with Watch.

02 · SEND

Send without writing hex.

For supported messages such as notes and CCs, use input completion to choose note names and arguments instead of assembling hexadecimal bytes. Review the generated message, then send it and see how your instrument responds.

03 · RECORD & REPLAY

Try the same data again.

Record traffic and save selected messages. Choose a destination and send them again, or step through them one at a time.

04 · COMPARE

Find what changed.

Compare two messages side by side with differing bytes highlighted. Inspect long SysEx messages without matching every character by eye.

Ask your instrument. Inspect its response.

Use CLI input with completion suggestions to select instrument-specific items and send messages. This example requests Scene Common data from a JUNO-D and shows the returned SysEx in the message detail panel. When sending SysEx to a JUNO-D through the CLI, the checksum is calculated automatically, so you do not need to enter it manually.

Choose what to send with input completion.

For items supported by a Device Definition, type a name or choose a suggestion. Review the generated message before sending, without assembling hexadecimal bytes by hand. Available suggestions and named operations depend on the Device Definition.

MIDI Debugger showing CLI input, a JUNO-D SysEx request and response, and received message details with HEX
Requesting data from a JUNO-D and inspecting its response. The CLI input and generated HEX appear at the bottom, sent and received messages in the list, and received SysEx details on the right.
See CLI input completion in action
MIDI Debugger CLI input showing common, part:1, and other completion suggestions after scene
Choose common, part:1, and other items from the completion suggestions after scene. The CLI input is still being composed; the HEX field below is not the generated result of this input.

Read and send by name.
For your own gear, too.

Which knob on your instrument does that number in the monitor represent? Add a Device Definition to see instrument-specific parameter names.

Those names also appear as completion suggestions when composing messages in MIDI Debugger.

Define and edit your instrument's parameter names and the meanings of its values. Copy a bundled definition or create your own; the monitor's decoding and Debugger's input completion use those definitions.

FOUR MESSAGES, ONE PARAMETER VALUE
Ch 1 › CC 99 = 0 (NRPN MSB)
Ch 1 › CC 98 = 36 (NRPN LSB)
Ch 1 › CC 6 = 0 (Data Entry MSB)
Ch 1 › CC 38 = 8 (Data Entry LSB)
Prophet › VCA Env Release = 8
The Prophet example below groups four Control Change messages into one NRPN entry, showing its parameter name and value on a single row. Expand it to inspect the four underlying messages.

The parameters available by instrument-specific name depend on the contents of the Device Definition.

MIDIFabric monitor showing an NRPN decoded as VCA Env Release with its four underlying messages above, and A-88MK2 MIDI 2.0 Note On and Note Off messages with 16-bit velocity values below
Above: four Control Change messages are grouped into one NRPN entry, decoded by a Device Definition as “VCA Env Release = 8.” Expanding the entry reveals the four underlying messages: two selecting the parameter number and two specifying its value. Below: A-88MK2 MIDI 2.0 Note On and Note Off messages with 16-bit velocity values.

Features

Connect, shape, and monitor

These features describe the app under development for Mac. MIDIFabric has not been released; the final feature set and system requirements will be confirmed at release.

Routing

  • MIDI patchbayDrag wires between sources and destinations.
  • Virtual MIDI devicesPorts other apps and your DAW can see.
  • Device listEvery port, online or not, with its identity.
  • Built-in soundsUse Apple's built-in sounds on Mac. Play with the bundled FluidR3 GM bank, or load your own SF2 / DLS sound banks.

Effects & sequencers

  • Filters and remapsSelect which messages pass through by channel, type, note range, velocity, or CC, and transform the MIDI data.
  • Lua effectsPlay, combine, and customize Delay, Echo, Arpeggiator, Chord, Humanize, Quantize, Gate, and Stutter.
  • Lua generatorsGenerate notes and changing CC values with Step Sequencer, Euclidean Rhythm, Random Melody, CC LFO, and CC Envelope.
  • Your own musical toolsBuild Lua effects and sequencers around the behavior you want. Choose the knobs and sliders you adjust as you play.
  • AI BuilderDescribe what you want to create. Build and modify Lua effects with AI, and ask how the code works. The AI connection runs on Mac.

Monitor & debugger

  • MonitorLive traffic, decoded.
  • MIDI DebuggerSend MIDI and check how your gear responds. Record and replay traffic, or compare messages to find what changed.
  • Device DefinitionsDefine and edit instrument-specific names and value meanings. Your definitions guide message decoding in the monitor and input completion in MIDI Debugger.
  • VisualizerSee MIDI notes as particles, a piano roll, or a circle of fifths.

MIDI tools

  • SysEx LibrarianRecord, organize, import, export, and send SysEx files.
  • Clock AnalyzerInspect clock stability, jitter, and BPM drift.
  • Latency TesterMeasure MIDI round-trip time through a loopback.
  • SMF PlayerPlay Standard MIDI Files through an external MIDI output or the built-in sounds.
  • Keyboard controllerPlay and control MIDI instruments with an on-screen keyboard and controls.

Planned at release · 14-day demo and in-app purchase

Fourteen days.
All the tools. Your own gear.

At release, we plan to offer a 14-day demo of all features, followed by an in-app purchase (IAP) of all features for continued use.

14-DAY DEMO

Explore every feature.

Playground, effects, AI Builder, and MIDI Debugger. Find out how they fit your instruments and the way you work.

ALL FEATURES THROUGH IAP

Keep using what you've found.

Continued use after the demo requires purchase. There is no permanent free tier. Access to external AI services is separate.

MIDIFabric is in development and not yet released. Downloads, purchases, and demo activation are not yet available. Pricing and the store link will be announced at release.

  • macOS · Coming Soon · First release planned
  • iPad · Coming Soon · Later release, timing undecided
  • Windows · In development
  • Android tablet · In development

Release dates and supported OS versions have not been announced. Features on other platforms may differ from the Mac version described here.

Screenshots show the development version. Custom-effect ideas and example conversations illustrate what you could create; they are not included effects or performance demonstrations.

Follow MIDIFabric development and release news.