使用说明
项目简介
本项目是一个基于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系统上完成,保障数据隐私和处理速度。
安装步骤
- 环境准备:
- 确保您的计算机运行的是 Windows 10/11 操作系统,并已启用语音识别功能。
- 安装 Node.js (版本16+) 和 npm 包管理器。
- 下载仓库:
- 使用Git克隆仓库到本地:
git clone https://github.com/ExpressionsBot/MS-Lucidia-Voice-Gateway-MCP.git cd MS-Lucidia-Voice-Gateway-MCP
- 使用Git克隆仓库到本地:
- 安装依赖:
- 在仓库根目录下运行以下命令安装项目依赖:
npm install
- 在仓库根目录下运行以下命令安装项目依赖:
- 构建项目(可选):
- 运行构建命令(如果需要,根据仓库 'README.md',此步骤可能非必需,但推荐执行):
npm run build
- 运行构建命令(如果需要,根据仓库 'README.md',此步骤可能非必需,但推荐执行):
服务器配置
为了让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 }
- 发送 'POST' 请求到 '/tts' 接口,请求体为JSON格式,包含要转换的文本内容。
-
语音转文字 (STT):
- 发送 'POST' 请求到 '/stt' 接口,请求体为JSON格式,包含录音时长。
{ "duration": 5 // 可选,录音时长,单位秒,默认为 5 秒,最大 60 秒 } - 服务器将录制指定时长的音频,并返回转 transcribed 的文本结果。
- 发送 'POST' 请求到 '/stt' 接口,请求体为JSON格式,包含录音时长。
-
GPT-4 对话 (chat):
- 发送 'POST' 请求到 '/chat' 接口,请求体为JSON格式,包含用户消息。 注意:使用此功能需要先配置 OpenAI API Key 环境变量 'OPENAI_API_KEY'。
{ "message": "今天天气怎么样?", "voice": "Microsoft Huihui Desktop", // 可选,指定回复语音 "speed": 1.0 // 可选,回复语速 } - 服务器将调用 GPT-4 获取回复,并通过 TTS 播报回复内容。
- 发送 'POST' 请求到 '/chat' 接口,请求体为JSON格式,包含用户消息。 注意:使用此功能需要先配置 OpenAI API Key 环境变量 'OPENAI_API_KEY'。
请参考仓库 'README.md' 文件和代码了解更多详细信息和高级用法。
信息
分类
桌面与硬件