语音控制Skill voice

这个技能提供语音控制接口,支持唤醒词检测、语音转文本和文本转语音,可用于语音控制交易等场景,提升操作效率和智能化体验。关键词:语音识别、唤醒词、语音控制、API、量化交易、智能助手、NLP、人工智能

NLP 1 次安装 3 次浏览 更新于 3/9/2026

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 良好
Google 优秀

TTS 提供者

提供者 质量 语音 API 密钥
ElevenLabs 高级 30+ 需要
say (macOS) 良好 系统
espeak 基本 多个

语音命令示例

语音激活后,自然说话:

"Hey Clodds, 我的投资组合价值多少?"
"Hey Clodds, 买入 100 美元的 Trump YES"
"Hey Clodds, 有哪些顶级套利机会?"
"Hey Clodds, 设置比特币在 10 万美元的价格提醒"

最佳实践

  1. 安静环境 — 背景噪音影响准确性
  2. 清晰说话 — 清晰说话以获得最佳识别
  3. 简短命令 — 保持语音命令简洁
  4. 确认 — 启用交易确认
  5. 后备 — 文本输入始终可用