OverviewHistoryStatsSecurity
npx skills add ...
Documentation
SKILL.md
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-audio
Play and mix audio in Godot 4.7: AudioStreamPlayer (2D/3D variants), audio buses with volume/mute and effects, music vs SFX routing, db/linear volume, and precise sync-to-beat playback timing. Use when playing sounds or music in a Godot project, routing AudioStreamPlayer nodes to buses, adjusting bus volume via AudioServer, or syncing gameplay to the beat.
npx skills add gamedev-skills/awesome-gamedev-agent-skills --skill godot-audio
Play SFX and music, route them through buses, control volume in decibels, and time gameplay to the beat. Targets Godot 4.7.
When not to use: engine-agnostic audio design (adaptive music structure, mixing
philosophy, ducking patterns) → audio-design; importing/encoding assets outside Godot.
AudioStreamPlayer — non-positional (music, UI, global SFX).AudioStreamPlayer2D / AudioStreamPlayer3D — positional; volume/pan from distance.AudioStream to stream (.ogg for music/loops, .wav for short SFX)
and play(). Set autoplay for music that starts with the scene.bus to a named bus (e.g. "Music", "SFX").
Define buses in the Audio panel (bottom dock); each can have volume, mute, solo, and
effects.0 dB = unchanged,
-80 dB ≈ silent. Convert with linear_to_db/db_to_linear.AudioServer by bus index.volume_db/set_bus_volume_db are decibels. Setting
volume_db = 0.5 is nearly full volume, not half. Map sliders with linear_to_db.linear_to_db(0.0) is -inf. Clamp the linear value to a small minimum (e.g.
0.0001) before converting, or special-case 0 → mute.get_bus_index("Muisc") returns -1; calls then error
or no-op. Match the exact bus name from the Audio panel.AudioStreamPolyphonic, or AudioStreamPlayer per-shot freed on finished..ogg import has a
Loop option; AudioStreamWAV has loop_mode).get_playback_position() alone is jittery — it updates per audio mix,
not per frame; add get_time_since_last_mix() and subtract get_output_latency().AudioListener3D/Camera3D to hear it, or max_distance/
attenuation too tight, or wrong bus muted..tres), adding effects (reverb/compressor/EQ) and side-chain
ducking, AudioStreamPolyphonic/AudioStreamInteractive, microphone capture, and
procedural audio with AudioStreamGenerator, read references/buses-and-effects.md.audio-design — engine-agnostic adaptive music, mixing, and ducking practice.godot-animation — syncing animation/Tween to get_playback_position().godot-ui-control — volume sliders wired to AudioServer.