{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "voiceover-pack-female-war-target-engaged",
  "type": "registry:block",
  "title": "Voiceover Pack Female War Target Engaged",
  "author": "Kenney <https://kenney.nl>",
  "description": "A female voice announces \"Target engaged\", suitable for indicating that an enemy target has been identified and is being attacked in a combat game.",
  "files": [
    {
      "path": "registry/soundcn/sounds/voiceover-pack-female-war-target-engaged/voiceover-pack-female-war-target-engaged.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const voiceoverPackFemaleWarTargetEngagedSound: SoundAsset = {\n  name: \"voiceover-pack-female-war-target-engaged\",\n  dataUri: \"data:audio/mpeg;base64,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TjT5iXcCqhM3Oj4tnpglrSp+0cgCv4fVxTbc/O86l+p4CNVaqoqZUSQAAAUIdSMIxyOICg9ZWHBgcPJjo+bgu0vjcQvmkVIrlYNfsQU2WKKawWcSPKwVMMDqxeKW//tSxMcASfxdZ8ewYdF3Hy15lgmaJS4lalys71KHhcn7/ZDrzq9r+sZSzfEq7vFIJoBj4C0TsnFZsKQiWGRdKkZbPRJRCUZYNAKUGMgk+/w4KwVOjXg0MPAzkpVyIh1PxNLC4KPBU0BeyVd3lXCIK9bCYdnvqe563+7pC0t2YIYo2lA0geJItOxxumMRSTjA5bgjXSydHawyWR91tAoCILTqYxWVwoIoZ+x+YT8cCfw6K/MXRjZmha83hTFISAVR4DHojW0E4sFA4Vdb9s2z0/3/+1LEzgAKTFNp7DBnAU0KbDjzCZCgAUhAOjcxo9vW2081dbRdetw4lRYBwpLtW/nNVORyqeu1bJpGTkv2JJfyi2zOOCpb5nmkUerGehS8xgJ+urcxkMY1St8ql6OpTQwrUCpYGn/iJR4hhpYdw6VO5VVMQU1FMy4xMDBVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQAAPZjSSP/7UsTZAAoMbVXmBHABPonpuPYMME+WS+XyrP+yg5Ucj//RVT1RV//6oi/VP9V/3VNUVEVDt///////sYqA1hquRFaaaaKllqalTEFNRTMuMTAwVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV//tSxOcASszbNIYUVAFvoyRgwwn4VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVX/+1LEvwPHUWrbQAxRKAAANIAAAARVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVQ==\",\n  duration: 1.075,\n  format: \"mp3\",\n  license: \"CC0\",\n  author: \"Kenney\",\n};\n",
      "type": "registry:lib"
    },
    {
      "path": "registry/soundcn/lib/sound-types.ts",
      "content": "export interface SoundAsset {\r\n  /** Unique identifier for the sound */\r\n  name: string;\r\n  /** Base64-encoded data URI (data:audio/mpeg;base64,...) */\r\n  dataUri: string;\r\n  /** Duration in seconds */\r\n  duration: number;\r\n  /** Audio format */\r\n  format: \"mp3\" | \"wav\" | \"ogg\";\r\n  /** License identifier */\r\n  license: \"CC0\" | \"OGA-BY\" | \"MIT\";\r\n  /** Original author/creator */\r\n  author: string;\r\n}\r\n\r\nexport interface UseSoundOptions {\r\n  /** Volume level from 0 to 1. Default: 1 */\r\n  volume?: number;\r\n  /** Playback speed multiplier. Default: 1 */\r\n  playbackRate?: number;\r\n  /** If true, calling play() stops current playback first. Default: false */\r\n  interrupt?: boolean;\r\n  /** If false, play() does nothing. Useful for user preferences. Default: true */\r\n  soundEnabled?: boolean;\r\n  /** Called when playback starts */\r\n  onPlay?: () => void;\r\n  /** Called when playback ends naturally */\r\n  onEnd?: () => void;\r\n  /** Called when pause() is called */\r\n  onPause?: () => void;\r\n  /** Called when stop() is called */\r\n  onStop?: () => void;\r\n}\r\n\r\nexport type PlayFunction = (overrides?: {\r\n  volume?: number;\r\n  playbackRate?: number;\r\n}) => void;\r\n\r\nexport interface SoundControls {\r\n  stop: () => void;\r\n  pause: () => void;\r\n  isPlaying: boolean;\r\n  duration: number | null;\r\n  sound: SoundAsset;\r\n}\r\n\r\nexport type UseSoundReturn = readonly [PlayFunction, SoundControls];\r\n",
      "type": "registry:lib"
    },
    {
      "path": "registry/soundcn/lib/sound-engine.ts",
      "content": "let audioContext: AudioContext | null = null;\nconst bufferCache = new Map<string, AudioBuffer>();\n\nexport function getAudioContext(): AudioContext {\n  if (!audioContext) {\n    audioContext = new AudioContext();\n  }\n  return audioContext;\n}\n\nexport async function decodeAudioData(dataUri: string): Promise<AudioBuffer> {\n  const cached = bufferCache.get(dataUri);\n  if (cached) return cached;\n\n  const ctx = getAudioContext();\n  const base64 = dataUri.split(\",\")[1];\n  const binaryString = atob(base64);\n  const bytes = new Uint8Array(binaryString.length);\n  for (let i = 0; i < binaryString.length; i++) {\n    bytes[i] = binaryString.charCodeAt(i);\n  }\n\n  const audioBuffer = await ctx.decodeAudioData(bytes.buffer.slice(0));\n  bufferCache.set(dataUri, audioBuffer);\n  return audioBuffer;\n}\n\nexport interface PlaySoundOptions {\n  volume?: number;\n  playbackRate?: number;\n  onEnd?: () => void;\n}\n\nexport interface SoundPlayback {\n  stop: () => void;\n}\n\nexport async function playSound(\n  dataUri: string,\n  options: PlaySoundOptions = {}\n): Promise<SoundPlayback> {\n  const { volume = 1, playbackRate = 1, onEnd } = options;\n  const ctx = getAudioContext();\n  if (ctx.state === \"suspended\") {\n    await ctx.resume();\n  }\n\n  const buffer = await decodeAudioData(dataUri);\n  const source = ctx.createBufferSource();\n  const gain = ctx.createGain();\n\n  source.buffer = buffer;\n  source.playbackRate.value = playbackRate;\n  gain.gain.value = volume;\n\n  source.connect(gain);\n  gain.connect(ctx.destination);\n\n  source.onended = () => {\n    onEnd?.();\n  };\n\n  source.start(0);\n\n  return {\n    stop: () => {\n      try {\n        source.stop();\n      } catch {\n        // No-op if already stopped.\n      }\n    },\n  };\n}\n",
      "type": "registry:lib"
    }
  ],
  "meta": {
    "duration": 1.075,
    "format": "mp3",
    "sizeKb": 9,
    "license": "CC0",
    "tags": [
      "voiceover",
      "pack",
      "female",
      "war",
      "target",
      "engaged"
    ],
    "keywords": [
      "voiceover",
      "female",
      "war",
      "target engaged",
      "attacking",
      "combat",
      "enemy",
      "identified",
      "tactical",
      "military",
      "game",
      "action",
      "instruction",
      "engagement",
      "offensive",
      "battle",
      "pursuit",
      "focused",
      "threat",
      "attacking",
      "alert"
    ]
  },
  "categories": [
    "voiceover"
  ]
}