FREQUENCY 94.7 FM
LATENCY: <1ms | GH/ARENAONAIR
Zero Cloud Latency • 100% Local Neural Audio

LIVE PLAY-BY-PLAY RADIO FOR MAGIC ARENA.

Turn quiet, solitary ladder matches into an electrifying broadcast sports telecast. ArenaOnAir tails your MTGA game log directly off disk at 200Hz, dynamically compresses play-by-play tempo during fast combat swings, and speaks live with neural voice synthesis.

ENGINE SPEC AoA-REV-2026
Log Polling Delay 0.00 ms (Zero-block)
Voice Synthesis Kokoro 82M Neural TTS
Repetition Defense QR6 8-Utterance Window
Card Database 20,000+ GrpId Cache
Cloud Requirement None (Air-Gapped)
STUDIO DESK CONSOLE • MODEL AOA-1
ON AIR
LIVE MTGA LOG TELEPROMPTER MONITORING
// SYSTEM HOOK: /AppData/LocalLow/Wizards Of The Coast/MTGA/Player.log (Inode 8912304)
[10:14:02.120] GRE_TO_CLIENT: MatchCreated (Format: Historic Brawl)
[10:14:03.450] ANNOUNCER: "Two pilots strap in tonight — armour facing down Sparky. We're underway in Brawl!"
[10:14:18.910] GRE_TO_CLIENT: DieRollResults (Armour: 18, Sparky: 12) -> Priority: Armour
[10:15:02.340] CARD_RESOLVE: Veteran Survivor (GrpId 89144) -> Battlefield
[10:15:44.820] COMBAT: Attacks Declared -> 10 Damage unblocked to Player(Sparky)
[10:15:45.010] ANNOUNCER: "Veteran Survivor does the dirty work! Armour's assault connects for ten, Sparky drops to two."
... awaiting next game turn resolution ...
Auto-scroll: LOCKED Diff Engine: SYNCED
PEAK LEVEL METERS CH-L / CH-R • dBFs
L
R
-24 -18 -12 -6 -3 0dB
CASTER SOUNDBOARD (CLICK TO BROADCAST) READY
TEMPO FADER: 1.0x
ENGINEERING SPECIFICATIONS

BUILT FOR ZERO LAG & RIGID INTEGRITY

DOCUMENT: AoA-ARCH-2026.09
MODULE 01 • 0ms INODE TAILER watcher.py

Direct File-Descriptor Polling Without Memory Injection

ArenaOnAir does not attach debuggers, inject DLLs, or read process memory. It tails MTGA's native diagnostic log (Player.log) using persistent OS file handles with sub-millisecond polling and automatic log rotation handling across game client relaunches.

• Startup anchor seeking scans backward for active match traffic.
• Survives client restart and file inode swaps cleanly.
• Zero network socket interception or packet tampering.
MODULE 02 • DYNAMIC TEMPO ADAPTATION tempo.py

Real-Time Phrase Compression & Backlog Pruning

Fast games make fixed-rate speech unbearable. When players pass priority rapidly or drop multiple spells in one turn, ArenaOnAir senses the high tempo: it prunes stale un-spoken backlogs, elevates only high-salience decisions, and switches to punchy short-form broadcast bursts.

• Drops non-essential routine filler when game actions spike.
• Preserves critical combat swings and lethal turn declarations.
• Automatically resumes broadcast cadence when play slows down.
MODULE 03 • QR6 ANTI-DRONE VARIETY antidrone.py

8-Utterance Memory Corpus Eliminates Robotic Monotony

Repeated phrases ruin immersion. The QR6 variety engine enforces structural diversity across an 8-utterance sliding window, alternating between player leads, card leads, tactical impacts, and colloquial caster color commentary.

• Verified with automated drone scoring tests (target = 0).
• Incorporates MTG slang, combat verbs, and layman glosses.
• Tailored to match the energy of professional tournament casting.
MODULE 04 • LOCAL NEURAL TTS OR ZERO-DEP tts.py

Runs Completely Offline Without Cloud API Costs

Zero telemetry sent to third-party cloud servers. Powered natively by Kokoro 82M neural TTS for broadcast-grade quality on modern hardware, with seamless zero-dependency fallback to macOS say, Windows SAPI, or Linux Piper/eSpeak.

• No OpenAI or ElevenLabs API keys or monthly subscriptions.
• Completely private: runs entirely on your local machine.
• Instant voice playback with zero internet streaming lag.
RUNNING ARENAONAIR LOCALLY
PYTHON >= 3.10 REQUIRED
# 1. Clone repository
git clone https://github.com/josharmour/arenaonair.git
cd arenaonair

# 2. Create virtual environment & install with Kokoro neural voice
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]" kokoro soundfile

# 3. Start the live commentator daemon
python -m arenaonair.app
Pre-flight: In MTG Arena, ensure Detailed Logs (Plugin Support) is toggled ON under Options > Account.
Read Full Documentation →