name: 语音 description: “语音识别、唤醒词和语音控制交易” emoji: “🎤” gates: envs: anyOf: - OPENAI_API_KEY - WHISPER_MODEL_PATH
语音 - 完整 API 参考
语音控制界面,支持唤醒词检测、语音转文本和文本转语音。
聊天命令
语音控制
/voice start 开始语音监听
/voice stop 停止语音监听
/voice status 检查语音状态
/voice wake "hey clodds" 设置唤醒词
设置
/voice language en-US 设置语言
/voice sensitivity high 唤醒词敏感度
/voice timeout 30 静默超时(秒)
/voice continuous on 启用连续模式
TypeScript API 参考
创建语音助手
import { createVoiceAssistant } from 'clodds/voice';
const voice = createVoiceAssistant({
// 唤醒词
wakeWord: 'hey clodds',
wakeWordSensitivity: 0.5, // 0-1
// 语音转文本
stt: {
provider: 'whisper', // 'whisper' | 'vosk' | 'google'
model: 'base', // 'tiny' | 'base' | 'small' | 'medium' | 'large'
language: 'en',
},
// 文本转语音
tts: {
provider: 'elevenlabs', // 'elevenlabs' | 'say' | 'espeak'
voice: 'rachel',
speed: 1.0,
},
// 超时设置
silenceTimeoutMs: 3000,
maxRecordingMs: 30000,
});
开始/停止监听
// 开始监听唤醒词
await voice.start();
// 检查是否在监听
const isListening = voice.isListening();
// 停止监听
await voice.stop();
事件处理器
// 唤醒词检测到
voice.on('wake', () => {
console.log('唤醒词检测到!');
});
// 语音识别
voice.on('speech', (text: string) => {
console.log(`用户说:${text}`);
});
// 转录完成
voice.on('transcript', (result) => {
console.log(`最终:${result.text}`);
console.log(`置信度:${result.confidence}`);
console.log(`时长:${result.durationMs}毫秒`);
});
// 错误处理
voice.on('error', (error) => {
console.error('语音错误:', error);
});
// 静默检测到
voice.on('silence', () => {
console.log('用户停止说话');
});
说话(文本转语音)
// 说出文本
await voice.speak('您的订单已下');
// 带选项说话
await voice.speak('市场上涨 5%', {
voice: 'josh',
speed: 1.2,
pitch: 1.0,
});
// 取消说话
voice.cancelSpeech();
手动转录
// 转录音频缓冲区
const result = await voice.transcribe(audioBuffer, {
language: 'en',
prompt: '交易命令', // 上下文提示
});
console.log(`文本:${result.text}`);
console.log(`语言:${result.language}`);
语音活动检测
// 检查用户是否在说话
const vad = voice.getVAD();
vad.on('speechStart', () => {
console.log('用户开始说话');
});
vad.on('speechEnd', (audio) => {
console.log('用户停止说话');
// audio 包含录制的语音
});
唤醒词配置
| 设置 | 值 | 描述 |
|---|---|---|
wakeWord |
任何短语 | 触发短语 |
sensitivity |
0.0 - 1.0 | 检测阈值 |
内置唤醒词:
- “hey clodds”
- “okay clodds”
- “clodds”
STT 提供者
| 提供者 | 质量 | 速度 | 离线 |
|---|---|---|---|
| Whisper | 优秀 | 中等 | 是 |
| Vosk | 良好 | 快 | 是 |
| 优秀 | 快 | 否 |
TTS 提供者
| 提供者 | 质量 | 语音 | API 密钥 |
|---|---|---|---|
| ElevenLabs | 高级 | 30+ | 需要 |
| say (macOS) | 良好 | 系统 | 无 |
| espeak | 基本 | 多个 | 无 |
语音命令示例
语音激活后,自然说话:
"Hey Clodds, 我的投资组合价值多少?"
"Hey Clodds, 买入 100 美元的 Trump YES"
"Hey Clodds, 有哪些顶级套利机会?"
"Hey Clodds, 设置比特币在 10 万美元的价格提醒"
最佳实践
- 安静环境 — 背景噪音影响准确性
- 清晰说话 — 清晰说话以获得最佳识别
- 简短命令 — 保持语音命令简洁
- 确认 — 启用交易确认
- 后备 — 文本输入始终可用