FULL AI ANALYSIS

USB audio interface shows intermittent crackling and dropouts only when macOS app uses CoreAudio aggregate device

Generated Oct 12, 2026, 10:57:59 PM

Analysis summary

Aggregate devices combine multiple hardware clocks into a virtual device. If one device's clock drifts or sample rates differ, CoreAudio uses drift correction, which resamples to keep streams in sync. Resampling and clock adjustments increase CPU load; under heavy GUI or kernel activity this can cause buffer underruns and dropouts. The fact single-device operation is stable and issues reduce with larger buffers indicates buffer underruns caused by increased CPU/IO from resampling and drift correction, or by mismatched USB isochronous scheduling.

Possible causes

Aggregate device resampling paired with host CPU spikes (WindowServer/kernel_task) causing processing delays and audio underruns.

90%

Sample rate mismatch and drift between internal mic and USB interface requiring continuous resampling (CPU overhead) that leads to ring buffer underruns.

80%

Driver-level interaction or bug in the audio interface driver when used in aggregate mode under macOS 13.x.

35%

USB bus bandwidth or scheduling constraints when multiple isochronous streams are aggregated, introducing jitter.

15%

Suggested fixes

1

Diagnostic step 1

Avoid aggregate devices when possible: use the USB interface alone as both input and output or route internal mic through software if required (eliminates clock drift).

2

Diagnostic step 2

If aggregation is needed, ensure all member devices are set to identical sample rate and bit depth (e.g., 48 kHz, 24-bit) at the OS and device firmware level to reduce resampling work.

3

Diagnostic step 3

Increase CoreAudio buffer size where acceptable; test the smallest buffer that eliminates underruns. Use dedicated audio performance mode: close background apps and disable energy-saving features.

4

Diagnostic step 4

Monitor CPU and kernel activity during glitches (in Activity Monitor and Console) to identify interfering processes; test with minimal session to confirm.

5

Diagnostic step 5

If problem persists, capture CoreAudio debug logs and engage interface vendor support; consider using an aggregate-capable interface that exposes a shared clock (word clock or ADAT) to avoid resampling.