Skill detail

characteristic-voice

Makes generated speech sound more human and emotionally expressive with fillers, emotion tuning, and speaking-style presets.

Needs (stated): Python

MatchPossibleRecommended for Audio and Voice
Sourcenoizai/​skillsExternal source
Reported installs2,754Popularity signal only

Inspect before use

Read the source instructions and check the requirements before you install this skill.

Saved source preview

SKILL.md

The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.

---
name: characteristic-voice
description: "Use this skill whenever the user wants speech to sound more human, companion-like, or emotionally expressive. Triggers include: any mention of 'say like', 'talk like', 'speak like', 'companion voice', 'comfort me', 'cheer me up', 'sound more human', 'good night voice', 'good morning voice', or requests to add fillers, emotion, or personality to generated speech. Also use when the user wants to mimic a specific character's voice, apply speaking style presets (goodnight, morning, comfort, celebration, chatting), tune emotional parameters like warmth or tenderness, or make TTS output feel like a real person talking. If the user asks for a 'voice message', 'companion audio', 'character voice', or wants speech that sighs, laughs, hesitates, or sounds genuinely warm, use this skill. Do NOT use for plain text-to-speech without personality, music generation, sound effects, or general coding tasks unrelated to expressive speech."
---

# characteristic-voice

Make your AI agent sound like a real companion — one who sighs, laughs, hesitates, and speaks with genuine feeling.

## Credentials

| Variable | Required | Description |
|---|---|---|
| `NOIZ_API_KEY` | **Yes** if using Noiz backend | API key from [developers.noiz.ai](https://developers.noiz.ai/api-keys). 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
bash skills/characteristic-voice/scripts/speak.sh config --set-api-key YOUR_KEY
```

## Prerequisites

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](https://github.com/yt-dlp/yt-dlp) |
| `ffmpeg` | Trimming reference audio clips | [ffmpeg.org](https://ffmpeg.org) |
| `rg` (ripgrep) | Searching subtitle files | [github.com/BurntSushi/ripgrep](https://github.com/BurntSushi/ripgrep) |

None of these are installed by the skill itself — provision them manually in your environment.

## Privacy & Data Transmission

- **Noiz backend**: When using the Noiz backend, the text you speak and any reference audio you provide are sent to `https://noiz.ai/v1`. If you supply `--ref-audio`, that audio file is uploaded for voice cloning.
- **Kokoro backend**: Runs entirely locally — no data leaves your machine.
- Choose the Kokoro backend (`--backend kokoro`) if you want fully offline processing.

## Triggers

- say like
- talk like
- speak like 
- companion voice
- comfort me
- cheer me up
- sound more human

## The Two Tricks

1. **Non-lexical fillers** — sprinkle in little human noises (hmm, haha, aww, heh) at natural pause points to make speech feel alive
2. **Emotion tuning** — adjust warmth, joy, sadness, tenderness to match the moment

## Filler Sounds Palette

| 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) | Drawn out, melodic ending | Warmth, playfulness |

**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.

## Presets

### Good Night

Gentle, warm, slightly sleepy. Slow pace.

### Good Morning

War
Read the full source on GitHub (opens external page)
Context

Related work