OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  voice-ai-personas:包含 9 种不同人格与 11 种语音的高品质语音合成系统合成系统

voice-ai-personas:包含 9 种不同人格与 11 种语音的高品质语音合成系统合成系统

 
  skill ·  2026-02-28 04:07:46 · 3 次点击  · 0 条评论  

name: voice-ai-tts
description: >
使用 Voice.ai API 实现的高质量语音合成,提供 9 种音色、11 种语言支持,并具备流式输出功能。
version: 1.1.5
tags: [tts, voice, speech, voice-ai, audio, streaming, multilingual]
metadata: {"clawdbot":{"emoji":"🎙️","requires":{"bins":["node"],"env":["VOICE_AI_API_KEY"]},"primaryEnv":"VOICE_AI_API_KEY"},"openclaw":{"requires":{"bins":["node"],"env":{"VOICE_AI_API_KEY":"required"},"note":"通过环境变量设置 VOICE_AI_API_KEY。"}}}


Voice.ai 语音合成

✨ 功能特性

  • 9 种音色角色 - 为不同使用场景精心挑选的语音
  • 11 种语言 - 支持多语言合成的多语言模型
  • 流式模式 - 实时生成并输出音频
  • 语音设计 - 可通过温度(temperature)和 top_p 参数自定义
  • OpenClaw 集成 - 可与 OpenClaw 内置的 TTS 功能协同工作

⚙️ 配置

将您的 API 密钥设置为环境变量:

export VOICE_AI_API_KEY="您的-api-key"

获取 API 密钥: Voice.ai 控制面板


📦 安装

无需安装步骤。此技能包捆绑了 Node.js CLI 和 SDK(无外部 npm 依赖)。

🧩 关键文件

安全说明

完整的安全和隐私概述请参阅 SECURITY.md

此技能:
- 仅向 https://dev.voice.ai 发起出站 HTTPS 请求
- 读取本地文件:voices.json
- 将音频输出写入 --output 指定的路径(默认为 output.mp3
- 不执行 shell 命令,也不修改系统配置文件

🌐 API 端点

SDK 和规范使用 https://dev.voice.ai,这是官方的 Voice.ai 生产 API 域名。


🤖 OpenClaw 集成

如果您的环境暴露了 VOICE_AI_API_KEY,OpenClaw 可以直接调用 CLI 脚本。请根据您的 OpenClaw 安装配置使用 /tts 命令。


📝 触发器

以下聊天命令可与 OpenClaw 配合使用:

命令 描述
/tts <文本> 使用默认语音生成语音
/tts --voice ellie <文本> 使用特定语音生成语音
/tts --stream <文本> 使用流式模式生成
/voices 列出可用语音

示例:

/tts 你好,欢迎使用 Voice.ai!
/tts --voice oliver 大家早上好。
/tts --voice lilith --stream 这是一个很长的故事,将在生成时流式传输...

🎙️ 可用语音

语音 ID 性别 角色 最佳用途
ellie d1bf0f33-8e0e-4fbf-acf8-45c3c6262513 青春活力 视频博客、社交媒体内容
oliver f9e6a5eb-a7fd-4525-9e92-75125249c933 英式口音 旁白、教程
lilith 4388040c-8812-42f4-a264-f457a6b2b5b9 柔和 ASMR、舒缓内容
smooth dbb271df-db25-4225-abb0-5200ba1426bc 深沉 纪录片、有声读物
shadow 72d2a864-b236-402e-a166-a838ccc2c273 独特 游戏、娱乐内容
sakura 559d3b72-3e79-4f11-9b62-9ec702a6c057 动漫 角色配音
zenith ed751d4d-e633-4bb0-8f5e-b5c8ddb04402 深沉 游戏、戏剧性内容
flora a931a6af-fb01-42f0-a8c0-bd14bc302bb1 欢快 儿童内容、活泼内容
commander bd35e4e6-6283-46b9-86b6-7cfa3dd409b9 英雄气概 游戏、动作内容

🌍 支持的语言

代码 语言
en 英语
es 西班牙语
fr 法语
de 德语
it 意大利语
pt 葡萄牙语
pl 波兰语
ru 俄语
nl 荷兰语
sv 瑞典语
ca 加泰罗尼亚语

对于非英语语言,请使用多语言模型:

const audio = await client.generateSpeech({
  text: 'Bonjour le monde!',
  voice_id: 'ellie-voice-id',
  model: 'voiceai-tts-multilingual-v1-latest',
  language: 'fr'
});

🎨 语音设计

使用以下参数自定义语音输出:

参数 范围 默认值 描述
temperature 0-2 1.0 值越高表现力越强,值越低越稳定一致
top_p 0-1 0.8 控制语音生成过程中的随机性

示例:

const audio = await client.generateSpeech({
  text: '这会听起来非常有表现力!',
  voice_id: 'ellie-voice-id',
  temperature: 1.8,
  top_p: 0.9
});

📡 流式模式

使用实时流式传输生成音频(推荐用于长文本):

# 边生成边流式传输音频
node scripts/tts.js --text "这是一个很长的故事..." --voice ellie --stream

# 使用自定义输出进行流式传输
node scripts/tts.js --text "第一章..." --voice oliver --stream --output chapter1.mp3

SDK 流式传输:

const stream = await client.streamSpeech({
  text: '长文本内容...',
  voice_id: 'ellie-voice-id'
});

// 管道传输到文件
stream.pipe(fs.createWriteStream('output.mp3'));

// 或处理数据块
stream.on('data', chunk => {
  // 处理音频数据块
});

🔊 音频格式

格式 描述 使用场景
mp3 标准 MP3 (32kHz) 通用
wav 未压缩 WAV 高质量
pcm 原始 PCM 音频 处理
opus_48000_128 Opus 128kbps 流式传输
mp3_44100_192 高质量 MP3 专业用途

所有格式选项请参阅 voice-ai-tts-sdk.js


💻 CLI 使用

# 设置 API 密钥
export VOICE_AI_API_KEY="您的密钥"

# 生成语音
node scripts/tts.js --text "你好,世界!" --voice ellie

# 选择不同的语音
node scripts/tts.js --text "早上好!" --voice oliver --output morning.mp3

# 对长文本使用流式传输
node scripts/tts.js --text "从前..." --voice lilith --stream

# 显示帮助
node scripts/tts.js --help

📁 文件结构

voice-ai-tts/
├── SKILL.md              # 本文档
├── README.md             # 快速开始
├── CHANGELOG.md          # 版本历史
├── LICENSE.md            # MIT 许可证
├── SECURITY.md           # 安全和隐私说明
├── voices.json           # 语音定义
├── voice-ai-tts.yaml     # OpenAPI 规范
├── voice-ai-tts-sdk.js   # JavaScript/Node.js SDK
├── package.json          # OpenClaw 元数据
├── scripts/
│   └── tts.js            # CLI 工具

💰 成本与用量

Voice.ai 使用基于积分的系统。检查您的用量:

// SDK 通过 API 响应跟踪用量
const voices = await client.listVoices();
// 检查响应头中的速率限制信息

降低成本的小贴士:
- 对长文本使用流式传输(更高效)
- 尽可能缓存生成的音频
- 根据您的使用场景选择合适的音频质量


🔗 链接


📋 更新日志

v1.1.5 (2026-02-16)

  • 通过 metadata.clawdbot 声明运行时要求,以便 ClawHub 显示所需的环境变量

v1.1.4 (2026-02-16)

  • 在元数据中将 VOICE_AI_API_KEY 声明为主要环境变量

v1.1.3 (2026-02-16)

  • 从发布的捆绑包中移除语音样本上传功能,以降低隐私风险
  • 仅通过环境变量要求 VOICE_AI_API_KEY

v1.1.2 (2026-02-16)

  • 添加了 SECURITY.mdLICENSE.md 以提供来源和透明度
  • 将 SDK 传输限制为仅 HTTPS

v1.1.1 (2026-02-16)

  • 针对 ClawHub 导入的打包元数据改进(bin/files 元数据)

v1.1.0 (2026-02-16)

  • 在元数据中声明了所需的凭据
  • 记录了生产 API 端点域名
  • 为语音角色重命名以符合知识产权安全标签
  • 添加了 voices.json 用于语音数据

v1.0.0 (2025-01-31)

  • 初始版本
  • 9 种精选语音角色
  • 支持 11 种语言
  • 流式模式
  • 语音设计参数
  • 包含错误处理的完整 SDK
  • CLI 工具

🛠️ SDK 快速参考

const VoiceAI = require('./voice-ai-tts-sdk');
const client = new VoiceAI(process.env.VOICE_AI_API_KEY);

// 列出语音
const voices = await client.listVoices({ limit: 10 });

// 获取语音详情
const voice = await client.getVoice('voice-id');

// 生成语音
const audio = await client.generateSpeech({
  text: '你好,世界!',
  voice_id: 'voice-id',
  audio_format: 'mp3'
});

// 生成到文件
await client.generateSpeechToFile(
  { text: '你好!', voice_id: 'voice-id' },
  'output.mp3'
);

// 流式传输语音
const stream = await client.streamSpeech({
  text: '长文本...',
  voice_id: 'voice-id'
});

// 删除语音
await client.deleteVoice('voice-id');

❓ 故障排除

错误 原因 解决方案
AuthenticationError API 密钥无效 检查您的 VOICE_AI_API_KEY
PaymentRequiredError 积分不足 在 voice.ai/dashboard 添加积分
RateLimitError 请求过多 等待后重试,或升级计划
ValidationError 参数无效 检查文本长度和 voice_id

Nick Gill 倾情制作 ❤️

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor