Local music generation

Turn your Mac into a live AI instrument with Magenta RealTime 2

Run an AI instrument on your Mac that responds to your playing instead of waiting for a finished track.

Magenta RealTime 2 is a live performance model, not a prompt-and-wait music generator. It keeps producing sound in response to MIDI notes and text/audio style input. The 230M Small tier is listed for real-time use across Apple Silicon MacBooks; the repository’s table explicitly lists M2 Max, M3 Max, M4 Pro, and M5 Max for 2.4B Base. Test the playing workflow through the bundled Jam app or AU plugin.

Requirements and key details
  • MRT2 is a real-time music model responsive to MIDI, text, and audio conditioning; its workflow differs from generating a finished song file.
  • Small (230M) is listed for real-time use on Apple Silicon MacBooks. For Base, check the repository’s device table instead of inferring support from broad chip-generation tiers.
  • In a DAW, set the project and audio device to 48 kHz, then load the AU plugin on a MIDI track.

A model that responds to the phrase you are playing—not a finished song

Imagine practicing chord changes and wanting an ensemble to follow along. A conventional text-to-music generator takes a prompt such as “30 seconds of gentle strings” and returns a file when it is done. Magenta RealTime 2 (MRT2) continues making music in response to notes or MIDI signals from your keyboard. It behaves more like an instrument you shape while playing than a tool that renders one finished track.

That distinction changes what to measure. For offline generation, track length and file completion time matter. For live playing, listen for whether sound follows a key press, whether playback stays continuous, and whether changing the input changes the music.

MRT2 was announced on June 4, 2026. Alongside model weights, the project provides a Python library, an MLX1-based C++ inference2 engine, Jam and Collider apps, and an AU plugin. This guide uses the bundled apps to test a short chord phrase, then routes the plugin to a MIDI track in a DAW—without building the code.

A music desk with a keyboard and studio gear
MRT2 behaves like an instrument, continuing music in response to MIDI performance.

Which tier runs in real time on my Mac: Small or Base?

The two tiers differ in size and listed real-time support. Small has 230M parameters and is listed for real-time use across Apple Silicon MacBooks, including Air models. Base is larger at 2.4B. The repository’s explicit Base real-time rows name M2 Max, M3 Max, M4 Pro, and M5 Max. For models not listed, do not infer support from chip generation or Pro/Max labels; check the current device table and release notes. The launch page uses the broader phrase “M3 Pro or higher / M2 Max or higher,” so this guide follows the repository’s more specific table.

“Not listed” does not necessarily mean Base cannot run at all. The README describes offline inference for both tiers through the Python library on Apple Silicon or NVIDIA GPUs; that path may render a file more slowly instead of streaming in time with a performance. For playing along at the keyboard, real-time support matters. If offline rendering is acceptable, investigate that separate path.

Do not decide from parameter count alone. The bundled Base weights are about 2.5 GB and Small about 450 MB, downloaded on first launch. Disk space and first-run download time are separate from runtime3 memory. Test whether the smaller tier fits your input style and sound choices first; compare Base live only if you already have a listed device.

Use the official device table—not parameter count—to judge real-time support.
ModelSizeOfficial real-time supportOffline inference
MRT2 Small230MApple Silicon MacBooks, including AirPython path on Apple Silicon or NVIDIA
MRT2 Base2.4BListed in the official table: M2 Max, M3 Max, M4 Pro, M5 MaxPython path on Apple Silicon or NVIDIA

Use the official device table—not parameter count—to judge real-time support.

MRT2 Small

Size
230M
Official real-time support
Apple Silicon MacBooks, including Air
Offline inference
Python path on Apple Silicon or NVIDIA

MRT2 Base

Size
2.4B
Official real-time support
Listed in the official table: M2 Max, M3 Max, M4 Pro, M5 Max
Offline inference
Python path on Apple Silicon or NVIDIA
A lightweight laptop set up for music work
Small is listed for real-time use across Apple Silicon MacBooks.

Install the bundle and test a sustained note in Jam first

The bundled app is the quickest way to test the instrument. Download and extract the macOS bundle for Apple Silicon, then open Jam. It downloads model weights on first launch, so wait for that download before deciding the app has stalled. The app page lists about 450 MB for Small and 2.5 GB for Base.

Jam is a standalone app with style presets and MIDI controls. Hold one note or a short chord and listen for sustained output; then change one style prompt at a time. Change the input note and check whether the ensemble follows, then edit the prompt and listen for a change in texture. That separates basic model/audio operation from control behavior. Preset names and layouts can change between versions, so use the controls available in your installed app.

If there is no sound, isolate model setup, audio output, and MIDI input. Confirm the model download has finished, then check that the selected Mac speaker or headphones are not muted. If you use a MIDI keyboard, verify that the app or system sees it. Testing one built-in input or a single MIDI note is more useful than changing several settings at once.

Basic setup with the bundled app
1. 공식 Magenta RealTime 2 macOS 번들을 내려받고 압축을 풉니다.
2. Jam 앱을 열어 필요한 모델 다운로드를 마칩니다.
3. 한 음 또는 짧은 코드를 누르고 소리가 계속 이어지는지 확인합니다.
4. 입력은 그대로 두고 스타일 프롬프트 하나만 바꿔 반응을 비교합니다.

In a DAW, load the AU plugin on a MIDI track

Once the standalone app works, connect MRT2 to a DAW. Place the bundled AU plugin in Applications and launch it to register, then refresh the DAW’s AU plugin list. Create an empty MIDI track and load MRT2 in its instrument slot. Route a keyboard controller to MIDI input, or draw one note in the DAW’s piano roll if you do not have a controller.

Set the audio sample rate4 to 48 kHz. The official setup guide points to the DAW project’s audio settings for the AU plugin, or the device setting in macOS Audio MIDI Setup for the standalone app. If playback is silent or odd in a 44.1 kHz project, check the sample rate first. Duplicate the project, change only that setting, and replay the same MIDI phrase so you can identify the effect.

MRT2 also describes generating playable MIDI instruments from text and using short audio references, in addition to MIDI steering. Check where those controls appear in your plugin version and test one input type at a time. Listen to how accompaniment changes when you press and release a short note, then edit the text style to distinguish MIDI control from timbral direction.

A music setup with a keyboard controller and DAW
Load the AU plugin on a MIDI track and check the project audio settings.

How should you interpret 200 ms while playing?

The official comparison gives MRT2 about 200 ms control latency and 40 ms frames5, versus roughly 3 seconds and 2-second frames for the first version. This describes how quickly an input affects continuously generated sound. It relates to the gap between changing a chord and hearing the response, but it is not your total end-to-end latency including DAW buffers, interface, and speakers.

To assess your setup, replay the same short MIDI phrase and listen for continuous following. Record the published figure separately from your own impression, along with the DAW’s 48 kHz sample rate and plugin/model versions. Large audio buffers or a busy system can change the feel even when model control latency is low. Do not treat ~200 ms as a guaranteed delay for every note on your machine.

Do not compare it with the time to render a finished song. MRT2 emits audio while receiving input, so a one-off metric such as “seconds to generate four seconds of audio” misses the task. Instead record whether accompaniment responds to key changes, stays continuous over several minutes, and reflects style edits.

Decide whether you need to spend more on your Mac

If you already own an Apple Silicon Mac, test Small in Jam first. It is listed for real-time use across Apple Silicon Macs, including MacBook Air, so you do not need to buy a Base-supported machine just to try a responsive accompaniment instrument. If the smaller tier’s sound and response meet your needs, you can stop there.

Check the official compatibility table only if you specifically want the larger Base tier in real time. Confirm that your device is one of the listed models—M2 Max, M3 Max, M4 Pro, or M5 Max. Do not infer support for unlisted systems from generation labels. Offline execution and maintaining live playback while you perform are different requirements.

So the practical answer is straightforward: if you want accompaniment to follow MIDI performance, MRT2 is an instrument-like model you can try locally on a Mac. Start with Small, which has broader listed Apple Silicon support; consider Base only after checking the exact device table. For DAW use, begin by registering the AU plugin and setting 48 kHz.

Terminology notes

  1. MLX — A machine-learning framework developed by Apple. On Apple silicon it uses unified memory and Metal; separate Linux backends are also available. Model and feature support depends on the MLX-based tool.

    Back to the text
  2. Inference — The process of using a trained model to compute an output for an input. Here, local inference means running the model on the user’s device.

    Back to the text
  3. Runtime — The software environment that provides facilities needed while a program runs. In local AI it can also refer to a model execution engine; a GPU runtime library and a complete serving app are different components.

    Back to the text
  4. Sampling rate — The number of times per second an audio signal is measured when digitized. It is distinct from bit depth.

    Back to the text
  5. Frame — A single image that makes up part of a video. Frame rate and frame resolution are separate properties.

    Back to the text