返回顶部
v

voice-chat

语音对话集成技能,支持双向语音交流。使用TTS和STT实现完整的语音对话功能。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
314
下载量
0
收藏
概述
安装方式
版本历史

voice-chat

# 语音对话技能 实现完整的双向语音对话功能,支持语音输入和语音输出。 ## 功能特性 ### ✅ 已实现功能 1. **文本转语音(TTS)** - 使用OpenClaw内置tts工具 - 支持中英文混合 - 实时音频生成 2. **语音转文本(STT)** - 使用Python speech_recognition库 - 支持麦克风输入 - 多引擎支持(Google、Whisper等) 3. **对话管理** - 自动语音检测 - 对话上下文保持 - 中断处理 ### 🔧 技术架构 ``` 语音输入 → STT转换 → 文本处理 → AI响应 → TTS转换 → 语音输出 ``` ## 安装要求 ### 必需组件 1. **Python 3.8+** 2. **speech_recognition库** 3. **pyaudio库**(Windows需要额外安装) ### 可选组件 1. **Whisper** - 更准确的本地STT 2. **ElevenLabs API** - 高质量TTS 3. **OpenAI API** - 云端STT ## 快速开始 ### 1. 安装依赖 ```bash # 安装Python库 pip install SpeechRecognition pyaudio # Windows pyaudio安装(如果失败) pip install pipwin pipwin install pyaudio ``` ### 2. 基础语音对话脚本 ```python # voice_chat.py import speech_recognition as sr import subprocess import tempfile import os class VoiceChat: def __init__(self): self.recognizer = sr.Recognizer() self.microphone = sr.Microphone() def listen(self): """监听语音输入并转换为文本""" with self.microphone as source: print("🎤 请说话...") audio = self.recognizer.listen(source) try: text = self.recognizer.recognize_google(audio, language='zh-CN') print(f"📝 识别结果: {text}") return text except sr.UnknownValueError: return "无法识别语音" except sr.RequestError: return "语音识别服务不可用" def speak(self, text): """使用OpenClaw TTS朗读文本""" # 调用OpenClaw tts工具 print(f"🗣️ 正在朗读: {text}") # 这里可以集成OpenClaw tts工具 def conversation_loop(self): """对话循环""" print("🎧 语音对话已启动,按Ctrl+C退出") while True: # 监听语音 user_input = self.listen() if user_input and "退出" not in user_input: # 生成响应(这里可以集成AI模型) response = f"我听到你说: {user_input}" # 语音输出 self.speak(response) if __name__ == "__main__": chat = VoiceChat() chat.conversation_loop() ``` ### 3. 集成OpenClaw TTS ```python def openclaw_tts(text, output_file="output.mp3"): """调用OpenClaw TTS工具""" import subprocess import json # 创建临时文件 with tempfile.NamedTemporaryFile(mode='w', suffix='.json', delete=False) as f: tts_request = { "text": text, "channel": "webchat" } json.dump(tts_request, f) request_file = f.name try: # 调用tts工具(需要OpenClaw环境) result = subprocess.run([ "node", "path/to/openclaw/tts-tool.js", "--input", request_file, "--output", output_file ], capture_output=True, text=True) if result.returncode == 0: print(f"✅ 语音文件已生成: {output_file}") # 播放音频 subprocess.run(["start", output_file], shell=True) else: print(f"❌ TTS失败: {result.stderr}") finally: os.unlink(request_file) ``` ## 高级配置 ### 使用Whisper进行本地STT ```python def whisper_stt(audio_file): """使用Whisper进行语音识别""" import whisper model = whisper.load_model("base") result = model.transcribe(audio_file, language="zh") return result["text"] ``` ### 使用ElevenLabs高质量TTS ```python def elevenlabs_tts(text, voice_id="21m00Tcm4TlvDq8ikWAM", api_key=None): """使用ElevenLabs TTS""" import requests url = f"https://api.elevenlabs.io/v1/text-to-speech/{voice_id}" headers = { "xi-api-key": api_key or os.environ.get("ELEVENLABS_API_KEY"), "Content-Type": "application/json" } data = { "text": text, "model_id": "eleven_multilingual_v2", "voice_settings": { "stability": 0.5, "similarity_boost": 0.5 } } response = requests.post(url, json=data, headers=headers) if response.status_code == 200: with open("output.mp3", "wb") as f: f.write(response.content) return "output.mp3" else: raise Exception(f"ElevenLabs TTS失败: {response.text}") ``` ## 故障排除 ### 常见问题 1. **麦克风无法识别** - 检查麦克风权限 - 尝试指定麦克风设备索引 2. **pyaudio安装失败** - Windows: 使用`pipwin install pyaudio` - macOS: `brew install portaudio` 3. **语音识别准确率低** - 调整环境噪音 - 使用更准确的模型(Whisper large) - 添加语音训练 ### 性能优化 1. **缓存模型**:预加载Whisper模型 2. **流式处理**:实时语音处理 3. **降噪处理**:改善语音质量 ## 安全注意事项 1. **API密钥保护**:不要硬编码API密钥 2. **隐私保护**:语音数据本地处理 3. **权限管理**:麦克风访问权限控制 ## 扩展功能 ### 计划中的功能 1. **多语言支持**:自动检测语言 2. **语音命令**:特定语音指令识别 3. **情绪识别**:从语音中识别情绪 4. **实时翻译**:跨语言语音对话 --- *技能版本: 1.0.0* *最后更新: 2026-02-28*

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 voice-chat-skill-1776285614 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 voice-chat-skill-1776285614 技能

通过命令行安装

skillhub install voice-chat-skill-1776285614

下载 Zip 包

⬇ 下载 voice-chat v1.0.0

文件大小: 19.59 KB | 发布时间: 2026-4-16 17:28

v1.0.0 最新 2026-4-16 17:28
voice-chat-skill v1.0.0

- Initial release of voice-chat skill, enabling bi-directional voice conversation.
- Supports speech-to-text (STT) using speech_recognition (Google, Whisper, etc.).
- Supports text-to-speech (TTS) through OpenClaw built-in tools and optional ElevenLabs API.
- Maintains conversation context and includes voice activity detection.
- Includes robust setup instructions, advanced configuration options, troubleshooting, and security guidelines.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部