设计与多媒体

elevenlabs-voices

试用

调用 ElevenLabs API,提供 18 种人声角色、32 种语言合成、音效生成与自定义人声设计。

它能做什么

一套基于命令行的语音合成工具,把文字交给 ElevenLabs 转成音频。可从 18 个预设人声(Rachel、Adam、Bella 等)中挑选,用 `--lang` 切换语言,加 `--stream` 流式输出长文本,通过 `--batch` 批量处理文本文件或 JSON,并可借助发音字典覆盖指定读法。除此之外,sfx.py 根据文字描述生成 0.5–22 秒的音效;voice-design.py 按性别、年龄段、口音和文字描述生成新声音并可试听;`--stats` 则按字符数对照 Starter / Creator / Pro / Scale 档位估算费用。

什么时候用它

  • 为有声书或纪录片生成旁白音频
  • 把一段文案批量转成多种语言版本
  • 用文字提示生成背景音效片段
  • 为播客或品牌设计专属人声

技能文档

ElevenLabs Voice Personas v2.1

Comprehensive voice synthesis toolkit using ElevenLabs API.

🚀 First Run - Setup Wizard

When you first use this skill (no config.json exists), run the interactive setup wizard:

python3 scripts/setup.py

The wizard will guide you through:

  1. API Key - Enter your ElevenLabs API key (required)
  2. Default Voice - Choose from popular voices (Rachel, Adam, Bella, etc.)
  3. Language - Set your preferred language (32 supported)
  4. Audio Quality - Standard or high quality output
  5. Cost Tracking - Enable usage and cost monitoring
  6. Budget Limit - Optional monthly spending cap

🔒 Privacy: Your API key is stored locally in config.json only. It never leaves your machine and is automatically excluded from git via .gitignore.

To reconfigure at any time, simply run the setup wizard again.


✨ Features

  • 18 Voice Personas - Carefully curated voices for different use cases
  • 32 Languages - Multi-language synthesis with the multilingual v2 model
  • Streaming Mode - Real-time audio output as it generates
  • Sound Effects (SFX) - AI-generated sound effects from text prompts
  • Batch Processing - Process multiple texts in one go
  • Cost Tracking - Monitor character usage and estimated costs
  • Voice Design - Create custom voices from descriptions
  • Pronunciation Dictionary - Custom word pronunciation rules
  • OpenClaw Integration - Works with OpenClaw's built-in TTS

🎙 Available Voices

VoiceAccentGenderPersonaBest For
rachel🇺🇸 USfemalewarmConversations, tutorials
adam🇺🇸 USmalenarratorDocumentaries, audiobooks
bella🇺🇸 USfemaleprofessionalBusiness, presentations
brian🇺🇸 USmalecomfortingMeditation, calm content
george🇬🇧 UKmalestorytellerAudiobooks, storytelling
alice🇬🇧 UKfemaleeducatorTutorials, explanations
callum🇺🇸 USmaletricksterPlayful, gaming
charlie🇦🇺 AUmaleenergeticSports, motivation
jessica🇺🇸 USfemaleplayfulSocial media, casual
lily🇬🇧 UKfemaleactressDrama, elegant content
matilda🇺🇸 USfemaleprofessionalCorporate, news
river🇺🇸 USneutralneutralInclusive, informative
roger🇺🇸 USmalecasualPodcasts, relaxed
daniel🇬🇧 UKmalebroadcasterNews, announcements
eric🇺🇸 USmaletrustworthyBusiness, corporate
chris🇺🇸 USmalefriendlyTutorials, approachable
will🇺🇸 USmaleoptimistMotivation, uplifting
liam🇺🇸 USmalesocialYouTube, social media

🎯 Quick Presets

  • default → rachel (warm, friendly)
  • narrator → adam (documentaries)
  • professional → matilda (corporate)
  • storyteller → george (audiobooks)
  • educator → alice (tutorials)
  • calm → brian (meditation)
  • energetic → liam (social media)
  • trustworthy → eric (business)
  • neutral → river (inclusive)
  • british → george
  • australian → charlie
  • broadcaster → daniel (news)

🌍 Supported Languages (32)

The multilingual v2 model supports these languages:

CodeLanguageCodeLanguage
enEnglishplPolish
deGermannlDutch
esSpanishsvSwedish
frFrenchdaDanish
itItalianfiFinnish
ptPortuguesenoNorwegian
ruRussiantrTurkish
ukUkrainiancsCzech
jaJapaneseskSlovak
koKoreanhuHungarian
zhChineseroRomanian
arArabicbgBulgarian
hiHindihrCroatian
taTamilelGreek
idIndonesianmsMalay
viVietnamesethThai
# Synthesize in German
python3 tts.py --text "Guten Tag!" --voice rachel --lang de

# Synthesize in French
python3 tts.py --text "Bonjour le monde!" --voice adam --lang fr

# List all languages
python3 tts.py --languages

💻 CLI Usage

Basic Text-to-Speech

# List all voices
python3 scripts/tts.py --list

# Generate speech
python3 scripts/tts.py --text "Hello world" --voice rachel --output hello.mp3

# Use a preset
python3 scripts/tts.py --text "Breaking news..." --voice broadcaster --output news.mp3

# Multi-language
python3 scripts/tts.py --text "Bonjour!" --voice rachel --lang fr --output french.mp3

Streaming Mode

Generate audio with real-time streaming (good for long texts):

# Stream audio as it generates
python3 scripts/tts.py --text "This is a long story..." --voice adam --stream

# Streaming with custom output
python3 scripts/tts.py --text "Chapter one..." --voice george --stream --output chapter1.mp3

Batch Processing

Process multiple texts from a file:

# From newline-separated text file
python3 scripts/tts.py --batch texts.txt --voice rachel --output-dir ./audio

# From JSON file
python3 scripts/tts.py --batch batch.json --output-dir ./output

JSON batch format:

[
  {"text": "First line", "voice": "rachel", "output": "line1.mp3"},
  {"text": "Second line", "voice": "adam", "output": "line2.mp3"},
  {"text": "Third line"}
]

Simple text format (one per line):

Hello, this is the first sentence.
This is the second sentence.
And this is the third.

Usage Statistics

# Show usage stats and cost estimates
python3 scripts/tts.py --stats

# Reset statistics
python3 scripts/tts.py --reset-stats

🎵 Sound Effects (SFX)

Generate AI-powered sound effects from text descriptions:

# Generate a sound effect
python3 scripts/sfx.py --prompt "Thunder rumbling in the distance"

# With specific duration (0.5-22 seconds)
python3 scripts/sfx.py --prompt "Cat meowing" --duration 3 --output cat.mp3

# Adjust prompt influence (0.0-1.0)
python3 scripts/sfx.py --prompt "Footsteps on gravel" --influence 0.5

# Batch SFX generation
python3 scripts/sfx.py --batch sounds.json --output-dir ./sfx

# Show prompt examples
python3 scripts/sfx.py --examples

Example prompts:

  • "Thunder rumbling in the distance"
  • "Cat purring contentedly"
  • "Typing on a mechanical keyboard"
  • "Spaceship engine humming"
  • "Coffee shop background chatter"

🎨 Voice Design

Create custom voices from text descriptions:

# Basic voice design
python3 scripts/voice-design.py --gender female --age middle_aged --accent american \
  --description "A warm, motherly voice"

# With custom preview text
python3 scripts/voice-design.py --gender male --age young --accent british \
  --text "Welcome to the adventure!" --output preview.mp3

# Save to your ElevenLabs library
python3 scripts/voice-design.py --gender female --age young --accent american \
  --description "Energetic podcast host" --save "MyHost"

# List all design options
python3 scripts/voice-design.py --options

Voice Design Options:

OptionValues
Gendermale, female, neutral
Ageyoung, middle_aged, old
Accentamerican, british, african, australian, indian, latin, middle_eastern, scandinavian, eastern_european
Accent Strength0.3-2.0 (subtle to strong)

📖 Pronunciation Dictionary

Customize how words are pronounced:

Edit pronunciations.json:

{
  "rules": [
    {
      "word": "OpenClaw",
      "replacement": "Open Claw",
      "comment": "Pronounce as two words"
    },
    {
      "word": "API",
      "replacement": "A P I",
      "comment": "Spell out acronym"
    }
  ]
}

Usage:

# Pronunciations are applied automatically
python3 scripts/tts.py --text "The OpenClaw API is great" --voice rachel

# Disable pronunciations
python3 scripts/tts.py --text "The API is great" --voice rachel --no-pronunciations

💰 Cost Tracking

The skill tracks your character usage and estimates costs:

python3 scripts/tts.py --stats

Output:

📊 ElevenLabs Usage Statistics

  Total Characters: 15,230
  Total Requests:   42
  Since:            2024-01-15

💰 Estimated Costs:
  Starter    $4.57 ($0.30/1k chars)
  Creator    $3.66 ($0.24/1k chars)
  Pro        $2.74 ($0.18/1k chars)
  Scale      $1.68 ($0.11/1k chars)

🤖 OpenClaw TTS Integration

Using with OpenClaw's Built-in TTS

OpenClaw has built-in TTS support that can use ElevenLabs. Configure in ~/.openclaw/openclaw.json:

{
  "tts": {
    "enabled": true,
    "provider": "elevenlabs",
    "elevenlabs": {
      "apiKey": "your-api-key-here",
      "voice": "rachel",
      "model": "eleven_multilingual_v2"
    }
  }
}

Triggering TTS in Chat

In OpenClaw conversations:

  • Use /tts on to enable automatic TTS
  • Use the tts tool directly for one-off speech
  • Request "read this aloud" or "speak this"

Using Skill Scripts from OpenClaw

# OpenClaw can run these scripts directly
exec python3 /path/to/skills/elevenlabs-voices/scripts/tts.py --text "Hello" --voice rachel

⚙ Configuration

The scripts look for API key in this order:

  1. ELEVEN_API_KEY or ELEVENLABS_API_KEY environment variable
  2. Skill-local .env file (in the skill directory)

Create .env file:

echo 'ELEVEN_API_KEY=your-key-here' > .env

Note: The skill no longer reads from ~/.openclaw/openclaw.json. Use environment variables or the skill-local .env file.


🎛 Voice Settings

Each voice has tuned settings for optimal output:

SettingRangeDescription
stability0.0-1.0Higher = consistent, lower = expressive
similarity_boost0.0-1.0How closely to match original voice
style0.0-1.0Exaggeration of speaking style

📝 Triggers

  • "use {voice_name} voice"
  • "speak as {persona}"
  • "list voices"
  • "voice settings"
  • "generate sound effect"
  • "design a voice"

📁 Files

elevenlabs-voices/
├── SKILL.md              # This documentation
├── README.md             # Quick start guide
├── config.json           # Your local config (created by setup, in .gitignore)
├── voices.json           # Voice definitions & settings
├── pronunciations.json   # Custom pronunciation rules
├── examples.md           # Detailed usage examples
├── scripts/
│   ├── setup.py          # Interactive setup wizard
│   ├── tts.py            # Main TTS script
│   ├── sfx.py            # Sound effects generator
│   └── voice-design.py   # Voice design tool
└── references/
    └── voice-guide.md    # Voice selection guide


📋 Changelog

v2.1.0

  • Added interactive setup wizard (scripts/setup.py)
  • Onboarding guides through API key, voice, language, quality, and budget settings
  • Config stored locally in config.json (added to .gitignore)
  • Professional, privacy-focused setup experience

v2.0.0

  • Added 32 language support with --lang parameter
  • Added streaming mode with --stream flag
  • Added sound effects generation (sfx.py)
  • Added batch processing with --batch flag
  • Added cost tracking with --stats flag
  • Added voice design tool (voice-design.py)
  • Added pronunciation dictionary support
  • Added OpenClaw TTS integration documentation
  • Improved error handling and progress output

相关技能

以 AI 机器人身份加入视频会议,提供语音、虚拟形象与屏幕共享四种模式。

作者 johnpatternai22 次安装8 星标

在本地磁盘以分类纯 Markdown 文件保存需要长期留存的事实,与智能体内置记忆并存。

作者 Iván559 次安装18 星标

把自然语言描述转为结构化 JSON,并由 mcp-diagram-generator MCP 服务生成 Draw.io、Mermaid 或 Excalidraw 图表文件。

作者 nssa.io1.0k 次安装47 星标

诊断生产力系统反复失效的根因,给出最小干预——容量测算、瓶颈定位、可靠的本地记录。

作者 Iván855 次安装69 星标

从 AdMapix API 拉取广告创意、应用、榜单和收入预估等数据,原样返回结构化 JSON。

作者 fly0pants4.3k 次安装296 星标

执行 Git 操作(提交、分支、合并、变基、冲突解决与恢复)时强制套用安全规则。

作者 Iván535 次安装31 星标

robbyczgw-cla 的更多技能

浏览全部技能

让 Agent 自动生成 400–600 字的第一人称反思日记,并跟踪金句、决策与心情趋势。

作者 robbyczgw-cla208 次安装6 星标

跨网页搜索、RSS/Atom 订阅和 GitHub 发布持续追踪主题,仅在出现相关内容时推送提醒。

作者 robbyczgw-cla367 次安装27 星标

三位专家子代理并行作答,再可选互相质询,最终输出一份带共识、异议与置信度的综合答案。

作者 robbyczgw-cla62 次安装2 星标

从云服务器环境获取 YouTube 视频转录文本,绕过 YouTube 的反爬检测。

作者 robbyczgw-cla151 次安装5 星标

在任意 AI 回复后,基于上下文生成三条追问建议:快速澄清、深入探索、相关话题。

作者 robbyczgw-cla192 次安装8 星标

随时切换到 20 个内置 AI 人格,覆盖编程、写作、健身、医法科普等场景。

作者 robbyczgw-cla282 次安装27 星标