Audio troubleshooting
Crackle, dropouts, latency creep, "why is my interface missing?" — common fixes, organised by symptom.
Real-time audio in the browser is, against all odds, reliable. When it isn't, the cause is almost always one of: a buffer size the OS can't keep up with, another application holding the interface, or a browser-permission state that needs a click. This page is the symptom-first checklist.
I hear crackling, clicking, or dropouts
The buffer is too small for your CPU to sustain.
- Open your OS audio settings (macOS: System Settings → Sound; Windows: Settings → System → Sound; or your interface's vendor control panel if it has one).
- Raise the buffer to 128 samples (try 256 if 128 still cracks).
- Refresh the Axion page so the worklet rebinds to the new buffer.
- Close CPU-heavy apps in the background — Slack, Electron tools, video calls, browsers with many tabs all eat cycles.
If the crackle is sporadic rather than constant, look at CPU usage (the chip at the top of the app). Sustained above ~70% means you're close to the buffer's wall; intermittent spikes line up with browser tab-throttling or OS interrupts.
I hear nothing
Walk down the chain top to bottom:
- Input meter on? No movement means the browser isn't getting audio at all. Check that you clicked Allow on the microphone permission prompt — re-prompt it from the device chip if you dismissed it earlier.
- Picked the right interface? The device chip dropdown lists every input the browser sees. If yours isn't there, see My interface isn't in the dropdown below.
- Output going somewhere sensible? Browsers default to your OS's default output device. If you've changed that recently (Bluetooth headphones in, then out) you may be silently routing to the wrong place.
- Master not at zero? Easy to miss after a session.
If all four check out and you still hear nothing, hit Start Audio again — sometimes the engine status reports running but the worklet didn't reconnect after a tab-discard. Refreshing the page is the nuclear option that always works.
Latency is too high
The RT chip at the top reports your round-trip in milliseconds. Anything under 20 ms feels real-time; over 30 ms you'll feel it, especially with high-gain tones where pick attack matters.
The single biggest factor is your browser. Round-trip latency in the browser tracks the engine, not your interface — and the gap is large:
- Chrome (or another Chromium browser — Edge, Brave) is strongly recommended. It has by far the lowest audio latency across every platform we've measured.
- Firefox and Safari add substantial latency on the same hardware — often two to three times Chrome's. They're fine for tone design and practice, but not ideal for tight tracking.
- By platform: macOS in Chrome is excellent (near real-time). Windows in Chrome is usable but higher — browsers on Windows can't reach the low-latency driver modes (ASIO / exclusive WASAPI) that native apps use, so there's a floor the browser can't get under, and a better interface won't move it much. Mobile browsers currently add too much latency for live monitoring.
If your latency is high, switch to Chrome first — it's the highest-impact change. After that:
- Sample rate — higher sample rates can mean lower latency (smaller buffer in time-domain terms), but only if your CPU keeps up. 48 kHz is the sweet spot for most setups.
- OS / interface buffer — if your interface has a vendor control panel, a smaller buffer there lowers latency at higher CPU cost.
- Bluetooth audio — don't. The codec adds 100–300 ms that no software can compensate for. Wired only for playing.
You can see your own real round-trip directly: it's the number to compare across browsers if you want to confirm the above on your own setup.
My interface isn't in the dropdown
Several possible causes, in order of likelihood:
- Plugged in after the page loaded. The browser caches the device list. Unplug, plug back in, then refresh.
- Another app has it open in exclusive mode. DAWs often grab the interface and don't release it. Quit any audio apps and refresh.
- Browser doesn't see it at the OS level. Check the OS sound settings — if it's missing there too, fix the OS-level problem first (driver install, USB cable, port).
- HTTP not HTTPS. Chrome occasionally hides device labels on insecure origins.
axion.cabis HTTPS-only, so this never bites you in production.
NOTE Some interfaces present their inputs as multiple "channels" (Channel 1, Channel 2, Aggregate, etc.). Pick the one wired to your instrument input. If you're not sure which channel that is, plug the guitar in, strum, and watch the meter.
Browser-specific quirks
- Chrome / Edge — full feature support and the lowest audio latency of any browser, on every platform. The File System Access API on the recorder unlocks streaming WAV writes; on other browsers the recorder falls back to an in-memory download at stop. This is the recommended browser for playing through Axion.
- Firefox — full audio support; lacks the File System Access API, so very long recordings can run out of memory before stop. Notably higher audio latency than Chrome — usable for tone design, less so for tight tracking.
- Safari — needs version 16.4 or newer. High audio latency despite macOS's excellent native audio; its WebAudio path buffers heavily. Tab-discard is more aggressive than Chromium; if Safari decides your tab is idle the engine may pause and need a click to resume.
- Mobile — the app runs but is positioned for desktop-class CPUs, and mobile browsers add too much audio latency for real-time monitoring. Useful for browsing presets and tweaking; we don't promise mobile real-time playing. (All iOS browsers share Safari's engine, so the iOS latency story is the same regardless of which browser you use.)
What didn't work and why
A few things that should work but don't, and the reason:
- Aggregate devices on macOS — usually work, occasionally don't depending on the underlying drivers. Try the individual device first.
- Loopback channels — accessible only via the OS's audio subsystem (BlackHole, Loopback, etc.) — Axion sees them as regular inputs once they're routed.
- Web Bluetooth audio — won't appear at all. Browsers don't expose Bluetooth audio devices to
getUserMedia.
The nuclear option
When nothing else works:
- Hard-refresh the page (
⌘/Ctrl + Shift + R). - Close every other browser tab.
- Restart the browser.
- Power-cycle the interface (unplug, count to three, plug back in).
- Restart the OS.
Step 1 fixes 80% of mystery problems. Step 5 fixes the rest. If you're still stuck, email hi@axion.cab with your interface model, browser version, and what the input meter is doing — that's enough for us to triage almost any case.