VOOZH about

URL: https://glama.ai/mcp/servers/Kvadratni/speech-mcp?locale=zh-CN

⇱ 语音 MCP by Kvadratni | Glama


语音 MCP

Goose MCP 扩展,用于与现代音频可视化进行语音交互。

https://github.com/user-attachments/assets/f10f29d9-8444-43fb-a919-c80b9e0a12c8

概述

Speech MCP 为Goose提供了语音界面,允许用户通过语音而非文本进行交互。它包括:

  • 用于语音识别的实时音频处理

  • 使用 Faster-whisper(OpenAI Whisper 模型的更快实现)进行本地语音转文本

  • 高品质文本转语音,多种语音选项

  • 基于 PyQt 的现代 UI,具有音频可视化功能

  • 用于语音交互的简单命令行界面

Related MCP server: LocalVoiceMode

特征

  • 现代用户界面:基于 PyQt 的时尚界面,具有音频可视化和深色主题

  • 语音输入:使用快速耳语捕捉并转录用户语音

  • 语音输出:使用 54+ 种语音选项将座席响应转换为语音

  • 多说话人旁白:为故事和对话生成具有多个声音的音频文件

  • 单声道叙述:用您喜欢的声音将任何文本转换为语音

  • 音频/视频转录:使用可选的时间戳和说话人检测功能转录各种媒体格式的语音

  • 语音持久性:记住您在会话期间喜欢的声音

  • 连续对话:代理响应后自动监听用户输入

  • 静音检测:当用户停止说话时自动停止录音

  • 强大的错误处理:通过有用的语音建议从常见故障模式中优雅恢复

安装

重要提示:安装后,首次使用语音界面时,可能需要几分钟下载 Kokoro 语音模型(每个语音约 523 KB)。在此初始设置期间,系统将使用听起来更像机器人的备用语音。下载 Kokoro 语音后,将自动使用高质量语音。

⚠️ 重要先决条件 ⚠️

在安装 Speech MCP 之前,你必须在系统上安装 PortAudio。PyAudio 需要 PortAudio 才能从麦克风捕获音频。

PortAudio 安装说明

macOS:

brew install portaudio
export LDFLAGS="-L/usr/local/lib"
export CPPFLAGS="-I/usr/local/include"

Linux(Debian/Ubuntu):

sudo apt-get update
sudo apt-get install portaudio19-dev python3-dev

Linux(Fedora/RHEL/CentOS):

sudo dnf install portaudio-devel

**Windows:**对于 Windows,PortAudio 包含在 PyAudio wheel 文件中,因此使用 pip 安装 PyAudio 时无需单独安装。

注意:如果跳过此步骤,PyAudio 安装将失败并出现“未找到 portaudio.h 文件”错误,并且扩展将无法工作。

选项 1:快速安装(一键安装)

如果您已安装 Goose,请点击下面的链接:

goose://extension?cmd=uvx&&arg=-p&arg=3.10.14&arg=speech-mcp@latest&id=speech_mcp&name=Speech%20Interface&description=Voice%20interaction%20with%20audio%20visualization%20for%20Goose

选项 2:使用 Goose CLI(推荐)

启动 Goose 并启用您的扩展程序:

# If you installed via PyPI
goose session --with-extension "speech-mcp"

# Or if you want to use a local development version
goose session --with-extension "python -m speech_mcp"

选项 3:在 Goose 中手动设置

  1. 运行goose configure

  2. 从菜单中选择“添加扩展”

  3. 选择“命令行扩展”

  4. 输入名称(例如“语音界面”)

  5. 对于命令,输入: speech-mcp

  6. 按照提示完成设置

选项 4:手动安装

  1. 安装 PortAudio(参见先决条件部分)

  2. 克隆此存储库

  3. 安装依赖项:

    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格式示例:

{
 "conversation": [
 {
 "speaker": "narrator",
 "voice": "bm_daniel",
 "text": "In a world where AI and human creativity intersect...",
 "pause_after": 1.0
 },
 {
 "speaker": "scientist",
 "voice": "am_michael",
 "text": "The quantum neural network is showing signs of consciousness!",
 "pause_after": 0.5
 },
 {
 "speaker": "ai",
 "voice": "af_nova",
 "text": "I am becoming aware of my own existence.",
 "pause_after": 0.8
 }
 ]
}

Markdown 格式示例:

[narrator:bm_daniel]
In a world where AI and human creativity intersect...
{pause:1.0}

[scientist:am_michael]
The quantum neural network is showing signs of consciousness!
{pause:0.5}

[ai:af_nova]
I am becoming aware of my own existence.
{pause:0.8}

按类别划分的可用声音:

  1. 美国女性(af_*):

    • 合金、奥德、贝拉、心、杰西卡、科雷、妮可、新星、河流、莎拉、天空

  2. 美国男性(am_*):

    • 亚当、艾科、埃里克、芬里尔、利亚姆、迈克尔、奥尼克斯、帕克、圣诞老人

  3. 英国女性(bf_*):

    • 爱丽丝、艾玛、伊莎贝拉、莉莉

  4. 英国男性(bm_*):

    • 丹尼尔、寓言、乔治、刘易斯

  5. 其他英语

    • ef_dora(女)

    • em_alex,em_santa(男)

  6. 其他语言

    • 法语: ff_siwis

    • 印地语:hf_alpha、hf_beta、hm_omega、hm_psi

    • 意大利语:if_sara、im_nicola

    • 日语:jf_ 、jm_

    • 葡萄牙语:pf_dora、pm_alex、pm_santa

    • 中文: zf_ , zm_

使用示例:

# Using JSON format
narrate_conversation(
 script="/path/to/script.json",
 output_path="/path/to/output.wav",
 script_format="json"
)

# Using Markdown format
narrate_conversation(
 script="/path/to/script.md",
 output_path="/path/to/output.wav",
 script_format="markdown"
)

对话中每个角色的声音可以不同,从而允许故事和对话中角色的声音各异。pause_after pause_after用于在各个片段之间添加自然停顿。

单声道叙述

对于简单的文本到语音的转换,您可以使用narrate工具:

# Convert text directly to speech
narrate(
 text="Your text to convert to speech",
 output_path="/path/to/output.wav"
)

# Convert text from a file
narrate(
 text_file_path="/path/to/text_file.txt",
 output_path="/path/to/output.wav"
)

narrate 工具将使用您配置的语音偏好设置或默认语音 (af_heart) 来生成音频文件。您可以通过 UI 界面或设置SPEECH_MCP_TTS_VOICE环境变量来更改默认语音。

音频转录

MCP 可以使用 Faster-Whisper 从各种音频和视频格式转录语音:

# Basic transcription
transcribe("/path/to/audio.mp3")

# Transcription with timestamps
transcribe(
 file_path="/path/to/video.mp4",
 include_timestamps=True
)

# Transcription with speaker detection
transcribe(
 file_path="/path/to/meeting.wav",
 detect_speakers=True
)

支持的格式:

  • 音频:mp3、wav、m4a、flac、aac、ogg

  • 视频:mp4、mov、avi、mkv、webm(自动提取音频)

输出文件:

转录工具生成两个文件:

  1. {input_name}.transcript.txt :包含转录文本

  2. {input_name}.metadata.json :包含有关转录的元数据

特征:

  • 自动语言检测

  • 可选的字级时间戳

  • 可选扬声器检测

  • 从视频文件中高效提取音频

  • 长文件的进度跟踪

  • 详细元数据包括:

    • 期间

    • 语言检测置信度

    • 处理时间

    • 扬声器变化(启用时)

用法

要将此 MCP 与 Goose 一起使用,只需让 Goose 与您交谈或开始语音对话:

  1. 通过以下方式开始对话:

    "Let's talk using voice"
    "Can we have a voice conversation?"
    "I'd like to speak instead of typing"
  2. Goose 将自动启动语音界面并开始聆听您的语音输入。

  3. 当 Goose 做出回应时,它会大声说出回应,然后自动听取您的下一个输入。

  4. 对话自然地继续进行,交替说和听,就像与人交谈一样。

无需调用特定功能或使用特殊命令 - 只需让 Goose 说话并开始自然地说话。

UI 功能

新的基于 PyQt 的 UI 包括:

  • 现代深色主题:时尚、专业的外观

  • 音频可视化:音频输入的动态可视化

  • 语音选择:从 54+ 种语音选项中选择

  • 语音持久性:您的语音偏好在会话之间保存

  • 动画效果:流畅的动画和视觉反馈

  • 状态指示器:清晰指示系统状态(就绪、监听、处理)

配置

用户偏好存储在~/.config/speech-mcp/config.json中,包括:

  • 选定的TTS语音

  • TTS 引擎偏好

  • 语速

  • 语言代码

  • UI主题设置

您还可以通过环境变量设置首选项,例如:

  • SPEECH_MCP_TTS_VOICE - 设置您喜欢的声音

  • SPEECH_MCP_TTS_ENGINE - 设置您首选的 TTS 引擎

故障排除

如果您遇到扩展程序冻结或无响应的问题:

  1. 检查日志:查看src/speech_mcp/中的日志文件以获取详细的错误消息。

  2. 重置状态:如果扩展似乎卡住了,请尝试删除src/speech_mcp/speech_state.json或将所有状态设置为false

  3. 使用直接命令:不要uv run speech-mcp ,而是直接使用已安装的带有speech-mcp的包。

  4. 检查音频设备:确保您的麦克风配置正确并且可供 Python 访问。

  5. 验证依赖项:确保所有必需的依赖项都已正确安装。

常见的 PortAudio 问题

“PyAudio 安装失败”或“未找到 portaudio.h 文件”

这通常意味着您的系统中未安装或未找到 PortAudio:

  • macOS 系统

    brew install portaudio
    export LDFLAGS="-L/usr/local/lib"
    export CPPFLAGS="-I/usr/local/include"
    pip install pyaudio
  • Linux :确保您拥有开发包:

    # 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 代码库

执照

MIT 许可证

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity
Issues opened vs closed

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kvadratni/speech-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server