项目简介
这是一个基于 Model Context Protocol (MCP) 构建的本地语音转文字服务器,它集成了 'whisper.cpp' 库,提供了高效、私密的音频转录功能。项目特别针对 Apple Silicon 芯片进行了性能优化。通过遵循 MCP 标准,该服务器可以无缝集成到支持 MCP 的 LLM 客户端应用中,作为其上下文和工具提供者。
主要功能点
- 100% 本地处理: 所有转录和处理都在本地计算机上进行,无需将音频数据发送到云端,最大限度保护用户隐私。
- 高性能转录: 利用 'whisper.cpp' 的优化能力,尤其在 Apple Silicon 上能实现超实时(15倍+)的转录速度。
- 说话人识别 (Diarization): 能够识别音频中的不同说话人并区分他们的发言。
- 广泛的音频格式支持: 借助 'ffmpeg',自动将多种音频格式(如 MP3, M4A, FLAC, OGG 等)转换为 'whisper.cpp' 兼容的格式。
- 多种输出格式: 支持将转录结果导出为 TXT, JSON, VTT, SRT, CSV 等格式。
- 标准化工具接口: 通过 MCP 的 'call_tool' 请求暴露语音转文字、说话人识别、健康检查等功能。
安装步骤
要运行此 MCP 服务器,您需要先安装一些依赖项和设置环境:
- 安装 Node.js: 需要版本 18 或更高。
- 安装 whisper.cpp: 这是核心转录引擎。在 macOS 上推荐使用 Homebrew 进行安装:
brew install whisper-cpp - 安装 ffmpeg: 用于音频格式的自动转换。在 macOS 上推荐使用 Homebrew:
brew install ffmpeg - 安装 Python 3.8+ 及依赖 (可选,仅需说话人识别): 说话人识别功能依赖于 Python 生态系统。您需要安装 Python,然后安装必要的库(如 PyTorch 和 pyannote.audio):
注意: Pyannote 模型通常需要 HuggingFace Token 才能下载。您可以在 HuggingFace 网站 (huggingface.co) 免费获取 token,然后将其设置为 'HF_TOKEN' 环境变量。# 确保您有可用的 Python 3.8+ 环境,例如通过 brew install python3 或 miniconda pip install torch torchaudio pyannote.audio - 克隆仓库并安装服务器依赖:
git clone https://github.com/SmartLittleApps/local-stt-mcp.git cd local-stt-mcp/mcp-server npm install npm run build - 下载 whisper 模型: 运行脚本下载默认的 whisper 模型文件:
模型文件将下载到 'mcp-server/models/' 目录下。npm run setup:models
服务器配置 (供MCP客户端参考)
此 MCP 服务器通过标准输入输出 (Stdio) 协议与 MCP 客户端通信。要让您的 MCP 客户端使用此服务器,您需要在客户端的配置中添加指向此服务器启动脚本的信息。
以下是一个典型的 MCP 客户端配置片段,展示了如何配置此服务器:
{ "mcpServers": { "whisper-mcp": { // 您为此服务器指定的内部名称,客户端将使用此名称引用它 "command": "node", // 启动服务器进程的命令 "args": [ // 传递给启动命令的参数列表 "path/to/your/cloned/repo/local-stt-mcp/mcp-server/dist/index.js" // 指向您本地克隆仓库中,服务器构建后生成的主文件路径 ], "transport": "stdio" // 指定使用的 MCP 传输协议,此处为标准输入输出 // 其他可选配置,如 timeout, autoStart 等,根据客户端能力添加 } // 如果您有其他 MCP 服务器,可以在此继续添加配置 }, // ... 客户端的其他配置项 }
请将 '"path/to/your/cloned/repo/local-stt-mcp"' 替换为您在本地实际克隆仓库的路径。MCP 客户端启动时会根据这个配置来启动并连接服务器进程。
基本使用方法
一旦 MCP 客户端配置并成功连接到此服务器,客户端即可通过 MCP 协议与服务器交互。客户端可以:
- 列出可用工具: 发送 'list_tools' MCP 请求,服务器将返回所有暴露的工具列表及其描述和参数schema(包括 'transcribe', 'transcribe_long', 'transcribe_with_speakers', 'list_models', 'health_check', 'version')。
- 调用工具: 发送 'call_tool' MCP 请求,指定工具名称(例如 'transcribe')和相应的参数(例如音频文件的路径)。服务器将执行相应的语音转文字任务并将结果通过 MCP 响应返回给客户端。
- 获取能力声明: 客户端可以获取服务器的能力声明,了解服务器支持的功能。
对于终端用户而言,他们无需直接与此服务器进程交互,所有操作都通过他们使用的 MCP 客户端应用界面进行。例如,在支持此 MCP 服务器的 LLM 客户端中,用户可能看到一个“本地语音转文字”或“转录文件”的功能按钮,点击后客户端在后台调用此 MCP 服务器的相应工具来完成任务。
请参考您的 MCP 客户端应用的使用说明,了解如何添加和管理 MCP 服务器配置,以及如何通过客户端界面使用服务器提供的语音转文字功能。
信息
分类
AI与计算