<< All versions
Skill v1.0.1
currentAutomated scan96/100alsk1992/cloddsbot/voice
2 files
──Details
PublishedSeptember 9, 2026 at 01:08 AM
Content Hashsha256:7c95c4f713dc182a...
Git SHA715fd4a6c06b
Bump Typepatch
──Files
Files (1 file, 4.4 KB)
SKILL.md4.4 KBactive
SKILL.md · 219 lines · 4.4 KB
version: "1.0.1" name: voice description: "Voice recognition, wake words, and voice-controlled trading" emoji: "🎤" gates: envs: anyOf:
- OPENAI_API_KEY
- WHISPER_MODEL_PATH
Voice - Complete API Reference
Voice-controlled interface with wake word detection, speech-to-text, and text-to-speech.
Chat Commands
Voice Control
/voice start Start voice listening/voice stop Stop voice listening/voice status Check voice status/voice wake "hey clodds" Set wake word
Settings
/voice language en-US Set language/voice sensitivity high Wake word sensitivity/voice timeout 30 Silence timeout (seconds)/voice continuous on Enable continuous mode
TypeScript API Reference
Create Voice Assistant
typescript
import { createVoiceAssistant } from 'clodds/voice';const voice = createVoiceAssistant({// Wake wordwakeWord: 'hey clodds',wakeWordSensitivity: 0.5, // 0-1// Speech-to-textstt: {provider: 'whisper', // 'whisper' | 'vosk' | 'google'model: 'base', // 'tiny' | 'base' | 'small' | 'medium' | 'large'language: 'en',},// Text-to-speechtts: {provider: 'elevenlabs', // 'elevenlabs' | 'say' | 'espeak'voice: 'rachel',speed: 1.0,},// TimeoutssilenceTimeoutMs: 3000,maxRecordingMs: 30000,});
Start/Stop Listening
typescript
// Start listening for wake wordawait voice.start();// Check if listeningconst isListening = voice.isListening();// Stop listeningawait voice.stop();
Event Handlers
typescript
// Wake word detectedvoice.on('wake', () => {console.log('Wake word detected!');});// Speech recognizedvoice.on('speech', (text: string) => {console.log(`User said: ${text}`);});// Transcription completevoice.on('transcript', (result) => {console.log(`Final: ${result.text}`);console.log(`Confidence: ${result.confidence}`);console.log(`Duration: ${result.durationMs}ms`);});// Error handlingvoice.on('error', (error) => {console.error('Voice error:', error);});// Silence detectedvoice.on('silence', () => {console.log('User stopped speaking');});
Speak (TTS)
typescript
// Speak textawait voice.speak('Your order has been placed');// Speak with optionsawait voice.speak('Market is up 5%', {voice: 'josh',speed: 1.2,pitch: 1.0,});// Cancel speakingvoice.cancelSpeech();
Manual Transcription
typescript
// Transcribe audio bufferconst result = await voice.transcribe(audioBuffer, {language: 'en',prompt: 'Trading commands', // Context hint});console.log(`Text: ${result.text}`);console.log(`Language: ${result.language}`);
Voice Activity Detection
typescript
// Check if user is speakingconst vad = voice.getVAD();vad.on('speechStart', () => {console.log('User started speaking');});vad.on('speechEnd', (audio) => {console.log('User stopped speaking');// audio contains the recorded speech});
Wake Word Configuration
| Setting | Values | Description | |
|---|---|---|---|
wakeWord | Any phrase | Trigger phrase | |
sensitivity | 0.0 - 1.0 | Detection threshold |
Built-in wake words:
- "hey clodds"
- "okay clodds"
- "clodds"
STT Providers
| Provider | Quality | Speed | Offline | |
|---|---|---|---|---|
| Whisper | Excellent | Medium | Yes | |
| Vosk | Good | Fast | Yes | |
| Excellent | Fast | No |
TTS Providers
| Provider | Quality | Voices | API Key | |
|---|---|---|---|---|
| ElevenLabs | Premium | 30+ | Required | |
| say (macOS) | Good | System | None | |
| espeak | Basic | Many | None |
Voice Commands Examples
Once voice is active, speak naturally:
"Hey Clodds, what's my portfolio value?""Hey Clodds, buy 100 dollars of Trump YES""Hey Clodds, what are the top arbitrage opportunities?""Hey Clodds, set a price alert for Bitcoin at 100k"
Best Practices
- Quiet environment — Background noise affects accuracy
- Clear speech — Speak clearly for best recognition
- Short commands — Keep voice commands concise
- Confirmation — Enable confirmations for trades
- Fallback — Text input always available