MTG ARENA COMMENTARY
GITHUB
AoA
ARENAONAIR
Esports Radio Broadcast
Live MTG Arena Announcer Engine

PLAY-BY-PLAY RADIO FOR MAGIC ARENA.

Give your next match its own caster desk. Two AI commentators call the action and talk through the game, powered by GLM 5.3 on our server. Try five matches free, then subscribe through Patreon or connect your own model. Their voices run on your computer.

TWO CASTERS
One Arena log
LOCAL VOICES
After model download
5 FREE MATCHES
Then Patreon or your model
Modern vector illustration of an esports announcer at a broadcast desk with microphone, ON AIR sign, and floating MTG card overlays on pure white background
BROWSER VOICE DEMO

TRY A FEW SAMPLE CALLS

These sample lines use your browser’s speech voice. The installed app uses Kokoro neural voices, which sound different. The meters are an animation, not measured audio levels.

STUDIO DESK CONSOLE • MODEL AOA-1
STATUS: READY FOR A DEMO
ON AIR
DUAL-CHANNEL PEAK VU METER CH-L / CH-R
L
R
-24 -18 -12 -6 -3 0dB
CADENCE FADER: 1.0x
0.8x (Deliberate) 1.0x (Standard) 1.5x (Fast Attack)
SELECT A MATCH SITUATION:
Clean isometric vector illustration of an esports card game tournament battle station with spell cards clashing on a white background
Your match, on air

EVERY LADDER MATCH DESERVES A CHAMPIONSHIP CALL.

Whether you're testing an experimental combo in Best-of-One or grinding top 250 Mythic on ladder, ArenaOnAir elevates quiet card games into the intensity of a live stadium broadcast.

ZERO MEMORY HOOKS • ZERO PACKET TAMPERING

Reads Arena’s diagnostic log on your computer and sends selected game facts to our server for generative commentary. Your custom provider receives those facts instead if you configure one. Coaching is off by default.

01

Follows your match

Reads Arena’s Player.log and follows the action through game changes and client restarts. Enable Detailed Logs in Arena to get started.

02

Dynamic Tempo

Choose the pace and how much airtime goes to calling plays or discussing the position. Stale lines are dropped as the game moves on.

03

Your caster desk

Choose one or two casters, pick their voices, and preview the booth before a game. Settings, match recaps, and diagnostic status live in the desktop window.

04

Local neural voices

Kokoro generates speech on your computer after the initial downloads. GLM 5.3 writes the conversation on our server, so hosted use needs internet access. Fully local use requires your own local language model.

GET YOUR BOOTH READY

INSTALL ARENAONAIR

This early release installs from source using a terminal. The launcher installs Python 3.12, the desktop window, and neural voices for you. Allow several minutes and several GB of disk space for the first downloads.

1. Install uv

Run this official uv installer in Terminal, then close and reopen the terminal. More installation options.

curl -LsSf https://astral.sh/uv/install.sh | sh

2. Get ArenaOnAir

Download the source ZIP, extract it to a permanent folder, and open your terminal in the extracted arenaonair-main folder. Git users can clone the repository instead.

3. Enable Arena’s logs

Launch MTG Arena, turn on Options → Account → Detailed Logs (Plugin Support), then restart Arena. Linux also needs a working Arena installation through Wine or Proton.

4. Set up and launch

Run each command below in order. Choose trial for five free matches, premium for your Patreon key, custom for your provider, or later to connect in the desktop dialog. Setup may flag missing card data; the next command downloads it.

# In the extracted/cloned ArenaOnAir folder:
bash ./run.sh setup
bash ./run.sh build-carddb
bash ./run.sh doctor
bash ./run.sh install-app
bash ./run.sh --ui

Click Hear the booth before starting a match. The first voice initialization downloads model files. After setup, open the app from your Applications folder. Keep the source folder and environment in place.

Five matches on us. Keep your booth on air.

Start the free hosted trial from Connect / subscription… in the app. No payment details needed. After five matches, subscribe through Patreon and get your key, or enter your own provider’s endpoint, port and model. The dialog can discover local providers and list their models. Remote provider charges may apply. Connection details and privacy.

A free match counts when its first model response succeeds. Reconnects and best-of-three games share one match. Trial sessions last up to four hours and 1,200 model requests; five matches per device trial. Voice previews do not use a match. Hosted commentary is not 100% local.