语音交互接口

Claude Voice是一个本地语音交互接口,通过VoiceMode MCP实现语音输入和输出,使用本地Whisper进行语音转文本,本地Kokoro TTS进行文本转语音,适用于需要隐私保护的语音交互场景。

  • by masterbainter
  • Shell
  • 本地部署
  • 1 星标
  • 更新于
在 GitHub 查看 masterbainter/claude-voice

使用说明

克劳德语音

使用VoiceMode MCP的Claude Code本地语音接口。

特点/功能

  • 100%本地化且免费无需OpenAI API密钥
  • 隐私优先语音处理在您的设备上进行
  • 语音输入使用本地Whisper进行语音转文字
  • 语音输出使用本地Kokoro TTS,提供67种声音
  • 由Claude Max提供动力您订阅的Claude提供的AI回复

先决条件

  • Linux(发音类似“林克斯”,但通常直接音译为“林克斯”或保留原英文名) (在Arch系统上测试)
  • 克劳德·科德 CLI 已安装并已通过身份验证
  • CMake 用于构建Whisper
  • Python 3.10及以上版本
  • 克劳德·马克订阅 (针对人工智能的回答)

快速入门

运行自动化安装脚本:

./setup.sh

或者按照以下手动安装步骤进行操作。

手动安装

1. 安装 uv(Python 包管理器)

curl -LsSf https://astral.sh/uv/install.sh | sh

2. 安装 cmake

Arch Linux:

sudo pacman -S cmake

Ubuntu/Debian:(保持原样,因为这是两个Linux发行版的名称,直接翻译为中文也不改变其含义,所以这里直接保留原英文)

sudo apt install cmake

3. 安装VoiceMode

uvx voice-mode-install

4. 在Claude代码中添加VoiceMode功能

claude mcp add --scope user voicemode -- uvx --refresh voice-mode

5. 安装本地语音服务

安装Whisper(语音转文字):

voicemode whisper install

安装Kokoro(文本转语音):

voicemode kokoro install

6. 修复Whisper与OpenAI的兼容性问题

编辑Whisper服务配置:

nano ~/.config/systemd/user/voicemode-whisper.service

找到 ExecStart 划线并添加 --inference-path "/v1/audio/transcriptions" 直到最后:

ExecStart=/home/YOUR_USERNAME/.voicemode/services/whisper/build/bin/whisper-server --host 0.0.0.0 --port 2022 --model /home/YOUR_USERNAME/.voicemode/services/whisper/models/ggml-base.bin --inference-path "/v1/audio/transcriptions"

重新加载并重启:

systemctl --user daemon-reload
voicemode whisper stop
voicemode whisper start

7. 手动启动Kokoro

cd ~/.voicemode/services/kokoro
bash start-cpu.sh &

使用方法

开始语音对话

claude converse

然后说出你的问题!克劳德会:

  1. 通过麦克风监听(约3秒)
  2. 使用Whisper转录你的演讲(在CPU上大约需要11-14秒)
  3. 使用Claude生成AI回复(时间不一)
  4. 用Kokoro说出回应(约3-5秒)

其他命令

# Regular Claude Code (text only)
claude

# Check service status
voicemode whisper status
voicemode kokoro status

# Try different voices (67 available!)
claude converse --voice af_heart

# List available voices
voicemode kokoro --help

演出

当前设置(本地CPU):

  • 语音转文字:约11-14秒(使用CPU运行的Whisper基础模型)
  • 文本转语音:约3-5秒(Kokoro)
  • 总计:每回合约19-20秒

更快的选项:

  1. 使用更小的Whisper模型 (3-5倍快,准确性略低):

    voicemode whisper model set tiny
    
  2. 使用OpenAI云端Whisper服务 “API”必须翻译为API

    • 在 https://platform.openai.com/api-keys 获取5美元免费信用额度
    • 成本:约0.006美元/分钟(0.36美元/小时)
    • 设置: export OPENAI_API_KEY="your-key"

服务

  • 窃窃私语http://127.0.0.1:2022
  • Kokoro(こころ)在日语中通常翻译为“心”或“心意”,它不仅仅指生理上的心脏,更蕴含着情感、意志和心灵的深层含义http://127.0.0.1:8880
  • Kokoro网页播放器http://localhost:8880/web/ 翻译为中文是:“本地主机上的8880端口,访问/web/路径”

故障排除

“Whisper not transcribing” 可以翻译为:“不要转录(或:不要记录)耳语”。不过,这个短语在中文里可能不是特别常见,具体翻译可能需要根据上下文来调整,以更贴切地表达原意。如果“Whisper”在这里指的是某个特定的功能或设置,比如在某个软件或设备中用于开启或关闭耳语转录的功能,那么翻译时可能需要加入这个特定的上下文信息。但基于一般理解,上述翻译应该是一个合理的表达

检查Whisper是否正在使用正确的参数运行:

ps aux | grep whisper-server

应该显示 --inference-path /v1/audio/transcriptions

如果不是,请重启:

voicemode whisper stop
voicemode whisper start

Kokoro(心)不说话

手动启动Kokoro:

cd ~/.voicemode/services/kokoro
bash start-cpu.sh &

检查状态:

curl http://127.0.0.1:8880/health

服务未自动启动

启用服务在启动时自动运行:

voicemode whisper enable
voicemode kokoro enable

未来的改进/增强

添加网页界面

对于手机/笔记本电脑浏览器访问:

sudo voicemode livekit install
voicemode livekit frontend install
voicemode livekit frontend start

建筑学

You speak → Microphone
    ↓
Whisper (local STT) → Text
    ↓
Claude Code (MCP) → AI Response
    ↓
Kokoro (local TTS) → Audio
    ↓
Speakers → You hear

功劳;学分;积分(根据上下文,"Credits" 可能有不同的翻译,这里提供了几种可能的译法)

  • 语音模式https://github.com/mbailey/voicemode(可翻译为):https://github.com/mbailey/语音模式(注:这里的“voicemode”根据上下文可能指的是一个特定的项目或功能名称,因此直接翻译为“语音模式”可能不完全准确,但在此处作为通用翻译提供)
  • **Whisper.cpp(可译为“Whisper的C++版本”或根据上下文简化为“Whisper C++”)**https://github.com/ggml-org/whisper.cpp 的中文翻译是:“https://github.com/ggml-org/whisper.cpp(GitHub上的whisper.cpp项目)”。不过,通常在提到这样的网址时,我们可能会简化为直接说“GitHub上的whisper.cpp项目链接”,或者根据上下文具体说明。如果只是需要翻译网址本身,上述翻译即可
  • **Kokoro TTS(心声文本转语音)**https://github.com/remsky/Kokoro-FastAPI(中文可译为:“https://github.com/remsky/Kokoro-FastAPI 项目/仓库”)
  • 克劳德·科德https://github.com/anthropics/claude-code 翻译为中文是:“https://github.com/anthropics/claude-code(克劳德代码仓库)”。不过,通常我们直接保留网址不变,只对其中的特定部分或整体进行翻译说明,但在这里为了符合要求,我给出了一个包含网址和简要说明的翻译形式。在实际应用中,网址通常直接使用,无需翻译

许可证

麻省理工学院(MIT)

做出贡献

欢迎提交拉取请求!请在提交前在您的系统上进行测试。