使用说明

项目简介

本项目是一个基于Windows操作系统的MCP服务器实现,专注于提供文字转语音(TTS)和语音转文字(STT)功能。它利用Windows系统内置的语音API(SAPI),无需依赖任何外部的云服务或API,实现了本地化的语音处理能力。此服务器旨在为LLM(大型语言模型)客户端提供便捷的语音交互接口。

主要功能点

  • 文字转语音 (TTS):将文本转换为自然流畅的语音输出,支持多种Windows系统自带的语音。
  • 语音转文字 (STT):接收语音输入,将其转换为文本,利用Windows语音识别技术。
  • 简单的HTTP API:通过简洁的HTTP接口暴露TTS和STT功能,易于集成到各种应用中。
  • 可选的GPT-4集成:集成了GPT-4模型,可以用于生成对话回复并进行语音播报(需要配置OpenAI API Key)。
  • 本地化处理:所有语音处理都在本地Windows系统上完成,保障数据隐私和处理速度。

安装步骤

  1. 环境准备
    • 确保您的计算机运行的是 Windows 10/11 操作系统,并已启用语音识别功能。
    • 安装 Node.js (版本16+) 和 npm 包管理器。
  2. 下载仓库
    • 使用Git克隆仓库到本地:
      git clone https://github.com/ExpressionsBot/MS-Lucidia-Voice-Gateway-MCP.git
      cd MS-Lucidia-Voice-Gateway-MCP
  3. 安装依赖
    • 在仓库根目录下运行以下命令安装项目依赖:
      npm install
  4. 构建项目(可选):
    • 运行构建命令(如果需要,根据仓库 'README.md',此步骤可能非必需,但推荐执行):
      npm run build

服务器配置

为了让MCP客户端能够连接到此服务器,您需要在客户端中配置服务器的启动信息。以下是一个JSON格式的配置示例,您可以将其添加到您的MCP客户端配置中:

{
  "serverName": "WindowsSpeechServer",
  "command": "node",
  "args": ["path/to/MS-Lucidia-Voice-Gateway-MCP/src/index.ts"],
  "description": "Windows本地语音服务,提供TTS和STT功能。",
  "baseUrl": "http://localhost:3000"
}

配置参数说明

  • 'serverName': 服务器的名称,可以自定义。
  • 'command': 启动服务器的命令,这里使用 'node' 表示使用Node.js运行。
  • 'args': 启动命令的参数,指向服务器入口文件 'src/index.ts' 的路径。 请将 'path/to/MS-Lucidia-Voice-Gateway-MCP' 替换为仓库在您本地的实际路径
  • 'description': 服务器的简短描述,方便在客户端中识别。
  • 'baseUrl': 服务器的根URL地址,默认为 'http://localhost:3000'。客户端将通过此URL与服务器进行通信。

基本使用方法

启动服务器后,您可以通过HTTP请求访问其功能。以下是一些基本的使用示例:

  • 启动服务器

    • 在仓库根目录下运行命令: 'npm run start' 或 'node src/index.ts' (取决于 'package.json' 中的 scripts 配置)
    • 服务器默认会在 'http://localhost:3000' 启动。
  • 获取可用语音列表

    • 发送 'GET' 请求到 '/voices' 接口,获取Windows系统上可用的语音列表。
  • 文字转语音 (TTS)

    • 发送 'POST' 请求到 '/tts' 接口,请求体为JSON格式,包含要转换的文本内容。
      {
        "text": "你好,世界!",
        "voice": "Microsoft Huihui Desktop",  // 可选,指定使用的语音,默认为 'Microsoft Jenny(Natural) - English (United States)'
        "speed": 1.0                      // 可选,语速,范围 0.5-2.0,默认为 1.0
      }
  • 语音转文字 (STT)

    • 发送 'POST' 请求到 '/stt' 接口,请求体为JSON格式,包含录音时长。
      {
        "duration": 5  // 可选,录音时长,单位秒,默认为 5 秒,最大 60 秒
      }
    • 服务器将录制指定时长的音频,并返回转 transcribed 的文本结果。
  • GPT-4 对话 (chat)

    • 发送 'POST' 请求到 '/chat' 接口,请求体为JSON格式,包含用户消息。 注意:使用此功能需要先配置 OpenAI API Key 环境变量 'OPENAI_API_KEY'。
      {
        "message": "今天天气怎么样?",
        "voice": "Microsoft Huihui Desktop", // 可选,指定回复语音
        "speed": 1.0                     // 可选,回复语速
      }
    • 服务器将调用 GPT-4 获取回复,并通过 TTS 播报回复内容。

请参考仓库 'README.md' 文件和代码了解更多详细信息和高级用法。

信息

分类

桌面与硬件