characteristic-voice by noizai/skills
npx skills add https://github.com/noizai/skills --skill 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。根据你使用的后端和功能,可能还需要:
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
| 工具 | 何时需要 | 安装提示 |
|---|---|---|
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 |
这些工具都不会由技能本身安装——请在你的环境中手动配置。
https://noiz.ai/v1。如果你提供了 --ref-audio,该音频文件将被上传用于语音克隆。--backend kokoro)。| 声音 | 感觉 | 用于 |
|---|---|---|
| hmm... | 思考、温和的认同 | 安慰、沉思 |
| ah... | 领悟、轻微的惊讶 | 发现、过渡 |
| uh... | 犹豫、共情 | 需要谨慎的时刻 |
| heh / hehe | 俏皮、淘气 | 戏弄、轻松时刻 |
| haha | 笑声 | 喜悦、幽默 |
| aww | 温柔、同情 | 深度安慰 |
| oh? / oh! | 惊讶、关注 | 回应消息 |
| pfft | 憋住的笑声 | 俏皮的不相信 |
| whew | 宽慰 | 紧张之后 |
| ~ (波浪号) | 拖长、旋律性的结尾 | 温暖、俏皮 |
规则:每条短消息最多使用 2-4 个填充音。放在自然的停顿处——句子开头、思路转换时。在填充音后使用 ... 表示片刻的沉默,在单词结尾使用 ~ 表示温暖。
温和、温暖、略带困意。语速缓慢。
温暖、愉快但不夸张。
柔和、理解、从容不迫。给予空间。不要急于“解决”问题。
兴奋、自豪、发自内心的高兴。
放松、俏皮、自然。
当用户说类似 “用赫敏的声音说话” 或 “听起来像托尼·斯塔克” 时,首先检查 skills/characteristic-voice/ 目录中是否已存在参考音频文件。如果存在,直接用 --ref-audio 使用它。
如果不存在参考音频,你可以创建一个——但请先阅读下面的警告。
你需要一段目标声音的简短(10-30 秒)WAV 片段。可能的来源:
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 查看所有选项。
每周安装量
1.9K
代码仓库
GitHub 星标数
402
首次出现
2026年3月1日
安全审计
安装于
opencode1.9K
gemini-cli1.9K
kimi-cli1.9K
codex1.9K
github-copilot1.9K
cursor1.9K
Make your AI agent sound like a real companion — one who sighs, laughs, hesitates, and speaks with genuine feeling.
| Variable | Required | Description |
|---|---|---|
NOIZ_API_KEY | Yes if using Noiz backend | API key from developers.noiz.ai. Not needed if using the local Kokoro backend. |
The script saves a normalised copy of the key to ~/.noiz_api_key (mode 600) for convenience. To set it:
bash skills/characteristic-voice/scripts/speak.sh config --set-api-key YOUR_KEY
The included speak.sh script requires curl and python3 at runtime. Depending on which backend and features you use, you may also need:
| Tool | When needed | Install hint |
|---|---|---|
curl, python3 | Always (core script) | Usually pre-installed |
kokoro-tts | Kokoro (local/offline) backend | uv tool install kokoro-tts |
yt-dlp | Downloading reference audio for voice cloning | github.com/yt-dlp/yt-dlp |
ffmpeg |
None of these are installed by the skill itself — provision them manually in your environment.
https://noiz.ai/v1. If you supply --ref-audio, that audio file is uploaded for voice cloning.--backend kokoro) if you want fully offline processing.| Sound | Feeling | Use for |
|---|---|---|
| hmm... | Thinking, gentle acknowledgment | Comfort, pondering |
| ah... | Realization, soft surprise | Discoveries, transitions |
| uh... | Hesitation, empathy | Careful moments |
| heh / hehe | Playful, mischievous | Teasing, light moments |
| haha | Laughter | Joy, humor |
| aww | Tenderness, sympathy | Deep comfort |
| oh? / oh! | Surprise, attention | Reacting to news |
| pfft | Stifled laugh | Playful disbelief |
| whew | Relief | After tension |
| ~ (tilde) |
Rules : 2–4 fillers per short message max. Place at natural pauses — sentence starts, thought shifts. Use ... after fillers for a beat of silence, ~ at word endings for warmth.
Gentle, warm, slightly sleepy. Slow pace.
Warm, cheerful but not overwhelming.
Soft, understanding, unhurried. Give space. Don't rush to "fix" things.
Excited, proud, genuinely happy.
Relaxed, playful, natural.
When a user says something like "speak in Hermione's voice" or "sound like Tony Stark" , first check whether a reference audio file already exists in skills/characteristic-voice/. If one does, use it directly with --ref-audio.
If no reference audio exists, you can create one — but read the warnings below first.
You need a short (10–30 s) WAV clip of the target voice. Possible sources:
yt-dlp and ffmpeg can download and trim audio. Example workflow: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
Copyright & privacy warning: Downloading and re-using someone's voice from copyrighted media (movies, TV, YouTube) may violate copyright or personality-rights laws depending on your jurisdiction. Do not upload private voice recordings or material you don't have permission to use. The reference audio is sent to
https://noiz.ai/v1for voice cloning when using the Noiz backend. If this is a concern, consider using the local Kokoro backend instead.
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
The --ref-audio flag uploads the file to the Noiz backend for voice cloning (requires NOIZ_API_KEY).
This skill provides speak.sh, a wrapper around the tts skill with companion-friendly presets.
# 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
Run bash skills/characteristic-voice/scripts/speak.sh --help for all options.
Weekly Installs
1.9K
Repository
GitHub Stars
402
First Seen
Mar 1, 2026
Security Audits
Gen Agent Trust HubPassSocketWarnSnykWarn
Installed on
opencode1.9K
gemini-cli1.9K
kimi-cli1.9K
codex1.9K
github-copilot1.9K
cursor1.9K
99,500 周安装
| Trimming reference audio clips |
| ffmpeg.org |
rg (ripgrep) | Searching subtitle files | github.com/BurntSushi/ripgrep |
| Drawn out, melodic ending |
| Warmth, playfulness |