{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "voiceover-pack-female-6",
  "type": "registry:block",
  "title": "Voiceover Pack Female 6",
  "author": "Kenney <https://kenney.nl>",
  "description": "A clear, professional female voice delivering a short spoken phrase, ideal for game prompts, tutorial instructions, or informational alerts in a UI.",
  "files": [
    {
      "path": "registry/soundcn/sounds/voiceover-pack-female-6/voiceover-pack-female-6.ts",
      "content": "import type { SoundAsset } from \"@/lib/sound-types\";\n\nexport const voiceoverPackFemale6Sound: SoundAsset = {\n  name: \"voiceover-pack-female-6\",\n  dataUri: \"data:audio/mpeg;base64,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\",\n  duration: 0.695,\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.695,
    "format": "mp3",
    "sizeKb": 6,
    "license": "CC0",
    "tags": [
      "voiceover",
      "pack",
      "female",
      "6"
    ],
    "keywords": [
      "voiceover",
      "female",
      "spoken",
      "speech",
      "dialogue",
      "narration",
      "ui",
      "game",
      "prompt",
      "instruction",
      "tutorial",
      "alert",
      "confirmation",
      "announcement",
      "informative",
      "professional",
      "clear",
      "human",
      "feedback"
    ]
  },
  "categories": [
    "voiceover"
  ]
}