{"owner":"babysor","repo":"MockingBird","hasSkills":true,"totalSkillsCount":1,"totalTokensCount":1205,"categories":["anthropic-skill"],"hasMcp":false,"mcpConfig":null,"found":["skills/speak/SKILL.md"],"skills":{"skills/speak/SKILL.md":"---\nname: speak\ndescription: Convert text into speech with Kokoro or Noiz, including simple and timeline-aligned modes.\n---\n\n# speak\n\nConvert any text into speech audio. Supports two backends (Kokoro local, Noiz cloud), two modes (simple or timeline-accurate), and per-segment voice control.\n\n## Triggers\n\n- text to speech / speak / say / tts\n- voice clone / dubbing \n- epub to audio / srt to audio / convert to audio\n\n## Simple Mode — text to audio\n\n```bash\n# Kokoro (auto-detected when installed)\nbash skills/speak/scripts/tts.sh speak -t \"Hello world\" -v af_sarah -o hello.wav\nbash skills/speak/scripts/tts.sh speak -f article.txt -v zf_xiaoni --lang cmn -o out.mp3 --format mp3\n\n# Noiz (auto-detected when NOIZ_API_KEY is set, or force with --backend noiz)\n# If --voice-id is omitted, the script prints 5 available built-in voices and exits.\n# Pick one from the output and re-run with --voice-id <id>.\nbash skills/speak/scripts/tts.sh speak -f input.txt --voice-id voice_abc --auto-emotion --emo '{\"Joy\":0.5}' -o out.wav\n\n# Noiz: optional --duration (float, seconds, range (0, 36]) for target audio length\nbash skills/speak/scripts/tts.sh speak -t \"Short line\" --voice-id voice_abc --duration 3.5 -o out.wav\n\n# Voice cloning (Noiz only — no voice-id needed, uses ref audio)\n# Use your own reference audio: local file path or URL (only when using Noiz).\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio ./ref.wav -o clone.wav\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio https://example.com/my_voice.wav -o clone.wav\n```\n\n## Timeline Mode — SRT to time-aligned audio\n\nFor precise per-segment timing (dubbing, subtitles, video narration).\n\n### Step 1: Get or create an SRT\n\nIf the user doesn't have one, generate from text:\n\n```bash\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt --cps 15 --gap 500\n```\n\n`--cps` = characters per second (default 4, good for Chinese; ~15 for English). The agent can also write SRT manually.\n\n### Step 2: Create a voice map\n\nJSON file controlling default + per-segment voice settings. `segments` keys support single index `\"3\"` or range `\"5-8\"`.\n\nKokoro voice map:\n\n```json\n{\n  \"default\": { \"voice\": \"zf_xiaoni\", \"lang\": \"cmn\" },\n  \"segments\": {\n    \"1\": { \"voice\": \"zm_yunxi\" },\n    \"5-8\": { \"voice\": \"af_sarah\", \"lang\": \"en-us\", \"speed\": 0.9 }\n  }\n}\n```\n\nNoiz voice map (adds `emo`, `reference_audio` support). `reference_audio` can be a local path or a URL (user’s own audio; Noiz only):\n\n```json\n{\n  \"default\": { \"voice_id\": \"voice_123\", \"target_lang\": \"zh\" },\n  \"segments\": {\n    \"1\": { \"voice_id\": \"voice_host\", \"emo\": { \"Joy\": 0.6 } },\n    \"2-4\": { \"reference_audio\": \"./refs/guest.wav\" }\n  }\n}\n```\n\n**Dynamic Reference Audio Slicing**:\nIf you are translating or dubbing a video and want each sentence to automatically use the audio from the original video at the exact same timestamp as its reference audio, use the `--ref-audio-track` argument instead of setting `reference_audio` in the map:\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --ref-audio-track original_video.mp4 -o output.wav\n```\n\nSee `examples/` for full samples.\n\n### Step 3: Render\n\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json -o output.wav\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --backend noiz --auto-emotion -o output.wav\n```\n\n## When to Choose Which\n\n| Need | Recommended |\n|------|-------------|\n| Just read text aloud, no fuss | Kokoro (default) |\n| EPUB/PDF audiobook with chapters | Kokoro (native support) |\n| Voice blending (`\"v1:60,v2:40\"`) | Kokoro |\n| Voice cloning from reference audio | Noiz |\n| Emotion control (`emo` param) | Noiz |\n| Exact server-side duration per segment | Noiz |\n\n> When the user needs emotion control + voice cloning + precise duration together, Noiz is the only backend that supports all three.\n\n## Requirements\n\n- `ffmpeg` in PATH (timeline mode)\n- Noiz: get your API key at [developers.noiz.ai](https://developers.noiz.ai), then run `bash skills/speak/scripts/tts.sh config --set-api-key YOUR_KEY`\n- Kokoro: if already installed, pass `--backend kokoro` to use the local backend\n\nFor backend details and full argument reference, see [reference.md](reference.md).\n"},"files":{"skills/speak/SKILL.md":"---\nname: speak\ndescription: Convert text into speech with Kokoro or Noiz, including simple and timeline-aligned modes.\n---\n\n# speak\n\nConvert any text into speech audio. Supports two backends (Kokoro local, Noiz cloud), two modes (simple or timeline-accurate), and per-segment voice control.\n\n## Triggers\n\n- text to speech / speak / say / tts\n- voice clone / dubbing \n- epub to audio / srt to audio / convert to audio\n\n## Simple Mode — text to audio\n\n```bash\n# Kokoro (auto-detected when installed)\nbash skills/speak/scripts/tts.sh speak -t \"Hello world\" -v af_sarah -o hello.wav\nbash skills/speak/scripts/tts.sh speak -f article.txt -v zf_xiaoni --lang cmn -o out.mp3 --format mp3\n\n# Noiz (auto-detected when NOIZ_API_KEY is set, or force with --backend noiz)\n# If --voice-id is omitted, the script prints 5 available built-in voices and exits.\n# Pick one from the output and re-run with --voice-id <id>.\nbash skills/speak/scripts/tts.sh speak -f input.txt --voice-id voice_abc --auto-emotion --emo '{\"Joy\":0.5}' -o out.wav\n\n# Noiz: optional --duration (float, seconds, range (0, 36]) for target audio length\nbash skills/speak/scripts/tts.sh speak -t \"Short line\" --voice-id voice_abc --duration 3.5 -o out.wav\n\n# Voice cloning (Noiz only — no voice-id needed, uses ref audio)\n# Use your own reference audio: local file path or URL (only when using Noiz).\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio ./ref.wav -o clone.wav\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio https://example.com/my_voice.wav -o clone.wav\n```\n\n## Timeline Mode — SRT to time-aligned audio\n\nFor precise per-segment timing (dubbing, subtitles, video narration).\n\n### Step 1: Get or create an SRT\n\nIf the user doesn't have one, generate from text:\n\n```bash\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt --cps 15 --gap 500\n```\n\n`--cps` = characters per second (default 4, good for Chinese; ~15 for English). The agent can also write SRT manually.\n\n### Step 2: Create a voice map\n\nJSON file controlling default + per-segment voice settings. `segments` keys support single index `\"3\"` or range `\"5-8\"`.\n\nKokoro voice map:\n\n```json\n{\n  \"default\": { \"voice\": \"zf_xiaoni\", \"lang\": \"cmn\" },\n  \"segments\": {\n    \"1\": { \"voice\": \"zm_yunxi\" },\n    \"5-8\": { \"voice\": \"af_sarah\", \"lang\": \"en-us\", \"speed\": 0.9 }\n  }\n}\n```\n\nNoiz voice map (adds `emo`, `reference_audio` support). `reference_audio` can be a local path or a URL (user’s own audio; Noiz only):\n\n```json\n{\n  \"default\": { \"voice_id\": \"voice_123\", \"target_lang\": \"zh\" },\n  \"segments\": {\n    \"1\": { \"voice_id\": \"voice_host\", \"emo\": { \"Joy\": 0.6 } },\n    \"2-4\": { \"reference_audio\": \"./refs/guest.wav\" }\n  }\n}\n```\n\n**Dynamic Reference Audio Slicing**:\nIf you are translating or dubbing a video and want each sentence to automatically use the audio from the original video at the exact same timestamp as its reference audio, use the `--ref-audio-track` argument instead of setting `reference_audio` in the map:\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --ref-audio-track original_video.mp4 -o output.wav\n```\n\nSee `examples/` for full samples.\n\n### Step 3: Render\n\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json -o output.wav\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --backend noiz --auto-emotion -o output.wav\n```\n\n## When to Choose Which\n\n| Need | Recommended |\n|------|-------------|\n| Just read text aloud, no fuss | Kokoro (default) |\n| EPUB/PDF audiobook with chapters | Kokoro (native support) |\n| Voice blending (`\"v1:60,v2:40\"`) | Kokoro |\n| Voice cloning from reference audio | Noiz |\n| Emotion control (`emo` param) | Noiz |\n| Exact server-side duration per segment | Noiz |\n\n> When the user needs emotion control + voice cloning + precise duration together, Noiz is the only backend that supports all three.\n\n## Requirements\n\n- `ffmpeg` in PATH (timeline mode)\n- Noiz: get your API key at [developers.noiz.ai](https://developers.noiz.ai), then run `bash skills/speak/scripts/tts.sh config --set-api-key YOUR_KEY`\n- Kokoro: if already installed, pass `--backend kokoro` to use the local backend\n\nFor backend details and full argument reference, see [reference.md](reference.md).\n"},"items":[{"name":"SKILL.md","path":"skills/speak/SKILL.md","rawUrl":"https://raw.githubusercontent.com/babysor/MockingBird/HEAD/skills/speak/SKILL.md","title":"speak","category":"anthropic-skill","format":"markdown","content":"---\nname: speak\ndescription: Convert text into speech with Kokoro or Noiz, including simple and timeline-aligned modes.\n---\n\n# speak\n\nConvert any text into speech audio. Supports two backends (Kokoro local, Noiz cloud), two modes (simple or timeline-accurate), and per-segment voice control.\n\n## Triggers\n\n- text to speech / speak / say / tts\n- voice clone / dubbing \n- epub to audio / srt to audio / convert to audio\n\n## Simple Mode — text to audio\n\n```bash\n# Kokoro (auto-detected when installed)\nbash skills/speak/scripts/tts.sh speak -t \"Hello world\" -v af_sarah -o hello.wav\nbash skills/speak/scripts/tts.sh speak -f article.txt -v zf_xiaoni --lang cmn -o out.mp3 --format mp3\n\n# Noiz (auto-detected when NOIZ_API_KEY is set, or force with --backend noiz)\n# If --voice-id is omitted, the script prints 5 available built-in voices and exits.\n# Pick one from the output and re-run with --voice-id <id>.\nbash skills/speak/scripts/tts.sh speak -f input.txt --voice-id voice_abc --auto-emotion --emo '{\"Joy\":0.5}' -o out.wav\n\n# Noiz: optional --duration (float, seconds, range (0, 36]) for target audio length\nbash skills/speak/scripts/tts.sh speak -t \"Short line\" --voice-id voice_abc --duration 3.5 -o out.wav\n\n# Voice cloning (Noiz only — no voice-id needed, uses ref audio)\n# Use your own reference audio: local file path or URL (only when using Noiz).\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio ./ref.wav -o clone.wav\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio https://example.com/my_voice.wav -o clone.wav\n```\n\n## Timeline Mode — SRT to time-aligned audio\n\nFor precise per-segment timing (dubbing, subtitles, video narration).\n\n### Step 1: Get or create an SRT\n\nIf the user doesn't have one, generate from text:\n\n```bash\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt --cps 15 --gap 500\n```\n\n`--cps` = characters per second (default 4, good for Chinese; ~15 for English). The agent can also write SRT manually.\n\n### Step 2: Create a voice map\n\nJSON file controlling default + per-segment voice settings. `segments` keys support single index `\"3\"` or range `\"5-8\"`.\n\nKokoro voice map:\n\n```json\n{\n  \"default\": { \"voice\": \"zf_xiaoni\", \"lang\": \"cmn\" },\n  \"segments\": {\n    \"1\": { \"voice\": \"zm_yunxi\" },\n    \"5-8\": { \"voice\": \"af_sarah\", \"lang\": \"en-us\", \"speed\": 0.9 }\n  }\n}\n```\n\nNoiz voice map (adds `emo`, `reference_audio` support). `reference_audio` can be a local path or a URL (user’s own audio; Noiz only):\n\n```json\n{\n  \"default\": { \"voice_id\": \"voice_123\", \"target_lang\": \"zh\" },\n  \"segments\": {\n    \"1\": { \"voice_id\": \"voice_host\", \"emo\": { \"Joy\": 0.6 } },\n    \"2-4\": { \"reference_audio\": \"./refs/guest.wav\" }\n  }\n}\n```\n\n**Dynamic Reference Audio Slicing**:\nIf you are translating or dubbing a video and want each sentence to automatically use the audio from the original video at the exact same timestamp as its reference audio, use the `--ref-audio-track` argument instead of setting `reference_audio` in the map:\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --ref-audio-track original_video.mp4 -o output.wav\n```\n\nSee `examples/` for full samples.\n\n### Step 3: Render\n\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json -o output.wav\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --backend noiz --auto-emotion -o output.wav\n```\n\n## When to Choose Which\n\n| Need | Recommended |\n|------|-------------|\n| Just read text aloud, no fuss | Kokoro (default) |\n| EPUB/PDF audiobook with chapters | Kokoro (native support) |\n| Voice blending (`\"v1:60,v2:40\"`) | Kokoro |\n| Voice cloning from reference audio | Noiz |\n| Emotion control (`emo` param) | Noiz |\n| Exact server-side duration per segment | Noiz |\n\n> When the user needs emotion control + voice cloning + precise duration together, Noiz is the only backend that supports all three.\n\n## Requirements\n\n- `ffmpeg` in PATH (timeline mode)\n- Noiz: get your API key at [developers.noiz.ai](https://developers.noiz.ai), then run `bash skills/speak/scripts/tts.sh config --set-api-key YOUR_KEY`\n- Kokoro: if already installed, pass `--backend kokoro` to use the local backend\n\nFor backend details and full argument reference, see [reference.md](reference.md).\n","frontmatter":{"name":"speak","description":"Convert text into speech with Kokoro or Noiz, including simple and timeline-aligned modes."},"isInternal":false,"tokens":1205,"sizeBytes":4358}],"systemPromptSnippet":"<yakaai_skills repo=\"babysor/MockingBird\">\n<!-- File: skills/speak/SKILL.md (Tokens: ~1205 | Category: anthropic-skill) -->\n---\nname: speak\ndescription: Convert text into speech with Kokoro or Noiz, including simple and timeline-aligned modes.\n---\n\n# speak\n\nConvert any text into speech audio. Supports two backends (Kokoro local, Noiz cloud), two modes (simple or timeline-accurate), and per-segment voice control.\n\n## Triggers\n\n- text to speech / speak / say / tts\n- voice clone / dubbing \n- epub to audio / srt to audio / convert to audio\n\n## Simple Mode — text to audio\n\n```bash\n# Kokoro (auto-detected when installed)\nbash skills/speak/scripts/tts.sh speak -t \"Hello world\" -v af_sarah -o hello.wav\nbash skills/speak/scripts/tts.sh speak -f article.txt -v zf_xiaoni --lang cmn -o out.mp3 --format mp3\n\n# Noiz (auto-detected when NOIZ_API_KEY is set, or force with --backend noiz)\n# If --voice-id is omitted, the script prints 5 available built-in voices and exits.\n# Pick one from the output and re-run with --voice-id <id>.\nbash skills/speak/scripts/tts.sh speak -f input.txt --voice-id voice_abc --auto-emotion --emo '{\"Joy\":0.5}' -o out.wav\n\n# Noiz: optional --duration (float, seconds, range (0, 36]) for target audio length\nbash skills/speak/scripts/tts.sh speak -t \"Short line\" --voice-id voice_abc --duration 3.5 -o out.wav\n\n# Voice cloning (Noiz only — no voice-id needed, uses ref audio)\n# Use your own reference audio: local file path or URL (only when using Noiz).\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio ./ref.wav -o clone.wav\nbash skills/speak/scripts/tts.sh speak -t \"Hello\" --ref-audio https://example.com/my_voice.wav -o clone.wav\n```\n\n## Timeline Mode — SRT to time-aligned audio\n\nFor precise per-segment timing (dubbing, subtitles, video narration).\n\n### Step 1: Get or create an SRT\n\nIf the user doesn't have one, generate from text:\n\n```bash\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt\nbash skills/speak/scripts/tts.sh to-srt -i article.txt -o article.srt --cps 15 --gap 500\n```\n\n`--cps` = characters per second (default 4, good for Chinese; ~15 for English). The agent can also write SRT manually.\n\n### Step 2: Create a voice map\n\nJSON file controlling default + per-segment voice settings. `segments` keys support single index `\"3\"` or range `\"5-8\"`.\n\nKokoro voice map:\n\n```json\n{\n  \"default\": { \"voice\": \"zf_xiaoni\", \"lang\": \"cmn\" },\n  \"segments\": {\n    \"1\": { \"voice\": \"zm_yunxi\" },\n    \"5-8\": { \"voice\": \"af_sarah\", \"lang\": \"en-us\", \"speed\": 0.9 }\n  }\n}\n```\n\nNoiz voice map (adds `emo`, `reference_audio` support). `reference_audio` can be a local path or a URL (user’s own audio; Noiz only):\n\n```json\n{\n  \"default\": { \"voice_id\": \"voice_123\", \"target_lang\": \"zh\" },\n  \"segments\": {\n    \"1\": { \"voice_id\": \"voice_host\", \"emo\": { \"Joy\": 0.6 } },\n    \"2-4\": { \"reference_audio\": \"./refs/guest.wav\" }\n  }\n}\n```\n\n**Dynamic Reference Audio Slicing**:\nIf you are translating or dubbing a video and want each sentence to automatically use the audio from the original video at the exact same timestamp as its reference audio, use the `--ref-audio-track` argument instead of setting `reference_audio` in the map:\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --ref-audio-track original_video.mp4 -o output.wav\n```\n\nSee `examples/` for full samples.\n\n### Step 3: Render\n\n```bash\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json -o output.wav\nbash skills/speak/scripts/tts.sh render --srt input.srt --voice-map vm.json --backend noiz --auto-emotion -o output.wav\n```\n\n## When to Choose Which\n\n| Need | Recommended |\n|------|-------------|\n| Just read text aloud, no fuss | Kokoro (default) |\n| EPUB/PDF audiobook with chapters | Kokoro (native support) |\n| Voice blending (`\"v1:60,v2:40\"`) | Kokoro |\n| Voice cloning from reference audio | Noiz |\n| Emotion control (`emo` param) | Noiz |\n| Exact server-side duration per segment | Noiz |\n\n> When the user needs emotion control + voice cloning + precise duration together, Noiz is the only backend that supports all three.\n\n## Requirements\n\n- `ffmpeg` in PATH (timeline mode)\n- Noiz: get your API key at [developers.noiz.ai](https://developers.noiz.ai), then run `bash skills/speak/scripts/tts.sh config --set-api-key YOUR_KEY`\n- Kokoro: if already installed, pass `--backend kokoro` to use the local backend\n\nFor backend details and full argument reference, see [reference.md](reference.md).\n</yakaai_skills>"}