Token导航 LogoToken导航TokenDH.com
研究检索可写文件clawhub未标认证来源可访问clear审计通过

her-voice她的声音

Agent Skill

用于辅助音频、音乐、语音转写、语音合成或声音素材处理。它适合让 Agent 生成配乐说明、整理音频流程、调用语音工具或处理播客和视频配音素材。使用时需要确认输入音频来源、输出格式、时长和模型限制;涉及人声克隆、版权音乐或公开发布时,应先核对授权和合规边界。

总安装

21,622

周安装

910

GitHub Stars

公开资料未说明

下载量

7,571
OpenClaw

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

MIT-0

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:her-voice(她的声音)
来源仓库:https://github.com/matusvojtek/her-voice
安装命令:
openclaw skills install her-voice
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 OpenClaw 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

ClawHubOpenClaw
openclaw skills install her-voice

简介

用于辅助音频处理、语音合成或配乐说明生成,适合播客和视频配音场景。

  • 可调用语音工具生成旁白或转写音频内容,支持多种输出格式。
  • 使用时需明确输入来源、时长限制和模型能力边界。
  • 安装命令:openclaw skills install her-voice。
  • 涉及人声克隆或版权音乐时应核对授权合规要求。

SKILL.md

name
Her Voice
description
Give your agent a voice. Use when the user wants the agent to speak, read aloud, or have voice responses.
metadata
openclaw
emoji
🎙️
requires
bins
["python3", "espeak-ng"]

Her Voice 🎙️

Give your agent a voice. Audio responses powered by Kokoro TTS — a compact, naturally expressive model running entirely on-device.

✨ Features

Highly optimized response time thanks to on-the-fly audio streaming technology. 100% free, no API keys required. Inspired by Samantha and Sky.

  • ⚡ On-the-fly Streaming — Audio plays as it generates, very low latency
  • 👄 The Voice of an angel — Cutting-edge local text-to-speech model Kokoro TTS
  • 🧠 TTS Daemon — Keep the model warm in RAM for instant responses (can be disabled to save RAM)
  • 🖥️ Persist Mode — Drag & drop audio, paste text, use as a voice station
  • 🔧 Fully Configurable — Voice, speed, visualizer, notification sounds
  • 🍎 MLX + PyTorch — Native Metal acceleration on Apple Silicon, PyTorch fallback everywhere else
  • 🎨 Real-time Visualizer — Floating 60fps LED bars that react to speech (macOS only)

First-Run Setup

python3 SKILL_DIR/scripts/setup.py
Note: SKILL_DIR is the root directory of this skill — the agent resolves it automatically when running commands.

The setup wizard will:

  1. Detect platform and select TTS engine (MLX on Apple Silicon, PyTorch elsewhere)
  2. Find or install the appropriate TTS backend (mlx-audio or kokoro)
  3. Install espeak-ng (Homebrew on macOS, apt on Linux)
  4. Patch espeak loader if needed (macOS compatibility)
  5. Compile the native visualizer binary (macOS only)
  6. Download the Kokoro model
  7. Create config at ~/.her-voice/config.json

Check status anytime:

python3 SKILL_DIR/scripts/setup.py status

Post-Setup: Names & Pronunciation

After setup, configure the agent and user names:

python3 SKILL_DIR/scripts/config.py set agent_name "Jackie"
python3 SKILL_DIR/scripts/config.py set user_name "Matúš"
python3 SKILL_DIR/scripts/config.py set user_name_tts "Mah-toosh"

TTS pronunciation tip: If the user's name is non-English, figure out a phonetic English spelling that Kokoro will pronounce correctly. Store it in user_name_tts and use that spelling whenever speaking the name aloud. The real name stays in user_name for display purposes.

Speaking Text

# Basic usage
python3 SKILL_DIR/scripts/speak.py "Hello, world!"

# Skip visualizer for this call
python3 SKILL_DIR/scripts/speak.py --no-viz "Quick note"

# Save to file instead of playing
python3 SKILL_DIR/scripts/speak.py --save /tmp/output.wav "Save this"

# Override voice or speed
python3 SKILL_DIR/scripts/speak.py --voice af_bella --speed 1.2 "Faster!"

# Pipe text from stdin
echo "Piped text" | python3 SKILL_DIR/scripts/speak.py

Options

FlagDescription
--no-vizSkip the visualizer for this call
--persistKeep visualizer open after playback ends
--save PATHSave audio to WAV file instead of playing
--voice NAMEOverride the configured voice
--speed NOverride the configured speed multiplier
--mode MODEOverride visualizer mode (v2 or classic)

Agent Workflow

When the user wants voice responses:

  1. Check voice mode — is voice enabled or did the user ask for it?
  2. Play notification sound (instant feedback while TTS generates):
   afplay /System/Library/Sounds/Blow.aiff &
  1. Speak the response:
   python3 SKILL_DIR/scripts/speak.py "Response text here"
  1. Always provide text alongside voice — accessibility matters.

Notification Sound

The notification sound plays instantly (~0.1s) while TTS generates (~0.3-3s). This gives the user immediate feedback that the agent is responding.

Configure in ~/.her-voice/config.json:

{
  "notification_sound": {
    "enabled": true,
    "sound": "Blow"
  }
}

Available macOS sounds: Blow, Bottle, Frog, Funk, Glass, Hero, Morse, Ping, Pop, Purr, Sosumi, Submarine, Tink. Located in /System/Library/Sounds/.

TTS Daemon

The daemon keeps the Kokoro model warm in RAM, eliminating ~1.1s of startup overhead per call.

The daemon auto-resolves the mlx-audio venv — no need to find the venv Python manually.

# Start (persists in background)
nohup python3 SKILL_DIR/scripts/daemon.py start > /tmp/her-voice-daemon.log 2>&1 & disown

# Status
python3 SKILL_DIR/scripts/daemon.py status

# Stop
python3 SKILL_DIR/scripts/daemon.py stop

# Restart
python3 SKILL_DIR/scripts/daemon.py restart

speak.py auto-detects the daemon: uses it if available, falls back to direct model loading.

The daemon is optional. Without it, speech still works — just ~1s slower per call as the model loads each time. Skip the daemon to save ~2.3GB RAM.

Note: The daemon writes its PID file and socket after the model is fully loaded and ready to accept connections. They live in ~/.her-voice/ with restricted permissions (owner-only access). The daemon won't survive a reboot — start it again after restart if needed.

Visualizer

A floating overlay with three animated LED bars that react to speech in real-time. 60fps, native macOS (Cocoa + AVFoundation). macOS only — on other platforms, audio plays without the visualizer.

Modes

  • v2 (default) — Three-tier pure red, center raw amplitude, sides with lag
  • classic — Original smooth gradient look

Controls

KeyAction
ESCQuit
SpacePause/Resume (file mode)
← →Seek ±5s (file mode)
⌘VPaste text to speak (persist mode)

Persist Mode

Keep the visualizer on screen between playbacks. Use as a standalone voice station:

# Launch in persist mode (stays open, idle breathing animation)
~/.her-voice/bin/her-voice-viz --persist

# Stream mode + persist (stays open after speech ends)
python3 SKILL_DIR/scripts/speak.py --persist "Hello!"

In persist mode:

  • Drag & drop audio files (.wav, .mp3, .aiff, .m4a) onto the visualizer to play them
  • ⌘V pastes clipboard text → streams directly from TTS daemon with full visualizer animation
  • Idle breathing — subtle center bar pulse when waiting for input

Standalone Usage

# Play a file with visualizer
~/.her-voice/bin/her-voice-viz --audio /path/to/file.wav

# Demo mode (simulated audio)
~/.her-voice/bin/her-voice-viz --demo

# Stream raw PCM
cat audio.raw | ~/.her-voice/bin/her-voice-viz --stream --sample-rate 24000

Disable Visualizer

python3 SKILL_DIR/scripts/config.py set visualizer.enabled false

Configuration

Config file: ~/.her-voice/config.json

# View all settings
python3 SKILL_DIR/scripts/config.py status

# Get a value
python3 SKILL_DIR/scripts/config.py get voice

# Set a value (dot notation for nested keys)
python3 SKILL_DIR/scripts/config.py set speed 1.1
python3 SKILL_DIR/scripts/config.py set visualizer.mode classic

Key Settings

KeyDefaultDescription
agent_name""Agent's name (e.g. "Jackie")
user_name""User's real name
user_name_tts""Phonetic spelling for TTS (e.g. "Mah-toosh" for Matúš)
voiceaf_heartBase voice name
voice_blend{af_heart: 0.6, af_sky: 0.4}Voice blend weights
speed1.05Speech speed multiplier
languageenLanguage code
tts_engineautoTTS engine: auto, mlx, or pytorch
modelmlx-community/Kokoro-82M-bf16Model identifier (MLX)
visualizer.enabledtrueShow visualizer overlay
visualizer.modev2Animation mode (v2/classic)
visualizer.remember_positiontrueSave window position between sessions
notification_sound.enabledtruePlay sound before speaking
notification_sound.soundBlowmacOS system sound name
daemon.auto_starttrueAdvisory flag only — the daemon never self-starts. When true, the agent should start it on first voice use (saves ~1s/call, costs ~2.3GB RAM)
daemon.socket_path~/.her-voice/tts.sockUnix socket path

Voice Selection

Voice Blending

Mix multiple voices for a unique sound. Configure voice_blend in config:

{
  "voice_blend": {"af_heart": 0.6, "af_sky": 0.4}
}

The blended voice is stored as a .safetensors file in the model's voices directory (e.g., af_heart_60_af_sky_40.safetensors). Create it by running TTS once — speak.py looks for the pre-blended file automatically.

Error Handling

ErrorCauseFix
"mlx-audio not found"Venv missing or brokenRun setup.py
"espeak-ng not found"Phonemizer missingbrew install espeak-ng
Compilation failedXcode tools missingxcode-select --install
"Model not found"First run, no downloadRun setup.py or speak once
Daemon "not running"Crashed or rebootedStart daemon again
No sound outputmacOS audio permissionsCheck System Settings → Sound → Output
Visualizer not showingBinary not compiledRun setup.py
"kokoro not found"PyTorch venv missingRun setup.py
PyTorch CUDA errorGPU driver mismatchpip install torch --force-reinstall in kokoro venv
"soundfile not found"Missing dependencypip install soundfile in kokoro venv

Requirements

  • macOS + Apple Silicon recommended for best experience (MLX engine + visualizer + notification sounds)
  • Linux/Intel Mac supported via PyTorch Kokoro engine (no visualizer)
  • Windows is not supported
  • Xcode Command Line Tools for visualizer on macOS (xcode-select --install)
  • espeak-ng for phonemization (brew install espeak-ng on macOS, apt install espeak-ng on Linux)
  • ~500MB disk (model + venv)
  • ~2.3GB RAM when daemon is running

Uninstall

Remove all Her Voice data (config, venvs, compiled binary, daemon state):

python3 SKILL_DIR/scripts/daemon.py stop
rm -rf ~/.her-voice

How It Works

  1. Kokoro 82M — A compact neural TTS model with two backends: MLX (Apple's framework for native Metal GPU acceleration on Apple Silicon) and PyTorch (works everywhere). The engine is auto-detected based on platform, or can be forced via the tts_engine config option (auto, mlx, or pytorch)
  2. Streaming — Audio generates and plays simultaneously. First sound in ~0.3s (with daemon) vs ~3s batch
  3. Visualizer — Native macOS app (Swift/Cocoa) reads raw PCM from stdin, plays via AVAudioEngine with real-time amplitude metering
  4. Daemon — Unix socket server holding the model in RAM. Eliminates Python import + model load overhead on every call

适合场景

01

OpenClaw 用户查找和安装 Skill 时

02

用户想查找某类 Agent Skill 时

03

需要根据任务场景推荐可安装能力包时

04

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

OpenClaw

77.85%
按下载量换算5,894

安全审计

VirusTotal

通过

ClawScan

通过

Static analysis

未展示

权限和风险

可写文件

该 Skill 可能写入或修改本地文件,使用前需要确认目标目录和修改范围。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills