用途:在 Markdown 文件的术语标题下插入内联音频“Pronounce”按钮,音频由 ElevenLabs 文本转语音生成,用于词汇表或章节术语的发音朗读。
主要能力:解析用户请求中的术语与目标文件(默认 docs/glossary.md);调用 ElevenLabs v1 TTS 接口,默认使用 eleven_multilingual_v2 模型与 Sarah 语音,生成 MP3 到 docs/audio/SLUG.mp3;在标题后插入 audio 与 button 的 HTML 片段,并附斜体音标提示;检查并补充 .pronounce-btn 的 CSS;支持批量处理词汇表中所有 #### 标题。
使用方式:需设置环境变量 ELEVENLABS_API_KEY,不可硬编码或提交。脚本路径为 python3 /Users/dan/.claude/skills/pronounce-button/scripts/generate-pronunciation.py。默认先尝试普通单词:python3 SCRIPT "Biogeography" --output docs/audio/biogeography.mp3;若发音错误再用连字符音标回退;最后可用 --ssml 传入 CMU Arpabet 音素串,需带重音标记(1 主重音、2 次重音、0 无重音)。可用 --voice-id 更换语音。插入按钮时需按页面服务路径调整相对路径,例如 docs/glossary.md 用 ../audio/SLUG.mp3,docs/appendices/common-terms.md 用 ../../audio/SLUG.mp3。
适用场景:为术语表或章节术语添加可点击发音,便于读者核对读音。
限制:依赖 ElevenLabs API 与有效密钥;401 表示密钥无效,429 表示限流需重试;批量模式每个术语一次 API 调用,需先告知用户调用数量;音标回退可能被逐音节朗读,SSML 仅在前两级失败时使用。其他细节暂未提供。