{
  "schema": "aprime-audio-manifest/1",
  "note": "All files assetgen-generated (ElevenLabs sfx lane / Suno music lane), Opus stereo. No oscillator/synth fallback: missing file => silent + sfx-missing event. BGM state machine mirrors the reference: gameplay is music-free (sfx only); the only music cue is a one-shot level-clear jingle.",
  "sfx": {
    "slide": "audio/slide.ogg",
    "clear": "audio/clear.ogg",
    "tap": "audio/tap.ogg",
    "win": "audio/win.ogg",
    "fail": "audio/fail.ogg",
    "rocket": "audio/rocket.ogg"
  },
  "gain": {
    "slide": 0.7,
    "clear": 0.9,
    "tap": 0.6,
    "win": 0.9,
    "fail": 0.8,
    "rocket": 0.9
  },
  "music": {
    "file": "audio/music.ogg",
    "gain": 0.6,
    "loop": false,
    "trigger": "level_win",
    "duration_s": 7.0,
    "derived_from_competitor": true,
    "origin": "VU9mQ_gleN8 (Usman's Gaming 'Block Out! Levels 1-20') level-clear moments: golden/bgm-VU9-t030/audio.flac 4.0-8.5 s, bgm-VU9-t090/audio.flac 4.5-10.0 s — reference plays a 4-7 s jingle only on clear, gameplay is otherwise music-free (S-sound spike 2026-09-03: 17 loud runs all at clear timestamps, cross-level chroma cos 0.98)",
    "gen": "assetgen kind=music seconds=7 (Suno V5_5), trimmed to 7.0 s + 0.6 s fade-out via ffmpeg, Opus 96k stereo; melodic brief = pitch-class sequence transcribed from the reference jingle (C-D-G / C-G-B / C-Eb-E / D-C-Eb, ~128 bpm, C minor→major)"
  },
  "events": [
    {
      "event": "block slides (any distance)",
      "sfx": "slide"
    },
    {
      "event": "block exits through gate",
      "sfx": "clear"
    },
    {
      "event": "button tap / blocked slide bump / booster tap",
      "sfx": "tap"
    },
    {
      "event": "+time bought",
      "sfx": "win"
    },
    {
      "event": "timer hits 0",
      "sfx": "fail"
    },
    {
      "event": "rocket booster blasts a block",
      "sfx": "rocket"
    },
    {
      "event": "level cleared — one-shot level-clear jingle (no continuous gameplay BGM, as in the reference)",
      "sfx": "music"
    }
  ]
}
