AI tools: Audio and music

Sounds, music, spatial audio and rhythm charts. 9 tools. You see every step your AI takes and can undo any of them.

audio_gun_sound

Tune a weapon class's synthesized sound for this scene (pistol, revolver, smg, rifle, lmg, shotgun, sniper, launcher, laser): plain words (heavier, louder, sharper, deeper, longer_tail, suppressed...) or exact numbers. One undoable gun_sound component; every gun of the class uses it. Check it with audio_preview.

ArgumentTypeWhat it does
adjustlist of heavier / lighter / louder / quieter / sharper / softer / deeper / higher …
class requiredpistol / revolver / smg / rifle / lmg / shotgun / sniper / launcher …
cracknumber
energynumber
gainnumber
mechnumber
pitchnumber
suppressedboolean
tailnumber
weightnumber

audio_mix

Set the scene's music and ambience and its mix: music track (neon, menu, action, ambient, or a WAV in Assets/Sounds/Music) with crossfade, ambience bed (rain, storm, city, night, forest, room_tone, neon_hum), levels, bus trims and ducking. One undoable audio_mix component; first-party synthesis, no downloads.

ArgumentTypeWhat it does
ambience / rain / storm / city / night / forest / room_tone / neon_hum
ambience_gainnumber
crossfadenumber
duck_explosionnumber
duck_voicenumber
musicstring
music_gainnumber
sfxnumber
uinumber
voicenumber

audio_mixer

The live mix while the game plays: each bus's meter (dB peak: music, ambience, sfx, voice, ui, and master after the limiter), its level and duck, the snapshot blended in. action "monitor" mutes or solos buses in the editor only (never saved: to hear the music alone, solo ["music"]); "snapshot" blends the running game's whole mix to a preset (underwater, muffled, stunned, pause, focus, quiet) or your own levels with a low-pass, the same as a script's game.snapshot(); "presets" lists them. Set the scene's own levels with audio_mix.

ArgumentTypeWhat it does
actionshow / monitor / snapshot / presetsDefault show.
levelsobjectsnapshot: your own levels per bus (0-2, 1 unchanged) and lowpass (Hz), e.g. {"music": 0.3, "lowpass": 900}.
mutelist of sfx / music / ui / voice / ambiencemonitor: buses to silence.
namestringsnapshot: a preset name, or "" to blend back to the scene's mix.
secondsnumbersnapshot: blend time (default 0.5).
sololist of sfx / music / ui / voice / ambiencemonitor: only these buses play ([] for all).

audio_place_emitter

Place a first-party synthesized ambience or sound emitter. Follows real position, walls and moving doors; one undoable entity. No sound packs or file downloads.

ArgumentTypeWhat it does
gainnumber
loopboolean
name requiredstring
pitchnumber
position requiredlist of number
rangenumber
sound requiredshot / shot_heavy / hit / hurt / pickup / explosion / alarm / footstep …
spatialboolean

audio_preview

Render one synthesized sound offline and measure it (peak, RMS, clipping, brightness, length, transient sharpness): a gun shot by class at a distance indoors or out, an explosion, a reload part, a casing on a surface, a footstep by surface and speed, a music track or an ambience bed. Optionally writes a WAV to listen to. Uses the scene's gun_sound tuning.

ArgumentTypeWhat it does
classpistol / revolver / smg / rifle / lmg / shotgun / sniper / launcher …
distancenumber
kindshot / explosion / part / casing / footstep / music / ambience
namestring
room_sizenumber
rt60number
speednumber
suppressedboolean
surfacestring
wavstringAbsolute path for a WAV copy (optional).

audio_set_music_rules

Attach or edit a procedural horror/action score director on an existing entity. Maps live AI awareness to calm/tension/chase stems; crossfades and stingers are synthesized and undoable.

ArgumentTypeWhat it does
chaselist of patrol / suspicious / search / chase / return / stunned / asleep
crossfadenumber
enabledboolean
entity requiredstringAn existing entity name or #id.
gainnumber
releasenumber
stingersboolean
stylehorror / action
suspiciouslist of patrol / suspicious / search / chase / return / stunned / asleep
watch_tagstring

audio_set_surface

Set an object's synthesized acoustic material, preserving its visual material and all other components. Undoable.

ArgumentTypeWhat it does
agenumber
entity requiredstringAn existing entity name or #id.
material requiredoak / tile / carpet / concrete / metal / grass / gravel / water …

rhythm_chart

Make a rhythm game's note chart from a song: finds its tempo and beats (or uses the track's own), places a note on every drum hit or note start the difficulty allows, gives each a lane from low sounds to high (repeated sounds walk a riff, never one key four times running), and makes holds where a sound rings on. Writes Scripts/data/<song>_<difficulty>.json for the rhythm kit (add_kit rhythm; kits/highway.js draws it). difficulty "all" writes easy, normal, hard and expert.

ArgumentTypeWhat it does
bpmnumberThe tempo, when you know it exactly. Otherwise it is found (near the bpm the track's sidecar asked for, when it has one).
difficultyeasy / normal / hard / expert / alleasy: on the beat, the strongest sounds, no holds. normal: eighth notes. hard: sixteenths. expert: every onset. Default normal.
lanesnumberKeys across (default 4: the kit's D F J K).
namestringThe chart's file name in Scripts/data (default <song>_<difficulty>.json).
song requiredstringThe track: a name in Assets/Sounds/Music (or Assets/Sounds), .wav, .ogg or .mp3, extension optional.

sound_match

Compare a generated/captured WAV with a real reference WAV: relative spectrum, onset-aligned envelope, duration and clipping. Explicit isolated impulse-response pairs also compare measured reverb time. Read-only, local, no downloads, no reference samples copied into game audio. Scores are descriptor similarity, not a percentage of realism. HTTP calls return a job_id immediately; read progress and the final result with tool_job instead of repeating the tool.

ArgumentTypeWhat it does
candidate requiredstringProject-relative generated/captured WAV, at most 30 seconds.
duration_max_rationumber
envelope_max_errornumber
kindsound / impulseResponseDefault sound. impulseResponse requires both files to be known isolated IRs; ordinary effects cannot measure a room's decay.
reference requiredstringProject-relative WAV, preferably under Assets/References. Recording provenance should be kept beside it.
reverb_max_relative_errornumber
spectrum_max_dbnumber
Arcwright Beta 2 (0.4.0) · generated from the engine source (25e375c86)Something wrong or missing? Tell us
Download Arcwright free