au-review
Reviews AudioUnit v2/v3 plugin implementations for spec compliance, thread safety, and correctness. Use when the user asks to review an AudioUnit plugin, check…
Systematic checklist for diagnosing audio artifacts. Use when the user describes a sound quality problem — clicks, pops, crackling, silence, DC offset, aliasing, phase issues, or latency problems. Trigger on phrases like "why do I hear clicks?", "my output has DC offset",
$ npx -y skills add kunitoki/sonic-skills --skill audio-artifacts-debug --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/audio-artifacts-debugContext preview
The summary Claude sees to decide when to auto-load this skill.
Systematic checklist for diagnosing audio artifacts. Use when the user describes a sound quality problem — clicks, pops, crackling, silence, DC offset, aliasing, phase issues, or latency problems. Trigger on phrases like "why do I hear clicks?", "my output has DC offset",
name: audio-artifacts-debug description: > Systematic checklist for diagnosing audio artifacts. Use when the user describes a sound quality problem — clicks, pops, crackling, silence, DC offset, aliasing, phase issues, or latency problems. Trigger on phrases like "why do I hear clicks?", "my output has DC offset", "there's aliasing in my oscillator", "phase is wrong in mono", "dropout when CPU spikes". Pairs with audio-dsp-review (realtime safety) and audio-numerics-review (numeric correctness) — use those to fix once the cause is found.
Audio artifacts have diagnostic signatures — match the symptom to the root cause before touching code.
Ask these questions before reading any code.
| Artifact type | Questions to ask | |---------------|-----------------| | **Clicks / pops** | Regular or random? On buffer boundaries? At note on/off? After channel strip toggle? | | **Crackling / distortion** | Constant or load-dependent? Does it correlate with signal level? Worse on silent decay? | | **Silence / dropout** | Immediate or gradual? Only under load? After a specific number of voices? Recovers? | | **DC offset** | Constant or drift? Present from first sample? Appears only after long silence? | | **Aliasing** | Audible as high-frequency mirror tones? Pitch-dependent? Present at all sample rates? | | **Phase issues** | Stereo image collapse in mono? Comb filtering? Only on parallel paths or mid-side? | | **Latency** | DAW reports wrong delay compensation? Wet/dry misaligned? Only at certain buffer sizes? |
| Symptom | Likely cause | Skill / check to apply | |---------|-------------|----------------------| | Click at fixed buffer-length intervals | Buffer boundary discontinuity — uninitialized tail, missing sample-accurate fade | `audio-dsp-review`: check process entry/exit | | Click correlates with xrun log | CPU overload — audio thread missed deadline | `audio-dsp-review`: scan for allocations, locks, I/O | | Crackling scales with signal amplitude | Clipping or fixed-point overflow | `audio-numerics-review`: overflow, Q-format multiply | | Crackling on silent decay | Denormal floats — FTZ absent | `audio-numerics-review`: denormal section | | Dropout / silence under load | xrun, NaN propagation, or buffer too small for latency | `audio-dsp-review` + `audio-numerics-review`: NaN guards | | Silence after large value | NaN propagated from unclamped `sqrt` / division | `audio-numerics-review`: NaN / Inf section | | DC offset from first sample | Uninitialized filter state or delay line | `audio-numerics-review`: precision loss / state init | | DC offset after long silence | FTZ leaving near-zero state; missing high-pass | `audio-numerics-review`: denormal / FTZ section | | Aliasing pitch-tracks with note | Oscillator not bandlimited; no anti-alias before downsampling | `audio-numerics-review`: check sample-rate handling | | Stereo collapses to mono | Unmatched processing on L/R; phase inversion | `audio-dsp-review`: check parallel path symmetry | | Comb filtering on mono | Latency mismatch on parallel paths | Plugin reports incorrect `getLatencySamples()` | | Latency wrong at buffer-size change | Plugin caches latency at init only; not updated on reconfigure | `audio-dsp-review`: check `prepareToPlay` reset |
## Audio Artifact Diagnosis: `[file / symptom]` ### Artifact characterization Type: [clicks | crackling | silence | DC | aliasing | phase | latency] Observed: [when / under what conditions] Reproducible: [always | intermittent | load-dependent] ### Root cause hypothesis Likely cause: [one sentence] Evidence: [what in the code supports this] Skill to apply: [audio-dsp-review | audio-numerics-review | both] ### Specific checks to run 1. [file:line] — [what to inspect] 2. ... ### Recommended fix [Concrete action — no placeholder text]
For artifact-specific diagnostic questions and check-by-check references see `references/artifact-patterns.md`.
Precision audio-engineering skills for AI agents. Sonic Skills is a curated pack of Markdown skills for reviewing, debugging, explaining, and implementing audio software.
Repo: kunitoki/sonic-skills
Reviews AudioUnit v2/v3 plugin implementations for spec compliance, thread safety, and correctness. Use when the user asks to review an AudioUnit plugin, check…
Reviews audio DSP and audio processing code for realtime safety violations. Use whenever the user asks to review, audit, or check audio processing code —…
Explains DSP math concepts to developers who need the theory behind an algorithm. Use whenever the user asks how a signal-processing concept works, wants…
Reviews audio DSP code for numerical correctness. Use when the user asks to review, audit, or check DSP code for correctness issues — filters, feedback loops,…
Profiling strategy for audio CPU issues — xruns, spikes, and buffer underruns. Use when the user reports CPU overload, audio glitches under load, or…
Traces and documents signal paths, bus/aux architecture, and sidechain connections in audio systems. Surfaces hidden coupling between audio components. Use…