{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "voiceover-pack-female-go",
  "type": "registry:block",
  "title": "Voiceover Pack Female Go",
  "author": "Kenney <https://kenney.nl>",
  "description": "A female voice exclaims \"Go!\", perfect for initiating an action, starting a race, or prompting immediate user input.",
  "files": [
    {
      "path": "registry/soundcn/sounds/voiceover-pack-female-go/voiceover-pack-female-go.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const voiceoverPackFemaleGoSound: SoundAsset = {\n  name: \"voiceover-pack-female-go\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.597,\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": 0.597,
    "format": "mp3",
    "sizeKb": 5,
    "license": "CC0",
    "tags": [
      "voiceover",
      "pack",
      "female",
      "go"
    ],
    "keywords": [
      "voiceover",
      "female",
      "go",
      "start",
      "beginning",
      "launch",
      "action",
      "race",
      "prompt",
      "initiate",
      "begin",
      "ready",
      "energetic",
      "quick",
      "immediate",
      "command",
      "game",
      "instructional",
      "short",
      "decisive",
      "urgent"
    ]
  },
  "categories": [
    "voiceover"
  ]
}