语音 MCP
Goose MCP 扩展,用于与现代音频可视化进行语音交互。
https://github.com/user-attachments/assets/f10f29d9-8444-43fb-a919-c80b9e0a12c8
概述
Speech MCP 为Goose提供了语音界面,允许用户通过语音而非文本进行交互。它包括:
用于语音识别的实时音频处理
使用 Faster-whisper(OpenAI Whisper 模型的更快实现)进行本地语音转文本
高品质文本转语音,多种语音选项
基于 PyQt 的现代 UI,具有音频可视化功能
用于语音交互的简单命令行界面
特征
现代用户界面:基于 PyQt 的时尚界面,具有音频可视化和深色主题
语音输入:使用快速耳语捕捉并转录用户语音
语音输出:使用 54+ 种语音选项将座席响应转换为语音
多说话人旁白:为故事和对话生成具有多个声音的音频文件
单声道叙述:用您喜欢的声音将任何文本转换为语音
音频/视频转录:使用可选的时间戳和说话人检测功能转录各种媒体格式的语音
语音持久性:记住您在会话期间喜欢的声音
连续对话:代理响应后自动监听用户输入
静音检测:当用户停止说话时自动停止录音
强大的错误处理:通过有用的语音建议从常见故障模式中优雅恢复
安装
重要提示:安装后,首次使用语音界面时,可能需要几分钟下载 Kokoro 语音模型(每个语音约 523 KB)。在此初始设置期间,系统将使用听起来更像机器人的备用语音。下载 Kokoro 语音后,将自动使用高质量语音。
⚠️ 重要先决条件 ⚠️
在安装 Speech MCP 之前,你必须在系统上安装 PortAudio。PyAudio 需要 PortAudio 才能从麦克风捕获音频。
PortAudio 安装说明
macOS:
Linux(Debian/Ubuntu):
Linux(Fedora/RHEL/CentOS):
**Windows:**对于 Windows,PortAudio 包含在 PyAudio wheel 文件中,因此使用 pip 安装 PyAudio 时无需单独安装。
注意:如果跳过此步骤,PyAudio 安装将失败并出现“未找到 portaudio.h 文件”错误,并且扩展将无法工作。
选项 1:快速安装(一键安装)
如果您已安装 Goose,请点击下面的链接:
选项 2:使用 Goose CLI(推荐)
启动 Goose 并启用您的扩展程序:
选项 3:在 Goose 中手动设置
运行
goose configure
从菜单中选择“添加扩展”
选择“命令行扩展”
输入名称(例如“语音界面”)
对于命令,输入:
speech-mcp
按照提示完成设置
选项 4:手动安装
安装 PortAudio(参见先决条件部分)
克隆此存储库
安装依赖项:
uv pip install -e .或者包括 Kokoro TTS 的完整安装:
uv pip install -e .[all]
依赖项
Python 3.10+
PyQt5(适用于现代 UI)
PyAudio(用于音频捕获)
更快的耳语(用于语音转文本)
NumPy(用于音频处理)
Pydub(用于音频处理)
psutil(用于进程管理)
可选依赖项
Kokoro TTS :用于多种声音的高质量文本转语音
要安装 Kokoro,您可以使用带有可选依赖项的 pip:
pip install speech-mcp[kokoro] # Basic Kokoro support with English pip install speech-mcp[ja] # Add Japanese support pip install speech-mcp[zh] # Add Chinese support pip install speech-mcp[all] # All languages and features或者,运行安装脚本:
python scripts/install_kokoro.py
请参阅Kokoro TTS 指南以了解更多信息
多位发言人旁白
MCP 支持生成多声部音频文件,非常适合创作故事、对话和戏剧朗读。您可以使用 JSON 或 Markdown 格式来定义对话。
JSON格式示例:
Markdown 格式示例:
按类别划分的可用声音:
美国女性(af_*):
合金、奥德、贝拉、心、杰西卡、科雷、妮可、新星、河流、莎拉、天空
美国男性(am_*):
亚当、艾科、埃里克、芬里尔、利亚姆、迈克尔、奥尼克斯、帕克、圣诞老人
英国女性(bf_*):
爱丽丝、艾玛、伊莎贝拉、莉莉
英国男性(bm_*):
丹尼尔、寓言、乔治、刘易斯
其他英语:
ef_dora(女)
em_alex,em_santa(男)
其他语言:
法语: ff_siwis
印地语:hf_alpha、hf_beta、hm_omega、hm_psi
意大利语:if_sara、im_nicola
日语:jf_ 、jm_
葡萄牙语:pf_dora、pm_alex、pm_santa
中文: zf_ , zm_
使用示例:
对话中每个角色的声音可以不同,从而允许故事和对话中角色的声音各异。pause_after pause_after
用于在各个片段之间添加自然停顿。
单声道叙述
对于简单的文本到语音的转换,您可以使用narrate
工具:
narrate 工具将使用您配置的语音偏好设置或默认语音 (af_heart) 来生成音频文件。您可以通过 UI 界面或设置SPEECH_MCP_TTS_VOICE
环境变量来更改默认语音。
音频转录
MCP 可以使用 Faster-Whisper 从各种音频和视频格式转录语音:
支持的格式:
音频:mp3、wav、m4a、flac、aac、ogg
视频:mp4、mov、avi、mkv、webm(自动提取音频)
输出文件:
转录工具生成两个文件:
{input_name}.transcript.txt
:包含转录文本{input_name}.metadata.json
:包含有关转录的元数据
特征:
自动语言检测
可选的字级时间戳
可选扬声器检测
从视频文件中高效提取音频
长文件的进度跟踪
详细元数据包括:
期间
语言检测置信度
处理时间
扬声器变化(启用时)
用法
要将此 MCP 与 Goose 一起使用,只需让 Goose 与您交谈或开始语音对话:
通过以下方式开始对话:
"Let's talk using voice" "Can we have a voice conversation?" "I'd like to speak instead of typing"Goose 将自动启动语音界面并开始聆听您的语音输入。
当 Goose 做出回应时,它会大声说出回应,然后自动听取您的下一个输入。
对话自然地继续进行,交替说和听,就像与人交谈一样。
无需调用特定功能或使用特殊命令 - 只需让 Goose 说话并开始自然地说话。
UI 功能
新的基于 PyQt 的 UI 包括:
现代深色主题:时尚、专业的外观
音频可视化:音频输入的动态可视化
语音选择:从 54+ 种语音选项中选择
语音持久性:您的语音偏好在会话之间保存
动画效果:流畅的动画和视觉反馈
状态指示器:清晰指示系统状态(就绪、监听、处理)
配置
用户偏好存储在~/.config/speech-mcp/config.json
中,包括:
选定的TTS语音
TTS 引擎偏好
语速
语言代码
UI主题设置
您还可以通过环境变量设置首选项,例如:
SPEECH_MCP_TTS_VOICE
- 设置您喜欢的声音SPEECH_MCP_TTS_ENGINE
- 设置您首选的 TTS 引擎
故障排除
如果您遇到扩展程序冻结或无响应的问题:
检查日志:查看
src/speech_mcp/
中的日志文件以获取详细的错误消息。重置状态:如果扩展似乎卡住了,请尝试删除
src/speech_mcp/speech_state.json
或将所有状态设置为false
。使用直接命令:不要
uv run speech-mcp
,而是直接使用已安装的带有speech-mcp
的包。检查音频设备:确保您的麦克风配置正确并且可供 Python 访问。
验证依赖项:确保所有必需的依赖项都已正确安装。
常见的 PortAudio 问题
“PyAudio 安装失败”或“未找到 portaudio.h 文件”
这通常意味着您的系统中未安装或未找到 PortAudio:
macOS 系统:
brew install portaudio export LDFLAGS="-L/usr/local/lib" export CPPFLAGS="-I/usr/local/include" pip install pyaudioLinux :确保您拥有开发包:
# For Debian/Ubuntu sudo apt-get install portaudio19-dev python3-dev pip install pyaudio # For Fedora sudo dnf install portaudio-devel pip install pyaudio
“未找到音频设备”或“没有可用的默认输入设备”
检查麦克风是否正确连接
验证您的系统在声音设置中识别麦克风
如果您有多个音频设备,请尝试在代码中选择特定的设备索引
变更日志
有关最近改进和版本历史的详细列表,请参阅变更日志。
技术细节
语音转文本
MCP 使用 Faster-Whisper 进行语音识别:
使用“基础”模型来平衡准确性和速度
在本地处理音频,无需将数据发送到外部服务
自动检测用户何时结束讲话
提供比原始 Whisper 实现更好的性能
文本转语音
MCP 支持多种文本转语音引擎:
默认值:pyttsx3
使用计算机上的系统语音
开箱即用,无需额外设置
语音质量和定制化程度有限
可选:Kokoro TTS
具有多种声音的高质量神经文本转语音
轻量级模型(82M 个参数),可在 CPU 上高效运行
多种声音风格和语言
安装:
python scripts/install_kokoro.py
关于语音模型的说明:语音模型是.pt
文件(PyTorch 模型),由 Kokoro 加载。每个语音模型大小约为 523 KB,并在需要时自动下载。
语音持久性:所选语音会自动保存到配置文件 ( ~/.config/speech-mcp/config.json
),并在会话之间被记住。这允许用户一次性设置自己喜欢的语音,并始终使用该语音。
可用的 Kokoro 声音
Speech MCP 通过 Kokoro TTS 支持 54 多种高质量语音模型。如需查看所有可用语音和语言选项,请访问Kokoro GitHub 代码库。
执照
Related MCP Servers
- -securityAlicense-qualityEnables recording audio from a microphone and transcribing it using OpenAI's Whisper model. Works as both a standalone MCP server and a Goose AI agent extension.Last updated -6MIT License
- AsecurityFlicenseAqualityThis MCP server allows users to create, manage, and serve web applications through Goose, storing apps in configurable directories and providing web app serving capabilities.Last updated -92
- -securityAlicense-qualityAn MCP server that enables interaction with Kubernetes resources through natural language interfaces like Goose CLI, allowing users to get, read, and patch Kubernetes resources.Last updated -Apache 2.0
- -securityAlicense-qualityGives Goose/Cursor access to your iOS/macOS project index through the Model Control Protocol (MCP) and IndexStoreDB. This provides exhaustive lists of function call sites to help your agent with refactoring and code navigation.Last updated -19Apache 2.0