NEUROPOD — Rig & Calibration
Physical rig (current)
Interface: Teenage Engineering EP-136 K.O. Sidekick — class-compliant USB, 8 capture channels (ch1 L/R, ch2 L/R, aux L/R, main-mix L/R), 4 playback channels (main L/R, cue L/R), fixed 48 kHz/24-bit. One duplex device, one clock domain — satisfies the harness's single-stream rule by construction.
Pod OUT L ────────────► EP-136 ch1 in L (USB capture channel: mapped at T1)
Pod OUT R ────────────► EP-136 ch1 in R (USB capture channel: mapped at T1)
EP-136 cue out (st) ──► Pod IN L/R (USB playback 2/3 — see open item)
[internal] main bus ───► USB captures 0/1 and 2/3 (identical stereo copies,
digital loopback — the reference tap)
Pod USB (Seed port) ──► host (DFU at boot; USB MIDI + SysEx
telemetry at runtime)
Measured USB layout (2026-08-06 — the datasheet's per-channel map is wrong for this unit/firmware): playback 0/1 drive the main bus; captures 0/1 and 2/3 both return the main-bus loopback (identical, L/R separation > 76 dB, fixed 1644-sample latency, unity gain 0.9997 → digital path); captures 4–7 are digitally silent with no live inputs. Where the physical ch1 input (the Pod) appears among the captures is mapped at T1, the first time the Pod makes sound.
Open rig item: USB playback 2/3 (cue) is currently dead — nothing reaches the cue jack from USB, so the Pod IN stimulus path (T8) doesn't work yet. Either cue monitoring must be engaged on the EP-136, or rewire main out jack → Pod IN (then the stimulus reaches the Pod via the main bus; workable because the reference tap is the same bus).
Rig rules
- Master-bus FX / compressor OFF on the EP-136 — they would silently
corrupt THD, alias-floor, and latency numbers.
nphost calmeasures loop THD so violations show up as a bad cal. - If cal shows the per-channel USB captures are post-fader, keep ch1/ch2 faders down during reference-critical passes (cal detects contamination: Pod audio appearing in capture 6 during a Pod-silent phase).
- Interface stays at 48 kHz (it is fixed-rate; the harness asserts
fs == 48000and refuses CoreAudio resampling). - Run hardware sessions under
caffeinate -i(App Nap produces phantom dropouts). - macOS mic permission (TCC) denial returns silent zeros, not an error — cal asserts non-zero captured RMS and prints the fix.
- Headphone volume pot on the Pod is post-line-out (TPA6110 tap) and cannot affect measurements. EP-136 main hardware volume position vs the USB main-mix capture level is measured at cal; note the knob position below and don't move it between cal and runs.
Calibration procedure
cd NEUROPOD/host
caffeinate -i .venv/bin/nphost cal
Measures, using only the internal reference loop (Pod not required):
- Noise floor of the reference path + TCC silent-zero check.
- Loop round-trip latency (click, cross-correlation argmax).
- dBFS mapping (−6 dBFS 1 kHz tone → measured RMS → scale factor) and the interface's own loop THD (floor-limits later device THD claims).
Cache: host/.cal/cal.json, invalidated when the device name changes.
MIDI→audio latency (NoteOn → onset) is measured against the Pod once T1
firmware exists; all onset assertions are relative to it, never absolute.
Measured values
| Quantity | Value | Date |
|---|---|---|
| Loop latency | 1644 samples = 34.25 ms | 2026-08-06 |
| dBFS scale | 0.9997 (digital loopback, effectively unity) | 2026-08-06 |
| Noise floor | −86.5 dBFS | 2026-08-06 |
| Loop THD | −86.0 dB (= flat-top instrument floor ~−85 dB — loop is clean) | 2026-08-06 |
| Codec/BoardVersion (from telemetry) | 0 = original Daisy Seed → AK4556 codec | 2026-08-06 |
| Pod sub note level (CC19=110, crest 0) | −8.8 dBFS RMS on the main-bus capture | 2026-08-06 |
| Pod capture channels | main-bus captures 2/3 (verified with Pod playing; cue stimulus does not leak in) | 2026-08-06 |