本文へ移動
cccskills
無料GitHub で公開

game-audio-review

Reviews game audio code for Wwise/FMOD integration safety, custom DSP plugin correctness, and audio middleware usage. Use when the user asks to review a Wwise plugin, check an FMOD DSP effect, audit game audio middleware integration, or asks "is my game audio code safe?". Trigger on phrases like "review my Wwise plugin", "check FMOD DSP effect", "is my game audio code safe", "review my audio middleware integration", or when you see AkPluginInfo, FMOD_DSP_DESCRIPTION, IMetaSoundSource, or Execute/process callbacks in game audio code.

インストール方法を見る

含まれるファイル(2)

  • SKILL.md4.2 KB
  • references/game-audio-patterns.md6.6 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Game Audio Middleware Review

Middleware callbacks share all realtime constraints of native audio, plus middleware-specific memory, threading, and parameter rules.

Step 0 — Run universal checks first

Invoke audio-dsp-review and audio-numerics-review before this skill. This skill adds middleware-specific checks on top; it does not replace realtime-safety or numerics reviews.

Step 1 — Identify the integration type

TypeEntry pointKey concerns
Wwise pluginAkPluginInfo + Execute()Memory via AkAlloc, thread model per platform
FMOD DSP effectFMOD_DSP_DESCRIPTION + process callbackFMOD_MEMORY_ALLOC, must not block
Unreal MetaSoundsIMetaSoundSource, GetNextBufferGameThread vs AudioThread ownership
Custom engine integrationEngine audio callbackPlatform-specific thread model and priorities

Step 2 — Scan for violations

ViolationWhereRisk
Allocating from any heap inside the audio callbackplugin Execute/processRealtime violation; middleware allocators are for setup/teardown, not per-buffer allocation
Blocking I/O from audio callbackExecute/processXrun / dropout
Accessing game engine state from audio threadExecute/processNot thread-safe; data race or stale read
Event or parameter changes without thread-safe channelgame loop → audioData race on shared state
DSP plugin not handling bypass correctlyExecute/processIncorrect audio output in bypass mode
Not respecting channel count negotiationplugin initBuffer overread / underwrite
Missing AK_OPTIMIZED guard around debug codeany plugin codeDebug I/O included in shipping build
Wwise RTPC not clamped before useparameter readOut-of-range value fed to DSP; clipping or NaN
FMOD parameter index used as a magic numberparameter readWrong value applied after descriptor edits; use a shared enum tied to paramdesc order
Unreal: accessing UAudioComponent from AudioThreadGetNextBufferGameThread-only object; crashes on non-GameThread

Step 3 — Write the review

## Game Audio Review: `[file / plugin class]`

### Verdict
[Safe | Has critical violations | Warnings only] — [one sentence summary]

### Integration Type
[Wwise plugin | FMOD DSP | Unreal MetaSounds | Custom engine]

### Critical Violations
**[Category]: [description]**
`file:line` — `offending code`
Why: [one sentence on the middleware / realtime risk]
Fix: [concrete middleware-idiomatic suggestion]

### Warnings
[same format]

### What's Done Well
[correct patterns observed]

### Recommended Fixes (priority order)
1. ...

Quick fix table

ViolationFix
Allocation in Wwise ExecutePre-allocate in Init with AK_PLUGIN_ALLOC / AK_PLUGIN_FREE
Allocation in FMOD processPre-allocate in create/reset with dsp_state->functions->alloc / free
Blocking call in callbackMove to game thread; pass result via lock-free queue or atomic
Game engine state read on audio threadCache a thread-safe copy; update via std::atomic or SPSC queue
Wwise bypass not handledLeave buffer untouched and return; do not write to output
Channel count assumed constantRead from io_pBuffer->NumChannels() or FMOD inchannels at runtime
FMOD parameter by magic numberDefine enum indices and keep descriptor order in one place
Unreal GameThread object on AudioThreadMarshal via AsyncTask(ENamedThreads::GameThread, ...)

For code structure examples (Wwise, FMOD, MetaSounds, thread models, memory patterns) see references/game-audio-patterns.md.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

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 an AUv3 app extension, audit property or parameter handling, or asks "is my AUComponent thread-safe?" or "why does my AU crash in Logic?". Trigger on phrases like "review my AudioUnit", "check my AUv3", "is my render block safe?", or when you see AURenderCallback, internalRenderBlock, kAudioUnitProperty_*, or AUAudioUnit in the code.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

Reviews audio DSP and audio processing code for realtime safety violations. Use whenever the user asks to review, audit, or check audio processing code — including plugin process callbacks, audio engine render functions, DSP implementations, or any code that runs on the audio thread. Trigger on phrases like "review my processBlock", "check this DSP code", "is this safe for the audio thread?", "review my JUCE plugin", or when you see an audio callback and spot potential realtime violations. Flag issues proactively even when the user hasn't explicitly asked for a review.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

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.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

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, fixed-point arithmetic, accumulation loops, or any numeric computation in audio code. Trigger on "check this filter for NaN", "why does my reverb blow up?", "is this numerically stable?", "why do I hear DC in my output?". Pairs with audio-dsp-review (realtime safety); this skill covers numeric correctness. Flag issues proactively.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

Profiling strategy for audio CPU issues — xruns, spikes, and buffer underruns. Use when the user reports CPU overload, audio glitches under load, or performance regressions. Trigger on phrases like "I'm getting xruns", "my plugin causes CPU spikes", "dropouts under high voice count", "audio thread is too slow", "how do I profile my DSP". References audio-numerics-review for denormal slowdown and audio-dsp-review for lock contention.

日本語の概要は準備中です。原文の説明を表示しています。

kunitoki/sonic-skills222026年5月21日 更新

kunitoki のスキルをすべて見る

このスキルの問題を報告する