项目简介
Blabber-MCP 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,它利用 OpenAI 的 Text-to-Speech (TTS) API 将文本合成为高质量的语音。此服务器旨在为大型语言模型 (LLM) 提供文本转语音的能力,使得 LLM 可以通过标准化的 MCP 协议调用语音合成功能,从而扩展 LLM 在语音交互方面的应用场景。
主要功能点
- 文本转语音: 将输入的文本内容转换为自然流畅的语音音频。
- 多种声音选择: 支持 OpenAI TTS API 提供的多种声音模型,包括 alloy, echo, fable, onyx, nova, shimmer 等,允许用户根据需求选择不同的音色。
- 模型选择: 支持标准版 'tts-1' 和高清版 'tts-1-hd' 两种 TTS 模型,用户可以根据对音质的要求进行选择。
- 音频格式: 支持多种常见的音频格式输出,包括 mp3, opus, aac, flac,满足不同场景下的音频格式需求。
- 文件保存: 生成的语音音频可以保存到本地文件系统中,方便后续使用和管理。
- 可选播放: 支持生成语音后自动播放,可以通过配置系统命令来指定播放器。
- 默认配置: 允许用户配置默认的声音模型,简化使用流程。
安装步骤
-
克隆仓库: 首先,你需要克隆 'blabber-mcp' 的 GitHub 仓库到本地:
git clone https://github.com/sizzlebop/blabber-mcp cd blabber-mcp -
安装依赖: 确保你已经安装了 Node.js 和 npm。然后,在仓库目录下运行以下命令安装项目依赖:
npm install -
构建项目: 运行以下命令构建项目,生成可执行的 JavaScript 文件:
npm run build构建成功后,'build' 目录下会生成 'index.js' 文件。
-
配置环境变量: 你需要设置 OpenAI API 密钥作为环境变量。请访问 OpenAI API 密钥页面 获取你的 API 密钥,并将其设置为环境变量 'OPENAI_API_KEY'。 你还可以选择性设置以下环境变量:
- 'AUDIO_PLAYER_COMMAND': 用于播放音频的系统命令,默认为 'xdg-open'。你可以根据你的系统和偏好设置为其他播放器命令,例如 'cvlc', 'vlc', 'mpv', 'ffplay', 'afplay' 等。
- 'DEFAULT_TTS_VOICE': 默认的语音模型,默认为 'nova'。你可以设置为 'alloy', 'echo', 'fable', 'onyx', 'shimmer' 中的任意一个。
服务器配置
要将 Blabber-MCP 服务器添加到你的 MCP 客户端,你需要在客户端的配置文件(例如 'mcp_settings.json')中添加服务器配置信息。以下是一个配置示例,你需要根据你的实际情况进行修改:
{ "mcpServers": { "blabber-mcp": { "command": "node", "args": ["/full/path/to/blabber-mcp/build/index.js"], "env": { "OPENAI_API_KEY": "YOUR_OPENAI_API_KEY", // 替换为你的 OpenAI API 密钥 "AUDIO_PLAYER_COMMAND": "xdg-open", // 可选:音频播放命令,例如 "vlc", "mpv" 等 "DEFAULT_TTS_VOICE": "nova" // 可选:默认语音模型,例如 "alloy", "echo" 等 }, "disabled": false, "alwaysAllow": [] } } }
配置参数说明:
- '"blabber-mcp"': 服务器名称,在 MCP 客户端中用于标识该服务器。你可以自定义名称。
- '"command": "node"': 启动服务器的命令,这里使用 Node.js 运行 JavaScript 文件。
- '"args": ["/full/path/to/blabber-mcp/build/index.js"]': 启动命令的参数,指向 'blabber-mcp' 项目 'build' 目录下生成的 'index.js' 文件。请务必使用 'index.js' 文件的完整绝对路径。
- '"env"': 环境变量配置。
- '"OPENAI_API_KEY": "YOUR_OPENAI_API_KEY"': 必需,OpenAI API 密钥,请替换为你的实际密钥。
- '"AUDIO_PLAYER_COMMAND"': 可选,音频播放命令。
- '"DEFAULT_TTS_VOICE"': 可选,默认语音模型。
- '"disabled": false': 设置为 'false' 表示启用该服务器。
- '"alwaysAllow": []': 访问控制列表,这里为空表示允许所有客户端访问。
重要提示: 请确保 '"args"' 中的路径是 'build/index.js' 文件的绝对路径。你需要根据你的实际项目目录结构进行修改。
基本使用方法
配置完成后,启动你的 MCP 客户端。客户端应该能够检测到 Blabber-MCP 服务器。你可以通过 MCP 客户端调用 'text_to_speech' 工具来使用语音合成功能。
工具名称: 'text_to_speech' 服务器名称: 'blabber-mcp' (或者你在配置文件中设置的名称)
工具参数:
- 'input' (string, 必需): 要合成语音的文本内容。
- 'voice' (string, 可选): 指定使用的语音模型,可选值包括 'alloy', 'echo', 'fable', 'onyx', 'nova', 'shimmer'。如果省略,则使用配置文件中设置的 'DEFAULT_TTS_VOICE',默认为 'nova'。
- 'model' (string, 可选): 指定 TTS 模型,可选值包括 'tts-1' (默认) 和 'tts-1-hd'。
- 'response_format' (string, 可选): 指定音频输出格式,可选值包括 'mp3' (默认), 'opus', 'aac', 'flac'。
- 'play' (boolean, 可选): 设置为 'true' 时,在语音合成完成后自动播放音频,默认为 'false'。
使用示例 (MCP 客户端工具调用 XML 格式):
<use_mcp_tool> <server_name>blabber-mcp</server_name> <tool_name>text_to_speech</tool_name> <arguments> { "input": "你好,欢迎使用 Blabber MCP 语音合成服务!", "voice": "shimmer", "play": true } </arguments> </use_mcp_tool>
执行上述工具调用后,Blabber-MCP 服务器会将 "你好,欢迎使用 Blabber MCP 语音合成服务!" 这段文本合成为语音,并保存到 'blabber-mcp' 项目目录下的 'output/' 文件夹中,同时如果 'play' 参数设置为 'true',还会尝试自动播放生成的音频。服务器会返回包含音频文件路径等信息的 JSON 响应。
信息
分类
AI与计算