语音库 #
概述 #
ElevenLabs 语音库提供了丰富的预置语音资源,包括官方语音、社区分享语音,帮助你快速找到适合项目需求的完美声音。
text
┌─────────────────────────────────────────────────────────────┐
│ 语音库组成 │
├─────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 官方语音 │ │ 社区语音 │ │ 克隆语音 │ │
│ │ Premade │ │ Shared │ │ Cloned │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
│ 特点: │
│ ├── 官方语音:高质量、多风格 │
│ ├── 社区语音:丰富多样、免费使用 │
│ └── 克隆语音:自定义、专属 │
│ │
└─────────────────────────────────────────────────────────────┘
官方预置语音 #
热门语音 #
text
┌─────────────────────────────────────────────────────────────┐
│ 推荐预置语音 │
├─────────────────────────────────────────────────────────────┤
│ │
│ Rachel (JBFqnCBsd6RMkjVDRZzb) │
│ ├── 性别:女性 │
│ ├── 口音:美式英语 │
│ ├── 特点:温暖、专业、清晰 │
│ └── 适用:有声书、教程、客服 │
│ │
│ Domi (AZnzlk1XvdvUeBn1ldMn) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:深沉、有力、稳重 │
│ └── 适用:广告、纪录片、游戏 │
│ │
│ Bella (EXAVITQu4vr4xnSDxMaL) │
│ ├── 性别:女性 │
│ ├── 口音:美式英语 │
│ ├── 特点:柔和、友好、年轻 │
│ └── 适用:播客、对话、教育 │
│ │
│ Antoni (ErXwLH5i43ZdrnRw6Rgd) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:清晰、稳重、专业 │
│ └── 适用:新闻、商务、教程 │
│ │
│ Elli (MF3mGyEYCl7XYWbV9V6O) │
│ ├── 性别:女性 │
│ ├── 口音:美式英语 │
│ ├── 特点:年轻、活力、亲切 │
│ └── 适用:游戏、动画、社交媒体 │
│ │
│ Josh (TxGEqnHWrfWFTfGW9XjX) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:成熟、可靠、温暖 │
│ └── 适用:有声书、纪录片、广告 │
│ │
│ Arnold (VR6AewLTigWG4xSOukaG) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:深沉、戏剧性 │
│ └── 适用:电影预告、游戏、广告 │
│ │
│ Adam (pNInz6obpgDQGcFmaJgB) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:标准、中性、清晰 │
│ └── 适用:通用场景、教程 │
│ │
│ Sam (yoZ06aMxZJJ28mfd3POQ) │
│ ├── 性别:男性 │
│ ├── 口音:美式英语 │
│ ├── 特点:年轻、友好 │
│ └── 适用:对话、游戏、播客 │
│ │
└─────────────────────────────────────────────────────────────┘
多语言语音 #
text
┌─────────────────────────────────────────────────────────────┐
│ 多语言语音 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 中文语音: │
│ ├── 多种中文预置语音 │
│ ├── 支持普通话和粤语 │
│ └── 适合中文内容创作 │
│ │
│ 日语语音: │
│ ├── 自然流畅的日语发音 │
│ └── 适合动画、游戏配音 │
│ │
│ 欧洲语言: │
│ ├── 法语、德语、西班牙语 │
│ ├── 意大利语、葡萄牙语 │
│ └── 多种口音选择 │
│ │
└─────────────────────────────────────────────────────────────┘
使用 API 获取语音 #
获取所有语音 #
python
from elevenlabs import ElevenLabs
client = ElevenLabs(api_key="your_api_key")
# 获取所有可用语音
voices = client.voices.get_all()
for voice in voices.voices:
print(f"Name: {voice.name}")
print(f"ID: {voice.voice_id}")
print(f"Category: {voice.category}")
print(f"Labels: {voice.labels}")
print("---")
筛选语音 #
python
# 筛选特定类型的语音
def filter_voices(voices, gender=None, accent=None):
filtered = []
for voice in voices.voices:
labels = voice.labels or {}
if gender and labels.get("gender") != gender:
continue
if accent and labels.get("accent") != accent:
continue
filtered.append(voice)
return filtered
# 示例:筛选女性语音
female_voices = filter_voices(voices, gender="female")
获取语音详情 #
python
# 获取单个语音的详细信息
voice = client.voices.get(voice_id="JBFqnCBsd6RMkjVDRZzb")
print(f"Name: {voice.name}")
print(f"Samples: {voice.samples}")
print(f"Settings: {voice.settings}")
语音预览 #
生成预览音频 #
python
def preview_voice(client, voice_id, text="Hello, this is a voice preview."):
audio = client.text_to_speech.convert(
text=text,
voice_id=voice_id,
model_id="eleven_multilingual_v2"
)
output_path = f"preview_{voice_id}.mp3"
with open(output_path, "wb") as f:
for chunk in audio:
f.write(chunk)
return output_path
# 预览多个语音
voice_ids = [
"JBFqnCBsd6RMkjVDRZzb", # Rachel
"AZnzlk1XvdvUeBn1ldMn", # Domi
"EXAVITQu4vr4xnSDxMaL", # Bella
]
for voice_id in voice_ids:
preview_voice(client, voice_id)
社区语音 #
语音分享 #
text
┌─────────────────────────────────────────────────────────────┐
│ 社区语音分享 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 功能: │
│ ├── 用户可分享自己的克隆语音 │
│ ├── 其他用户可使用分享的语音 │
│ └── 丰富的语音资源库 │
│ │
│ 使用方式: │
│ 1. 访问 ElevenLabs Voice Library │
│ 2. 浏览或搜索社区语音 │
│ 3. 点击 "Use Voice" 添加到你的语音库 │
│ │
│ 注意: │
│ ├── 社区语音质量参差不齐 │
│ ├── 部分语音可能有使用限制 │
│ └── 建议先预览再使用 │
│ │
└─────────────────────────────────────────────────────────────┘
分享你的语音 #
python
# 通过 API 分享语音(需要权限)
# 通常通过 Web 界面操作更方便
语音选择指南 #
按场景选择 #
text
┌─────────────────────────────────────────────────────────────┐
│ 场景化语音选择 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 有声书/播客: │
│ ├── Rachel - 温暖专业 │
│ ├── Josh - 成熟稳重 │
│ └── Antoni - 清晰标准 │
│ │
│ 广告/营销: │
│ ├── Domi - 有力深沉 │
│ ├── Arnold - 戏剧性 │
│ └── Elli - 活力年轻 │
│ │
│ 教育/教程: │
│ ├── Rachel - 清晰友好 │
│ ├── Adam - 标准中性 │
│ └── Bella - 亲切易懂 │
│ │
│ 游戏/动画: │
│ ├── Elli - 年轻活力 │
│ ├── Sam - 友好亲切 │
│ └── Arnold - 戏剧性 │
│ │
│ 客服/助手: │
│ ├── Rachel - 专业温暖 │
│ ├── Bella - 友好亲切 │
│ └── Adam - 标准清晰 │
│ │
│ 新闻/播报: │
│ ├── Antoni - 专业稳重 │
│ ├── Adam - 标准清晰 │
│ └── Domi - 深沉有力 │
│ │
└─────────────────────────────────────────────────────────────┘
按语言选择 #
text
多语言内容:
├── 使用 eleven_multilingual_v2 模型
├── 大多数语音支持多语言
└── 建议测试不同语音效果
特定语言:
├── 中文:选择支持中文的语音
├── 日语:选择日语优化语音
└── 其他语言:参考官方文档
语音管理 #
添加到收藏 #
python
# 通过 Web 界面添加语音到收藏
# API 暂不支持此功能
组织语音 #
python
# 创建语音映射字典
voice_mapping = {
"narrator": "JBFqnCBsd6RMkjVDRZzb", # Rachel
"character_male": "AZnzlk1XvdvUeBn1ldMn", # Domi
"character_female": "EXAVITQu4vr4xnSDxMaL", # Bella
"assistant": "ErXwLH5i43ZdrnRw6Rgd", # Antoni
}
def get_voice(role):
return voice_mapping.get(role, "JBFqnCBsd6RMkjVDRZzb")
最佳实践 #
语音测试流程 #
text
┌─────────────────────────────────────────────────────────────┐
│ 语音测试流程 │
├─────────────────────────────────────────────────────────────┤
│ │
│ 1. 确定需求 │
│ ├── 内容类型 │
│ ├── 目标受众 │
│ └── 情感基调 │
│ │
│ 2. 筛选候选语音 │
│ ├── 根据场景选择 │
│ ├── 考虑语言支持 │
│ └── 选择 3-5 个候选 │
│ │
│ 3. 生成测试样本 │
│ ├── 使用实际内容 │
│ ├── 测试不同情感 │
│ └── 调整语音设置 │
│ │
│ 4. 评估选择 │
│ ├── 音质评估 │
│ ├── 情感匹配 │
│ └── 最终选择 │
│ │
└─────────────────────────────────────────────────────────────┘
性能考虑 #
python
# 缓存常用语音 ID
VOICE_CACHE = {}
def get_voice_with_cache(client, voice_name):
if voice_name in VOICE_CACHE:
return VOICE_CACHE[voice_name]
voices = client.voices.get_all()
for voice in voices.voices:
if voice.name == voice_name:
VOICE_CACHE[voice_name] = voice.voice_id
return voice.voice_id
return None
下一步 #
最后更新:2026-04-05