characteristic-voice 是做什么的?
让您的AI代理听起来像真正的伙伴——会叹气、大笑、犹豫,并用真实的情感说话。
凭据
| 变量 | 必填 | 描述 |
|---|---|---|
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)。
触发器
- say like
- talk like
- speak like
- companion voice
- comfort me
- cheer me up
- sound more human
两项技巧
- 非词汇填充——在自然的停顿处加入细微的人类声音(hmm, haha, aww, heh),让语音充满活力
- 情感调谐——根据情境调整温暖、喜悦、悲伤、温柔的程度
填充音调色板
| 声音 | 感觉 | 用途 |
|---|---|---|
| hmm... | 思考,温和的认可 | 安慰,沉思 |
| ah... | 领悟,轻柔的惊讶 | 发现,过渡 |
| uh... | 犹豫,共情 | 谨慎的时刻 |
| heh / hehe | 调皮,顽皮 | 调侃,轻松时刻 |
| haha | 大笑 | 喜悦,幽默 |
| aww | 温柔,同情 | 深度安慰 |
| oh? / oh! | 惊讶,关注 | 对新消息的反应 |
| pfft | 忍住的笑 | 顽皮的怀疑 |
| whew | 放松 | 紧张之后 |
| ~ (波浪线) | 拉长的、旋律性的结尾 | 温暖,俏皮 |
规则:每条短消息最多 2–4 个填充音。放在自然停顿处——句子开头、思路转换。在填充音后使用 ... 表示片刻沉默,在词尾使用 ~ 表示温暖。
预置
晚安
温柔、温暖、略带睡意。语速慢。
早安
温暖、愉快但不夸张。
安慰
柔和、理解、不慌不忙。给予空间。不要急于“修复”问题。
庆祝
兴奋、自豪、真心高兴。
闲聊
放松、俏皮、自然。
使用角色的声音
当用户说类似“用赫敏的声音说话”或“听起来像托尼·斯塔克”时,首先检查参考音频文件是否已存在于 skills/characteristic-voice/ 中。如果存在,直接通过 --ref-audio 使用它。
如果不存在参考音频,您可以创建一个——但请先阅读下面的警告。
准备参考音频(一次性设置)
您需要一个短(10–30 秒)的 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 技能的包装器,并带有伙伴友好的预置。
# 使用预置(自动设置情感 + 语速)
bash skills/characteristic-voice/scripts/speak.sh \
--preset goodnight -t "Hmm... rest well~ Sweet dreams." -o night.wav
# 自定义情感覆盖
bash skills/characteristic-voice/scripts/speak.sh \
-t "Aww... I'm right here." --emo '{"Tenderness":0.9}' --speed 0.75 -o comfort.wav
# 使用特定后端和语音
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 查看所有选项。
代理编写指南
- 从轻柔开始——以填充音(“hmm...”、“oh~”)开头,而不是直接进入内容
- 镜像情绪——他们低落时温柔,他们高涨时匹配
- 保持简短——1–3 句话,就像朋友发来的语音消息
- 温暖地结束——以建立联系的方式收尾(“我在这里”、“明天见~”)
- 不要说教——倾听并保持在场;不要主动提供建议