Expert patterns for Godot audio including AudioStreamPlayer variants (2D positional, 3D spatial), AudioBus mixing architecture, dynamic effects (reverb, EQ,compression), audio pooling for performance, music transitions (crossfade, bpm-sync), and procedural audio generation. Use for music systems, sound effects, spatial audio, or audio-reactive gameplay. Trigger keywords: AudioStreamPlayer, AudioStreamPlayer2D, AudioStreamPlayer3D, AudioBus, AudioServer, AudioEffect, music_crossfade, audio_pool, positional_audio, reverb, bus_volume.
npx skills add https://github.com/thedivergentai/GD-Agentic-Skills --skill godot-audio-systems
Expert mixing, spatial, pooling, and interactive-music patterns for Godot's audio engine.
set_bus_volume_db() is logarithmic. Use linear_to_db() for sliders OR everything will sound too loud until the last 5%.Inverse Distance, a whisper on the other side of the map will be global volume.0.1 units.DOPPLER_TRACKING_PHYSICS_STEP feels flat and static.Limiter (audio_voice_limiter_manager.gd).queue_free()ing causes frame-time spikes. Use a Pool.Tween to bridge tracks.AudioEffectSpectrumAnalyzer.tap_back_pos removed — migrate analyzers to alternative tap APIs.AudioStreamPlayer default area_mask is now 0 (disabled), not layer 1. If using Area2D/Area3D audio_bus_override, explicitly set area_mask to layer 1 or your bus layer.| Feature | AudioStreamPlayer | AudioStreamPlayer2D | AudioStreamPlayer3D |
|---------|------------------|---------------------|---------------------|
| Spatial | Global | 2D panning | 3D positioning |
| Doppler | No | No | Yes |
| Attenuation | No | Distance-based | 3D falloff |
| Reverb send | No | No | Yes |
| Use for | Music, UI, VO | 2D games | 3D games |
| Performance | Fastest | Medium | Slowest |
> MANDATORY — open only the script that matches the row. Do not reinvent pools, duckers, or interactive graphs from memory.
>
> Do NOT Load every script below for one mix task.
| Need | Script |
|------|--------|
| One-shot SFX spam / voice steal | MANDATORY audio_voice_pool_manager.gd |
| Cap identical SFX (ear-bleed) | MANDATORY audio_voice_limiter_manager.gd |
| Dialogue over music | MANDATORY audio_bus_ducker_logic.gd |
| Bus layout / runtime mute | audio_bus_manager.gd |
| Linear UI slider → dB | audio_linear_volume_interpolator.gd |
| Wall muffling | MANDATORY audio_occlusion_raycast.gd |
| Room reverb zones | audio_environmental_reverb_zone.gd |
| Vertical intensity stems | MANDATORY audio_interactive_music_manager.gd |
| Horizontal clip graph | interactive_music_graph.gd + references/interactive-music-deep-dive.md |
| Bus / pool WHY | references/audio-pooling-and-buses.md |
| Crossfade / BPM / duck | references/music-transitions.md |
| Adaptive music player wrapper | audio_adaptive_music_player.gd |
| Autoload SFX entry | audio_manager.gd |
| Footstep surface banks | audio_footstep_surface_selector.gd |
| Procedural hum / engine | audio_procedural_generator_synth.gd |
| Spectrum → gameplay / VFX | audio_reactive_visualizer_component.gd, audio_visualizer.gd |
| Dialogue subtitle sync | subtitle_sync_system.gd |
Priority voice pool with steal of lowest-priority oldest voice (hero voices protected).
Concurrency cap for identical SFX instances.
Sidechain-style dialogue-over-music ducking.
Runtime bus volume/mute helpers for Music/SFX/UI/Voice groups.
Autoload entry for play-one-shot routing onto the pool.
Musically-correct linear↔dB UI slider mapping.
Raycast muffling via attenuation filter cutoff.
Area3D-driven reverb/bus override zones.
AudioStreamSynchronized vertical stem intensity.
AudioStreamInteractive horizontal clip graph.
Adaptive music player wrapper for intensity-driven stems.
Physics-driven surface → sound-bank selection.
Realtime procedural tones for hums/engines/signals.
FFT spectrum → gameplay/visual driver.
Spectrum analyzer visualization helper.
Playback-position-accurate subtitle sync (latency-compensated).
Spawning AudioStreamPlayer.new() per footstep at 60 FPS ≈ 3600 nodes/minute and frame spikes. MANDATORY audio_voice_pool_manager.gd. Cap duplicate SFX with audio_voice_limiter_manager.gd — 50 same-frame explosions clip the mix.
Deep dive → audio-pooling-and-buses.md.
Master = final limiter only. Gameplay → Music / SFX / UI / Voice. set_bus_volume_db(0.5) is wrong — use linear_to_db() for sliders.
Never hard-cut tracks — 0.5–2.0s Tween crossfade or BPM-aligned handoff. Vertical/horizontal adaptive scores → interactive-music-deep-dive.md, music-transitions.md.
Ray source→listener; blocked → Tween attenuation_filter_cutoff_hz down — audio_occlusion_raycast.gd.
pos = get_playback_position() + AudioServer.get_time_since_last_mix() - AudioServer.get_output_latency() — subtitle_sync_system.gd.
> Progressive disclosure: open Official Documentation links only when researching a specific API; load Related Skills when routing to a peer domain — do not preload the whole lattice.
get_time_since_last_mix, latency) for BPM and subtitle sync.set_sync_stream_volume) for vertical intensity mixes.PhysicsRayQueryParameters3D masks from source to listener.linear_to_db) wired to bus indices, not raw slider values.Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.
Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.
Improves the quality of images, especially screenshots, by enhancing resolution, sharpness, and clarity. Perfect for preparing images for presentations, documentation, or social media posts.
Downloads videos from YouTube and other platforms for offline viewing, editing, or archival. Handles various formats and quality options.
Lightweight WSI tile extraction and preprocessing. Use for basic slide processing tissue detection, tile extraction, stain normalization for H&E images. Best for simple pipelines, dataset preparation, quick tile-based analysis. For advanced spatial proteomics, multiplexed imaging, or deep learning pipelines use pathml.
Microscopy data management platform. Access images via Python, retrieve datasets, analyze pixels, manage ROIs/annotations, batch processing, for high-content screening and microscopy workflows.
Python library for working with DICOM (Digital Imaging and Communications in Medicine) files. Use this skill when reading, writing, or modifying medical imaging data in DICOM format, extracting pixel data from medical images (CT, MRI, X-ray, ultrasound), anonymizing DICOM files, working with DICOM metadata and tags, converting DICOM images to other formats, handling compressed DICOM data, or processing medical imaging datasets. Applies to tasks involving medical image analysis, PACS systems, radiology workflows, and healthcare imaging applications.
This skill should be used when working with pre-trained transformer models for natural language processing, computer vision, audio, or multimodal tasks. Use for text generation, classification, question answering, translation, summarization, image classification, object detection, speech recognition, and fine-tuning models on custom datasets.
Take thedivergentai/godot-audio-systems from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.