au-review
Reviews AudioUnit v2/v3 plugin implementations for spec compliance, thread safety, and correctness. Use when the user asks to…
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 intuition behind a formula, or hits a math-shaped bug. Trigger on phrases like "how does a Fourier transform work", "explain
Claude Code
$ npx -y skills add kunitoki/sonic-skills --skill audio-math-explainer --agent claude-code
Codex
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a codex -y
Cursor
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a cursor -y
Gemini CLI
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a gemini-cli -y
GitHub Copilot
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a github-copilot -y
OpenCode
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a opencode -y
Windsurf
$ npx skills add kunitoki/sonic-skills --skill audio-math-explainer -a windsurf -y
name: audio-math-explainer description: > 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 intuition behind a formula, or hits a math-shaped bug. Trigger on phrases like "how does a Fourier transform work", "explain z-transforms", "what is convolution", "why does my biquad ring", "what is windowing for", "what causes aliasing", or "how do I convert gain to dB". Also trigger when the user pastes DSP code and asks why it behaves a certain way.
> **The rule:** DSP math is small and composable — each concept builds directly on the last. > Start with what the user needs, then connect it to code they're writing.
| Topic | Core idea | Common "why" | |-------|-----------|--------------| | Fourier transform / DFT / FFT | Decompose signal into frequency components | "Why does my FFT output look wrong?" | | Convolution | Weighted moving average; LTI system response | "How does an IR reverb work?" | | Z-transform | Frequency-domain analysis of discrete systems | "How do filter poles/zeros work?" | | Biquad / IIR filters | Recursive difference equation with feedback | "Why does my filter ring / go unstable?" | | FIR filters | Non-recursive weighted sum | "How do I design a linear-phase filter?" | | Windowing | Reduce spectral leakage in DFT | "Why are FFT edges smeared?" | | Sample rate / Nyquist | Highest representable frequency = sr/2 | "What causes aliasing?" | | Decibels | Log scale for amplitude/power ratios | "How do I convert gain to dB?" |
If the user's question maps to multiple rows, start with the most fundamental one and build up.
For each concept, give exactly these three things in order:
1. **Intuition** — one sentence a musician could understand 2. **Math** — the key formula (inline, no walls of derivation) 3. **Code** — one-line pseudocode or a real function call from common audio libraries
Keep each anchor to 1–3 lines. Cut anything that doesn't directly answer the question.
After the three anchors:
| Math concept | Where it shows up in code | |--------------|--------------------------| | DFT basis frequencies | `bin_index * sr / N` — each FFT bin | | Convolution sum | FIR tap loop: `y[n] = sum(h[k] * x[n-k])` | | Z-plane pole radius | IIR feedback coefficients `a1`, `a2` | | Nyquist limit | `if (freq > sampleRate / 2) clamp(...)` | | Window function | Multiply `x[n] *= window[n]` before FFT | | dB conversion | `gain_db = 20 * log10(amplitude)` |
### [Concept name] **Intuition:** [one sentence] **Math:** `[formula]` **Code:** `[one-liner]` **In your code:** [where this appears and what it means for their specific question]
> See `references/dsp-math-reference.md` for full formula tables, gotchas, and property lists.
Precision audio-engineering skills for AI agents. Sonic Skills is a curated pack of Markdown skills for reviewing, debugging, explaining, and implementing audio software.
Reviews AudioUnit v2/v3 plugin implementations for spec compliance, thread safety, and correctness. Use when the user asks to…
Systematic checklist for diagnosing audio artifacts. Use when the user describes a sound quality problem — clicks, pops,…
Reviews audio DSP and audio processing code for realtime safety violations. Use whenever the user asks to review, audit, or check…
Reviews audio DSP code for numerical correctness. Use when the user asks to review, audit, or check DSP code for correctness…
Profiling strategy for audio CPU issues — xruns, spikes, and buffer underruns. Use when the user reports CPU overload, audio…
Traces and documents signal paths, bus/aux architecture, and sidechain connections in audio systems. Surfaces hidden coupling…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.