[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6FCRTMC286BMNR7SJS7FJ2S":3,"skill-same:01M6FCRTMC286BMNR7SJS7FJ2S":55},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":15,"categories":16,"keywords":25,"publishedAt":28,"linkOnly":29,"markdownContent":30,"markdownBody":30,"frontMatter":31,"refName":32,"commitSha":33,"skillDirectory":34,"forksCount":35,"repositoryHtmlUrl":36,"repositoryHomepageUrl":37,"ownerHtmlUrl":38,"ownerBlogUrl":6,"ownerDescription":39,"updatedAt":40,"install":41,"resources":54},"01M6FCRTMC286BMNR7SJS7FJ2S","audio-producer-agent",null,"ComeOnOliver\u002Fskillshub","ComeOnOliver","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F43215937?v=4","01M6E5JNFECJAAVFE0W7SMWWD2","Haoran Shu","01M6E5JNNDQS7AJZDYFQ8TPZCK",66,"MIT","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fmichaelboeding\u002Fskills\u002Faudio-producer-agent\u002FSKILL.md",[17,22],{"categoryNo":18,"categoryName":19,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},"01JBSEEDCAT000000000000023","Skill与智能体开发",[26,27],"Audio","audio producer agent","2026-11-10 10:12:30",false,"# Audio Producer\n\nCreate single-speaker audio content: audiobooks, voiceovers, narrations, jingles, and more.\n\n**This is an orchestrator skill** that combines:\n- Text-to-speech \u002F narration (Gemini TTS, ElevenLabs, or OpenAI TTS)\n- Background music \u002F ambient audio (Lyria)\n- Audio assembly (FFmpeg via media-utils)\n\n**For dialogues and conversations**, use `podcast-producer` instead.\n\n## What You Can Create\n\n| Type | Example |\n|------|---------|\n| Audiobook | Long-form narration of text\u002Fchapters |\n| Voiceover | Narration for video, presentation, or slideshow |\n| Audio ad | Radio or podcast advertisement |\n| Jingle | Short brand music with optional tagline |\n| Sonic logo | Audio brand identifier (few seconds) |\n| Audio guide | Museum\u002Ftour style narration |\n| Meditation | Guided relaxation with ambient audio |\n| Soundscape | Ambient audio environment |\n\n## Prerequisites\n\n- `GOOGLE_API_KEY` - For Gemini TTS (voice) and Lyria (music)\n- FFmpeg installed: `brew install ffmpeg`\n\n## Workflow\n\n### Step 1: Gather Requirements (REQUIRED)\n\n⚠️ **DO NOT skip this step. Use interactive questioning — ask ONE question at a time.**\n\n#### Question Flow\n\n⚠️ **Use the `AskUserQuestion` tool for each question below.** Do not just print questions in your response — use the tool to create interactive prompts with the options shown.\n\n**Q1: Type**\n> \"I'll create that audio for you! First — **what type of audio?**\n> \n> - Audiobook \u002F narration\n> - Voiceover (for video\u002Fpresentation)\n> - Audio ad \u002F radio ad\n> - Jingle \u002F sonic logo\n> - Meditation \u002F guided audio\n> - Or describe your own\"\n\n*Wait for response.*\n\n**Q2: Content**\n> \"What's the **text\u002Fcontent** to speak?\n> \n> - Paste the text here\n> - Or describe what you need and I'll write it\"\n\n*Wait for response.*\n\n**Q3: Voice**\n> \"What **voice style**?\n> \n> - Professional\n> - Warm\u002Ffriendly\n> - Energetic\n> - Calm\u002Fsoothing\n> - Dramatic\n> - Or describe your own\"\n\n*Wait for response.*\n\n**Q4: Music**\n> \"Do you want **background music**?\n> \n> - Yes — describe the style (ambient, upbeat, cinematic, etc.)\n> - No — voice only\"\n\n*Wait for response.*\n\n**Q5: Duration**\n> \"What's the **target duration**?\n> \n> - Let it be natural length\n> - Or specify (e.g., 30 seconds, 2 minutes)\"\n\n*Wait for response.*\n\n#### Quick Reference\n\n| Question | Determines |\n|----------|------------|\n| Type | Processing approach and output format |\n| Content | TTS input text |\n| Voice | Voice selection and style parameters |\n| Music | Whether to generate and mix music |\n| Duration | Pacing and content length |\n\n---\n\n### Step 2: Prepare the Content\n\n**For narration\u002Fvoiceover:**\n- Optimize text for speech (spell out numbers if needed)\n- Add natural pause points (commas, periods)\n- Break long content into chunks if > 32k tokens\n\n**For jingles\u002Faudio ads:**\n- Write the tagline\u002Fcopy\n- Determine music style\n- Plan structure: music intro → voice → music outro\n\n**For audiobooks:**\n- Split into chapters\n- Consider different voice styles for different sections\n- Plan ambient music (subtle, low volume)\n\n---\n\n### Step 3: Generate Assets\n\n#### Type: Voiceover \u002F Narration\n\n**Generate narration (Gemini TTS):**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text \"Your narration text here...\" \\\n  --voice Charon \\\n  --style \"Professional, measured pace, warm and authoritative\"\n```\n\n**Generate background music if needed (Lyria):**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"subtle ambient, corporate, unobtrusive, background\" \\\n  --duration 120 \\\n  --density 0.2 \\\n  --brightness 0.4\n```\n\n**Mix voice with music:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmedia-utils\u002Fscripts\u002Faudio_mix.py \\\n  --voice narration.wav \\\n  --music background.wav \\\n  --music-volume 0.15 \\\n  --fade-in 2 \\\n  --fade-out 3 \\\n  -o final_voiceover.mp3\n```\n\n---\n\n#### Type: Audio Ad \u002F Radio Spot\n\n**Structure: 30-second radio ad**\n```\n0-3s:   Music hook (attention grabber)\n3-25s:  Voice with music bed underneath\n25-30s: Music + tagline + CTA\n```\n\n**Generate energetic music:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"upbeat, energetic, advertising, catchy, radio jingle\" \\\n  --duration 35 \\\n  --bpm 120\n```\n\n**Generate voice with style:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text \"Tired of ordinary coffee? Wake up to extraordinary! Premium beans, perfect roast, delivered fresh. Visit BestCoffee.com today and get 20% off your first order!\" \\\n  --voice Puck \\\n  --style \"Energetic, radio announcer style, enthusiastic, clear call to action\"\n```\n\n**Mix and assemble:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmedia-utils\u002Fscripts\u002Faudio_mix.py \\\n  --voice ad_voice.wav \\\n  --music ad_music.wav \\\n  --music-volume 0.35 \\\n  --fade-in 1 \\\n  --fade-out 2 \\\n  -o radio_ad.mp3\n```\n\n---\n\n#### Type: Jingle \u002F Sonic Logo\n\n**For jingle with tagline:**\n\n**Generate catchy music:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"catchy jingle, memorable, brand audio, upbeat, major key\" \\\n  --duration 10 \\\n  --bpm 110 \\\n  --scale C\n```\n\n**Generate tagline:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text \"TechCorp. Innovation for tomorrow.\" \\\n  --voice Kore \\\n  --style \"Confident, aspirational, slight pause between company name and tagline\"\n```\n\n**Mix tagline over music:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmedia-utils\u002Fscripts\u002Faudio_mix.py \\\n  --voice tagline.wav \\\n  --music jingle.wav \\\n  --music-volume 0.5 \\\n  -o brand_jingle.mp3\n```\n\n**For sonic logo (music only):**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"sonic logo, 3 seconds, memorable, brand identifier, simple, distinctive\" \\\n  --duration 5 \\\n  --bpm 100\n```\n\n---\n\n#### Type: Audiobook\n\n**Process chapters:**\n\n```bash\n# Chapter 1\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text-file chapter1.txt \\\n  --voice Algieba \\\n  --style \"Audiobook narrator, measured pace, engaging storytelling\" \\\n  -o chapter1.wav\n\n# Chapter 2\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text-file chapter2.txt \\\n  --voice Algieba \\\n  -o chapter2.wav\n```\n\n**Optional: Add subtle ambient music:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"ambient, subtle, reading music, calm, unobtrusive, soft piano\" \\\n  --duration 600 \\\n  --density 0.1 \\\n  --brightness 0.3\n```\n\n**Concatenate chapters:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmedia-utils\u002Fscripts\u002Faudio_concat.py \\\n  -i chapter1.wav chapter2.wav chapter3.wav \\\n  --crossfade 0.5 \\\n  -o audiobook.mp3\n```\n\n---\n\n#### Type: Meditation \u002F Relaxation Audio\n\n**Generate calming narration:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fvoice-generation\u002Fscripts\u002Fgemini_tts.py \\\n  --text \"Close your eyes. Take a deep breath in... and slowly release...\" \\\n  --voice Achernar \\\n  --style \"Calm, soothing, slow pace, relaxing, gentle, meditation guide\"\n```\n\n**Generate ambient soundscape:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmusic-generation\u002Fscripts\u002Flyria.py \\\n  --prompt \"ambient, meditation, peaceful, nature sounds, gentle, calming\" \\\n  --duration 300 \\\n  --density 0.1 \\\n  --brightness 0.6\n```\n\n**Mix with high ambient volume:**\n```bash\npython3 ${CLAUDE_PLUGIN_ROOT}\u002Fskills\u002Fmedia-utils\u002Fscripts\u002Faudio_mix.py \\\n  --voice meditation_guide.wav \\\n  --music ambient.wav \\\n  --music-volume 0.5 \\\n  -o meditation_session.mp3\n```\n\n---\n\n### Step 4: Deliver the Result\n\n**Example delivery:**\n\n\"✅ Your audio ad is ready!\n\n**File:** `coffee_radio_ad.mp3` (30s)\n\n**What I created:**\n- Energetic voiceover (Puck voice, radio announcer style)\n- Upbeat background music (120 BPM)\n- Music ducks under voice, fades out at end\n\n**Structure:**\n- 0-3s: Music hook\n- 3-25s: Voice + music bed\n- 25-30s: Music swell + tagline\n\n**Want me to:**\n- Try a different voice?\n- Change the music energy?\n- Adjust timing?\"\n\n---\n\n## Voice Recommendations by Type\n\n| Audio Type | Recommended Voices | Style Direction |\n|------------|-------------------|-----------------|\n| Corporate voiceover | Charon, Orus | Professional, measured |\n| Audiobook | Algieba, Despina | Smooth, engaging |\n| Radio ad | Puck, Laomedeia | Energetic, upbeat |\n| Meditation | Achernar, Sulafat | Calm, soothing |\n| Jingle tagline | Kore, Alnilam | Confident, memorable |\n| Documentary | Gacrux, Rasalgethi | Mature, authoritative |\n| Tutorial | Achird, Charon | Friendly, clear |\n\n## Music Recommendations by Type\n\n| Audio Type | Lyria Prompt | Settings |\n|------------|--------------|----------|\n| Corporate VO | \"subtle, professional, ambient\" | density: 0.2, brightness: 0.4 |\n| Radio ad | \"upbeat, energetic, catchy\" | bpm: 120, density: 0.6 |\n| Audiobook | \"soft, ambient, unobtrusive\" | density: 0.1, brightness: 0.3 |\n| Meditation | \"peaceful, ambient, nature\" | density: 0.1, brightness: 0.6 |\n| Jingle | \"catchy, memorable, brand\" | bpm: 110, density: 0.5 |\n\n---\n\n## Limitations\n\n- **Gemini TTS max**: 32k tokens per request (split longer content)\n- **Lyria instrumental only**: No vocals in background music\n- **Processing time**: Long audiobooks take time to generate\n\n## Example Prompts\n\n**Voiceover:**\n> \"Create a professional voiceover for this script: '...' Add subtle corporate background music.\"\n\n**Audio ad:**\n> \"Create a 30-second radio ad for our coffee brand. Energetic, memorable, with catchy music. End with 'Visit BestCoffee.com'\"\n\n**Jingle:**\n> \"Create a 5-second jingle for TechCorp. Modern, memorable, with the tagline 'Innovation for tomorrow'\"\n\n**Audiobook:**\n> \"Convert this text into an audiobook chapter. Use a warm, engaging narrator voice. Add subtle ambient music.\"\n\n**Meditation:**\n> \"Create a 5-minute guided meditation. Calm, soothing voice with peaceful ambient background.\"\n",{},"main","def8531e65114c0fca8fb8551c1871ee0eed705c","skills\u002Fmichaelboeding\u002Fskills\u002Faudio-producer-agent",24,"https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub","https:\u002F\u002Fskillshub.wtf","https:\u002F\u002Fgithub.com\u002FComeOnOliver","AI & Blockchain Engineer\r\n","2026-06-24 22:07:19",{"source":7,"skillName":5,"commands":42,"prompt":52,"zipAvailable":53},[43,46,49],{"tool":44,"command":45},"npx","npx skills add ComeOnOliver\u002Fskillshub --skill audio-producer-agent",{"tool":47,"command":48},"bunx","bunx skills add ComeOnOliver\u002Fskillshub --skill audio-producer-agent",{"tool":50,"command":51},"pnpm","pnpm dlx skills add ComeOnOliver\u002Fskillshub --skill audio-producer-agent","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fmichaelboeding\u002Fskills\u002Faudio-producer-agent\u002FSKILL.md",true,[],[56,66,76,85,91,98],{"skillNo":57,"name":58,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":59,"categories":60,"keywords":62,"publishedAt":28},"01M6FKJN13GMG4KY57J3QD8GY5","model-hierarchy-skill","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzscole\u002Fmodel-hierarchy-skill\u002Fmodel-hierarchy-skill\u002FSKILL.md",[61],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[63,64,65],"model","model hierarchy","model hierarchy skill",{"skillNo":67,"name":68,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":69,"categories":70,"keywords":72,"publishedAt":28},"01M6FKJJJ6GCAMR4PPPRD12M5X","zoom-mcp","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-mcp\u002FSKILL.md",[71],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[73,74,75],"MCP","zoom","zoom mcp",{"skillNo":77,"name":78,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":79,"categories":80,"keywords":81,"publishedAt":28},"01M6FKJE3KYT3KPEZMEEHYKA6K","zoom-apps-sdk","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fzoom-apps-sdk\u002FSKILL.md",[],[82,83,84,74],"sdk","zoom apps sdk","apps",{"skillNo":86,"name":87,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":88,"categories":89,"keywords":90,"publishedAt":28},"01M6FKJ9EDH9Q5VWDF8HAJRSP0","windows","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwindows\u002FSKILL.md",[],[87],{"skillNo":92,"name":93,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":94,"categories":95,"keywords":97,"publishedAt":28},"01M6FKJ666BEEFC3AE9GJ72Q93","whiteboard","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwhiteboard\u002FSKILL.md",[96],{"categoryNo":23,"categoryName":24,"taxonomyType":20,"taxonomyTypeDesc":21},[93],{"skillNo":99,"name":100,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":11,"repositoryNo":12,"starsCount":13,"licenseSpdxId":14,"licenseFileUrl":6,"sourceHtmlUrl":101,"categories":102,"keywords":103,"publishedAt":28},"01M6FKJ21WFCDGTJQ2Q91T9DVW","websockets","https:\u002F\u002Fgithub.com\u002FComeOnOliver\u002Fskillshub\u002Fblob\u002Fmain\u002Fskills\u002Fzoom\u002Fskills\u002Fwebsockets\u002FSKILL.md",[],[100]]