关于 characteristic-voice
characteristic-voice 为 AI Agent 提供更有情感表现力的语音,包含情绪控制、口语填充词和预设。支持 Noiz 与本地 Kokoro 后端。
主要功能
- 01预设情绪与语速
- 02自定义情绪和语速
- 03口语填充词指南
- 04Noiz 与本地 Kokoro 后端
- 05基于参考音频克隆声音
适用场景
- 01制作温柔的晚安语音
- 02调整安慰或庆祝语音表达
- 03根据获准使用的参考音频生成语音
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ noizai/ skills --skill characteristic-voice安装后在 Claude Code 中输入/characteristic-voice确认已加载。
附带文件scripts/speak.sh
详细介绍
characteristic-voice
让你的 AI Agent 听起来像一位真实的伙伴——会叹气、会笑、会犹豫,也会流露真情实感。
凭据
| 变量 | 必需 | 说明 |
|---|---|---|
NOIZ_API_KEY | 使用 Noiz 后端时必需 | 来自 developers.noiz.ai 的 API 密钥。使用本地 Kokoro 后端时无需此密钥。 |
为方便使用,脚本会将规范化后的密钥副本保存到 ~/.noiz_api_key(权限模式为 600)。设置方法:
bash skills/characteristic-voice/scripts/speak.sh config --set-api-key YOUR_KEY
先决条件
随附的 speak.sh 脚本在运行时需要 curl 和 python3。根据你使用的后端和功能,你可能还需要:
| 工具 | 适用场景 | 安装提示 |
|---|---|---|
curl、python3 | 始终需要(核心脚本) | 通常已预装 |
kokoro-tts | Kokoro(本地/离线)后端 | uv tool install kokoro-tts |
yt-dlp | 下载用于声音克隆的参考音频 | github.com/yt-dlp/yt-dlp |
ffmpeg | 剪辑参考音频片段 | ffmpeg.org |
rg(ripgrep) | 搜索字幕文件 | github.com/BurntSushi/ripgrep |
此技能本身不会安装这些工具——请在你的环境中手动配置。
隐私与数据传输
- Noiz 后端:使用 Noiz 后端时,你要朗读的文本以及提供的任何参考音频都会发送到
https://noiz.ai/v1。如果提供--ref-audio,该音频文件会被上传用于声音克隆。 - Kokoro 后端:完全在本地运行——不会有数据离开你的设备。
- 如果需要完全离线处理,请选择 Kokoro 后端(
--backend kokoro)。
触发词
- 像……一样说话
- 像……一样交谈
- 用……的方式说话
- 伙伴般的声音
- 安慰我
- 让我开心起来
- 听起来更像真人
两个诀窍
- 非词汇填充音——在自然停顿处加入一些人类常有的声音(嗯、哈哈、啊),让语音听起来更生动
- 情绪调节——根据当下情境调整温暖、喜悦、悲伤和柔情的程度
填充音示例
| 声音 | 感受 | 用途 |
|---|---|---|
| hmm... | 思考、温和回应 | 安慰、沉思 |
| ah... | 恍然大悟、轻微惊讶 | 发现新事物、过渡 |
| uh... | 犹豫、共情 | 需要谨慎的时刻 |
| heh / hehe | 顽皮、淘气 | 打趣、轻松时刻 |
| haha | 笑声 | 喜悦、幽默 |
| aww | 温柔、同情 | 深度安慰 |
| oh? / oh! | 惊讶、关注 | 对消息作出回应 |
| pfft | 憋笑 | 顽皮地表示怀疑 |
| whew | 如释重负 | 紧张过后 |
| ~(波浪号) | 拉长、富有旋律感的结尾 | 温暖、俏皮 |
规则:每条简短消息最多使用 2–4 个填充音。将它们放在自然停顿处——句首、思路转换处。填充音后加 ...,留出片刻静默;词尾加 ~,增添温暖感。
预设
晚安
温柔、温暖,略带困意。语速放慢。
早安
温暖、愉快,但不过分热情。
安慰
柔和、善解人意、不慌不忙。留出空间。不要急着“解决”问题。
庆祝
兴奋、自豪、由衷地开心。
闲聊
放松、俏皮、自然。
使用角色的声音
当用户说类似 “用赫敏的声音说话” 或 “听起来像托尼·斯塔克” 的话时,先检查 skills/characteristic-voice/ 中是否已有参考音频文件。如果有,就直接使用 --ref-audio。
如果没有参考音频,你可以创建一个——但请先阅读下方的警告。
准备参考音频(一次性设置)
你需要一段 10–30 s 的目标声音 WAV 音频片段。可从以下来源获取:
- 用户提供的音频 — 最稳妥的选择。请用户提供自己的录音。
- 公有领域/采用 CC 许可的片段 — 搜索可自由使用的素材。
- 从在线视频提取 — 可使用
yt-dlp和ffmpeg等工具下载并剪辑音频。示例工作流:
yt-dlp "URL" --write-auto-sub --sub-lang en --skip-download -o tmp/clip
rg -n "target line" tmp/clip.en.vtt
yt-dlp "URL" -x --audio-format wav --download-sections "*00:00:00-00:00:25" -o tmp/clip
ffmpeg -i tmp/clip.wav -ss 00:00:02 -to 00:00:20 skills/characteristic-voice/character.wav
版权与隐私警告:从受版权保护的媒体(电影、电视节目、YouTube)下载并重复使用他人的声音,可能会根据你所在司法管辖区的法律侵犯版权或人格权。请勿上传私人录音,或未经许可使用的素材。 使用 Noiz 后端时,参考音频会发送到
https://noiz.ai/v1进行声音克隆。如果你对此有所顾虑,可以改用本地 Kokoro 后端。
使用参考音频
bash skills/characteristic-voice/scripts/speak.sh \
--preset goodnight -t "Hmm... rest well~ Sweet dreams." \
--ref-audio skills/characteristic-voice/character.wav -o night.wav
--ref-audio 标志会将文件上传到 Noiz 后端进行声音克隆(需要 NOIZ_API_KEY)。
用法
此技能提供 speak.sh,这是一个封装了 tts 技能并附带适合伙伴交流预设的脚本。
# Use a preset (auto-sets emotion + speed)
bash skills/characteristic-voice/scripts/speak.sh \
--preset goodnight -t "Hmm... rest well~ Sweet dreams." -o night.wav
# Custom emotion override
bash skills/characteristic-voice/scripts/speak.sh \
-t "Aww... I'm right here." --emo '{"Tenderness":0.9}' --speed 0.75 -o comfort.wav
# With specific backend and voice
bash skills/characteristic-voice/scripts/speak.sh \
--preset morning -t "Good morning~" --voice-id voice_abc --backend noiz -o morning.mp3 --format mp3
运行 bash skills/characteristic-voice/scripts/speak.sh --help 可查看所有选项。
Agent 写作指南
- 轻柔开场 — 先用语气词(“嗯……”“哦~”),而不是直接说正题
- 呼应情绪 — 对方情绪低落时温柔回应,对方兴致高时跟上节奏
- 简短表达 — 说 1–3 句话,像朋友发来的语音消息
- 温暖收尾 — 以拉近关系的话语结束(“我在这儿”“明天见~”)
- 不要说教 — 倾听并保持关注;不要擅自给建议