Local Voice Reply
Generate Feishu voice replies in user required voice. Generate OPUS file to match Feishu audio.
75 downloads
Free
Reviewed
Local Voice Reply
Use this skill to turn text into a cloned-voice audio reply and deliver it to Feishu reliably.
Server implementation is kept with the skill (not workspace root):
server/voice_server_v3.py(FastAPI routes)server/voice_engine.py(generation and cache engine)
Voice assets are also colocated with the skill:
voice/
Use this workflow
- Ensure local v3.3 TTS server is running from this skill folder:
python -m uvicorn --app-dir server voice_server_v3:app --host 127.0.0.1 --port 8000
- Call
/speakwithtext(and optionalspeed,exaggeration,cfg).voice_namedefaults tojuno.
- Receive Opus directly from server (
audio/ogg) in Juno voice. - Save final media into allowed path:
C:\Users\hanli\.openclaw\media\outbound\
- Send with
messagetool:action=sendchannel=feishufilePath=<allowed-path>asVoice=true
Defaults
voice_name:junospeed:1.2- Output format: Opus from server
/speak(no post-conversion)
Speed Improvements In This Version
- Caches model capability lookups once at startup.
- Uses
torch.inference_mode()during synthesis to reduce overhead. - Reuses phrase cache for both
/speakand/speak_stream. - Improves chunking behavior for long CJK text to avoid oversized chunks.
- Keeps latency metrics for benchmarking and tuning.
Common failure and fix
- Error:
LocalMediaAccessError ... path-not-allowed - Fix: copy the file into
.openclaw/media/outboundbefore sending.
Script
Use scripts/send_voice_reply.ps1 to generate Opus directly with defaults (voice_name=juno, speed=1.2).
It auto-selects /speak_stream for longer text (or when -Stream is passed) for better throughput.
Download
ZIP package — ready to use
Skill Info
- Creator
- tenured-master-chef-607
- Downloads
- 75
- Published
- Mar 15, 2026
- Updated
- Mar 16, 2026