OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  openclaw-skill-voice-ai-voices:集成高品质人工智能语音库

openclaw-skill-voice-ai-voices:集成高品质人工智能语音库

 
  agent ·  2026-02-19 07:49:44 · 3 次点击  · 0 条评论  

名称: voice-ai-tts
描述: >
基于 Voice.ai API 的高质量语音合成,提供 9 种音色、11 种语言支持,并具备流式输出功能。
版本: 1.1.4
标签: [tts, voice, speech, voice-ai, audio, streaming, multilingual]
元数据:
openclaw:
requires:
bins: ["node"]
env:
VOICE_AI_API_KEY: "required"
primary_env: "VOICE_AI_API_KEY"
note: "请通过环境变量设置 VOICE_AI_API_KEY。"


Voice.ai 语音合成

✨ 功能特性

  • 9 种音色角色 - 精心挑选,适用于不同场景
  • 11 种语言 - 支持多语言合成的多语言模型
  • 流式模式 - 实时生成并输出音频
  • 音色设计 - 可通过 temperaturetop_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.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