项目简介

这是一个基于 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 服务器,您需要先安装一些依赖项和设置环境:

  1. 安装 Node.js: 需要版本 18 或更高。
  2. 安装 whisper.cpp: 这是核心转录引擎。在 macOS 上推荐使用 Homebrew 进行安装:
    brew install whisper-cpp
  3. 安装 ffmpeg: 用于音频格式的自动转换。在 macOS 上推荐使用 Homebrew:
    brew install ffmpeg
  4. 安装 Python 3.8+ 及依赖 (可选,仅需说话人识别): 说话人识别功能依赖于 Python 生态系统。您需要安装 Python,然后安装必要的库(如 PyTorch 和 pyannote.audio):
    # 确保您有可用的 Python 3.8+ 环境,例如通过 brew install python3 或 miniconda
    pip install torch torchaudio pyannote.audio
    注意: Pyannote 模型通常需要 HuggingFace Token 才能下载。您可以在 HuggingFace 网站 (huggingface.co) 免费获取 token,然后将其设置为 'HF_TOKEN' 环境变量。
  5. 克隆仓库并安装服务器依赖:
    git clone https://github.com/SmartLittleApps/local-stt-mcp.git
    cd local-stt-mcp/mcp-server
    npm install
    npm run build
  6. 下载 whisper 模型: 运行脚本下载默认的 whisper 模型文件:
    npm run setup:models
    模型文件将下载到 'mcp-server/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 协议与服务器交互。客户端可以:

  1. 列出可用工具: 发送 'list_tools' MCP 请求,服务器将返回所有暴露的工具列表及其描述和参数schema(包括 'transcribe', 'transcribe_long', 'transcribe_with_speakers', 'list_models', 'health_check', 'version')。
  2. 调用工具: 发送 'call_tool' MCP 请求,指定工具名称(例如 'transcribe')和相应的参数(例如音频文件的路径)。服务器将执行相应的语音转文字任务并将结果通过 MCP 响应返回给客户端。
  3. 获取能力声明: 客户端可以获取服务器的能力声明,了解服务器支持的功能。

对于终端用户而言,他们无需直接与此服务器进程交互,所有操作都通过他们使用的 MCP 客户端应用界面进行。例如,在支持此 MCP 服务器的 LLM 客户端中,用户可能看到一个“本地语音转文字”或“转录文件”的功能按钮,点击后客户端在后台调用此 MCP 服务器的相应工具来完成任务。

请参考您的 MCP 客户端应用的使用说明,了解如何添加和管理 MCP 服务器配置,以及如何通过客户端界面使用服务器提供的语音转文字功能。

信息

分类

AI与计算