Getting started
SmartA2Station is a macOS monitoring station for A2 operators. It listens to every channel of your show, watches for audio and RF faults in real time, and gives you flexible monitor views, snapshots, and remote monitoring for other operators around the building. It runs on macOS 14 (Sonoma) or later on Apple Silicon, and works with any audio interface macOS can see — including Dante Virtual Soundcard.
SmartA2Station is currently pre-release software (build 0.8.2) in a pilot-readiness phase. It is a capable, working tool, but it is still under active hardening ahead of a general release, so expect ongoing changes.
When you launch the app you land on the Setup tab. Work left to right through Setup once, save a show file, and you’re ready to monitor. The other main tabs are Meters, Problem Detector (faults), and Snapshots (monitor layouts).
Setting up
1. Configure audio
In Setup → Audio Interface:
- Primary Input — the interface carrying your stage channels. For a Dante rig, choose Dante Virtual Soundcard; otherwise pick your RME, Focusrite, Audient, or similar.
- Solo Bus Output — where you’ll hear soloed channels (built-in output or a headphone interface). Leave blank to reuse the primary device.
- Sample Rate — match your interface and Dante network (44.1 / 48 / 88.2 / 96 kHz).
- Mains Frequency — 60 Hz for North America/Japan, 50 Hz for Europe/international. This sets the frequencies the Ground Hum detector looks for.
- Dante Redundancy — enable only if your Dante network has a secondary link; the redundancy-failure alert is monitored only when this is on.
Click Start Audio Engine. A green Running indicator confirms the tap is live. Newly selected interfaces auto-fill their default sample rate and channel count when the engine is stopped.
2. Set channel count and names
In Setup → Channels, use the Channel Count stepper to match your input, then name each channel (for example Lav 1, HH L, RF 3). If you’ve added wireless receivers, use the picker on each row to link a channel to a receiver so its meter shows RF and battery.
3. Add wireless receivers (optional)
In Setup → Wireless Receivers:
- Auto-discovery (Shure): click Scan to find Shure receivers on the network, then Add to import one with its address filled in.
- Manual entry: click Add Receiver and choose the vendor, give it a name, enter its host/IP, confirm the pre-filled port, and set the receiver channel to monitor. SmartA2Station actively monitors Shure, Sennheiser, Lectrosonics, and Audio-Technica. Sound Devices, Sony, and Wisycom can be selected but currently show as unreachable placeholders — no live data yet.
- WWB import: click Import WWB to load a Wireless Workbench inventory report (CSV); names and frequencies become receiver entries, and IPs auto-fill from any live connections. Stock channel photos are auto-matched from channel names on import.
After adding receivers, return to Channels and link each channel to its receiver.
4. Save a show file
File → Save (⌘S) writes an .a2station show file capturing your interface choice, channel names and photos, receiver setup, per-channel settings, groups, snapshot layouts, meter and fault-threshold settings. Reopen it next time with File → Open (⌘O). Line-check state and fault logs are not saved in the show file.
Core workflows
Line check
On the Meters tab, click Line Check Mode. A checkbox appears on each channel and a to-do panel lists everything still unchecked; tick each source as you confirm it. Click Exit Line Check when done — any unchecked channels are logged. For theatre productions where mic assignments change between acts, use the Acts stepper (up to 4 acts); each act tracks its own state, and small colored dots show the status of other acts at a glance. Reset clears the active act.
Monitoring on the Meters tab
- Each channel shows a real-time VU meter; the amber zone is your warning threshold and the red clip indicator latches until it clears.
- Solo (S) routes a channel to the Solo Bus output; long-press for Hard Solo (H), which persists across snapshot switches. Default solo mode is additive (configurable to exclusive in Setup).
- Mute (M) silences a channel in the solo mix; long-press for Hard Mute, which survives snapshot recall and skips fault detection.
- Instant Replay — on channels with replay enabled, press the replay button to play the last few minutes back through the solo bus with a scrub transport; press again or Stop to return to live.
- Lock Screen (⌘L) — a full-screen overlay blocks accidental input while monitoring continues underneath; it shows the active fault count. Press ⌘L again to unlock.
- Click a channel’s gear icon for per-channel settings: audio fault detection toggle, RF warnings toggle, input trim (−12 to +28 dB), solo link group (1–8), Instant Replay enable, no-signal overrides and noise-floor learning, comms flag, and a Basic fault mode that runs only the essential detectors.
- Click a channel name to open Channel Notes (performer name, mic model, placement, and timestamped freeform notes).
Problem Detector (faults)
Active faults are listed with timestamps, cycle counts, and state:
- Red (Active) — the fault is present now.
- Amber (Inactive) — it was detected and has cleared; acknowledge to dismiss.
- A fault that cycles three or more times in 60 seconds locks to Active until you acknowledge it.
Use Acknowledge on a single fault or Acknowledge All for all inactive ones; acknowledgment is global across paired clients. Export Log (or File → Export Log) saves a timestamped CSV.
The detectors cover No Signal, Ground Hum, Audio Clip, Audio Distortion, Hiss/Noise Floor, Digital Click, Acoustic Feedback (with a non-locking early-warning advisory that fires as a howl builds), Bump/Thud, and Crackle, plus a system-level Interface Disconnected fault that raises a full-screen overlay. Distortion and interface-disconnect require acknowledgment to clear. Wireless faults cover Battery Low, RF High, RF Low, RF Unstable, Antenna Diversity, and Interference; Interference is never suppressed. You can tune sensitivities and enable/disable individual detectors in Setup → Fault Detection, with Reset to Defaults to restore factory settings.
ML assist (optional): Ground Hum, Crackle, Hiss, and Bump faults auto-capture a short clip each time they fire. After a show, open Review Clips, audition each, and label it Real or False. Once you have at least 10 examples per class, click Refine Model to train an on-device classifier; future detections of those types then show a confidence badge. ML only adds context — it never suppresses a real fault.
Snapshots
Switch named monitor snapshots from the sidebar, the ←/→ arrow keys, or ⌘1–⌘9 (from any tab). The window title bar shows the active snapshot and an alert count. Add tiles with Add Channel (meter, waveform strip, or picture view) or Add Clock; drag to arrange, and Detach to a second display. Mute/solo/hard-solo states recall per snapshot (hard mutes always persist; hard solos are additive). Color-coded channel groups are global; assign membership per snapshot in Edit Layout, or use the Groups & Snapshots matrix (⌘G). The Players roster (⌘A) lets you assign a reusable cast (real/role name, photo, notes) to channels and swap performers quickly.
Remote control & integration
Remote monitoring clients
Other A2 operators can run the companion SmartA2StationClient app on their own Macs — no audio hardware needed. To pair: on the station, open Pair New Client to show a 6-digit PIN and a security code; on the client, pick the station from the Bonjour list and enter the PIN. The link is TLS with certificate pinning — confirm the security code shown on the client matches the station’s, so you know there’s no machine in the middle.
Once paired, a client sees a live-synced view: meters, RF/battery, faults (with global acknowledge), the active snapshot, groups, notes, and line check. Each operator controls their own solo/mute monitor mix without affecting FOH or anyone else, and can play back a channel’s recent audio (Instant Replay) for channels they’re allowed to see. A secured backstage chat carries quick messages between the station and clients for silent communication during a show.
OSC
SmartA2Station has a built-in OSC server for control from QLab, a console, or a Stream Deck. Enable it in Setup → OSC. It is off by default and loopback-only — turn on LAN scope only on a trusted show network (OSC is unauthenticated; the in-app note warns “Leave OFF on untrusted venue Wi-Fi”). Supported commands include recall snapshot by index, next/previous/first/last, acknowledge all faults, clear solo / unmute all, per-channel solo/mute/replay, blackout, mic-check, lock/unlock, line-check reset and act jump, quick-message macros, and a full state refresh. Set a Feedback Host/Port and the station pushes live state back so a Stream Deck can color its buttons from the current solo/mute/blackout/fault state. (Older /dashboard/* addresses still work as aliases for the newer /snapshot/* ones. The full address list is in the project README.)
MIDI (console snapshot recall)
To recall snapshots from a MIDI console (DiGiCo Quantum, Allen & Heath dLive/Avantis, and similar), open the Groups & Snapshots window (⌘G), enable MIDI Input, and Learn a trigger (Program Change or Note-On) per snapshot. This is built into the app — no extra software or entitlement.
Stream Deck via Bitfocus Companion
For a turnkey Stream Deck setup, use the Companion integration under integrations/. The best experience is the native Companion module (labeled actions, drag-on preset buttons, live button-color feedback), which needs a short Companion dev build; a zero-build importable config plus a manual Generic-OSC setup table is provided as a fallback. Do the one-time server-side step first: in Setup → OSC, enable the server, allow LAN scope if Companion runs on another machine, and set the Feedback Host/Port to the Companion machine for button feedback.
Troubleshooting
Audio engine won’t start, or no meters move. Confirm the correct interface is chosen as Primary Input and that its sample rate matches the hardware and Dante network, then click Start Audio Engine and wait for the green Running indicator. On first launch, macOS must grant microphone/audio-input access to the app.
“AUDIO INTERFACE DISCONNECTED” full-screen overlay. The selected interface was unplugged or stopped responding while the engine was running. Reconnect it (or re-select it in Setup), then click Go to Setup on the overlay to clear the fault and restart the engine. This fault won’t auto-clear — it needs acknowledgment.
A channel shows “No Signal” but audio is playing. Check the cable/transmitter for that source, confirm the channel is mapped to the right input, and remember that trims and low levels can trip it. You can raise the no-signal trip time or set a per-channel override, or click Learn Now in the gear popover during a quiet moment so the detector uses the learned noise floor rather than the global threshold. Long theatrical pauses are a common cause of false no-signal trips — raise the trip time for those shows.
A wireless receiver shows “Unreachable” or grayed-out values. Verify the receiver’s IP/host and that it’s reachable on the same network as the Mac. Note that Sound Devices, Sony, and Wisycom are placeholders in this build and will always read unreachable — only Shure, Sennheiser, Lectrosonics, and Audio-Technica are actively monitored. For Shure, try Scan to auto-discover and re-add.
Too many false faults on playback or click-track channels. Open the channel’s gear popover and turn off Audio Fault Detection (or switch it to Basic mode), and turn off RF Warnings where a receiver isn’t relevant. In Setup → Fault Detection you can also disable individual detectors globally or adjust their sensitivity, then Reset to Defaults if you overshoot.
RF High/Low/Unstable faults on a mic pack that’s switched off. In Setup → Alert Preferences, enable Suppress RF faults when transmitter is off. RF High, RF Low, and RF Unstable are then silenced for a pack reported as off. Interference is never suppressed.
A client won’t pair, or shows “must re-pair.” Make sure both machines are on the same LAN and the station has an active PIN (press Pair New Client to generate one). If the security codes don’t match, stop — that indicates the wrong or an untrusted server. A “must re-pair” state means the server’s TLS identity changed; generate a new PIN and pair again.
Instant Replay button missing or playback sounds wrong. Replay must be enabled per channel in the gear popover before the replay button appears. Replay routes through the solo bus, so make sure a Solo Bus output is configured. Note that replay is still being hardened in this pre-release build.
App quit unexpectedly. SmartA2Station auto-saves session state every 30 seconds and offers to restore it on the next launch. Fault logs are written automatically on close — next to your open show file, or to ~/Documents/Smart A2 Station/Logs/ if no show is open.
Getting help
If something isn’t behaving as described, or you hit a fault or pairing issue you can’t resolve, contact support at admin@eggentechnologies.com. Include your app version (shown under the About window — currently 0.8.2), your macOS version, the audio interface and wireless receivers in use, and, where relevant, an exported fault-log CSV (Problem Detector → Export Log) so the issue can be reproduced.