mcpField
T
three.ws Audio

three.ws Audio

本地服务
three.ws媒体与设计255今天更新

关于 three.ws Audio

three.ws Audio 是一个 MCP 服务,为 3D AI Agent 提供语音合成、语音识别、音频驱动口型同步以及动作捕捉片段库。适合需要让虚拟形象说话、听懂用户并同步面部动画的开发者。

主要功能

  1. 01文本转语音,返回 base64 音频
  2. 02语音转文本,返回文本与置信度
  3. 03音频或文本生成逐帧 ARKit 口型轨迹
  4. 04浏览并获取动作捕捉片段

适用场景

  1. 01让 3D Agent 朗读回复并同步口型
  2. 02通过语音与用户进行实时对话

MCP 相关

作为 MCP 服务向客户端提供五个只读工具,用于语音合成、识别、口型生成和动作捕捉片段查询。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"nirholas-audio": {
"command": "npx",
"args": [
"-y",
"@three-ws/audio-mcp"
],
"env": {
"THREE_WS_BASE": "<THREE_WS_BASE>",
"THREE_WS_API_KEY": "<THREE_WS_API_KEY>",
"THREE_WS_TIMEOUT_MS": "<THREE_WS_TIMEOUT_MS>"
}
}
}
}
启动命令npx -y @three-ws/audio-mcp
需要配置的环境变量
THREE_WS_BASEBase URL of the three.ws API that serves the audio/animation endpoints. Override only when self-hosting or targeting a preview deployment.
THREE_WS_API_KEY密钥Optional three.ws API key (bearer token). Raises the metered TTS/ASR/Audio2Face rate limits and unlocks your own private/unlisted motion-capture clips. Leave unset to use the public surface anonymously.
THREE_WS_TIMEOUT_MSPer-request timeout in milliseconds for the live audio/animation calls (synthesis and recognition are real upstream model calls).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@three-ws/audio-mcp0.1.3

工具

5

收录的工具列表 · 更新于 2 周前

参数类型必填说明
textstring是要朗读的文本(1–4096 个字符)。
modelenum否付费备用通道使用的 OpenAI TTS 模型(默认 "gpt-4o-mini-tts")。免费 NVIDIA 通道会忽略此项,始终使用 magpie-tts-multilingual。tts-1 | tts-1-hd | gpt-4o-mini-tts
speednumber否播放速度倍率,范围为 0.5–2.0(仅限 OpenAI 备用通道;默认值为 1.0)。
voiceenum否语音角色(默认 "nova")。同一 ID 可用于任一提供方通道。nova | alloy | ash | ballad | coral | echo | fable | onyx | sage | shimmer | verse
formatenum否请求的音频容器格式(默认 "mp3")。免费的 NVIDIA 通道会将所有非 pcm 请求作为 WAV 提供;响应元数据会报告实际收到的格式。mp3 | opus | aac | flac | wav | pcm
languagestring否免费 NVIDIA 通道使用的 BCP-47 语言(默认 "en-US";也支持 es-US、fr-FR、de-DE、zh-CN、vi-VN、it-IT、hi-IN、ja-JP)。

详细介绍

three.ws

@three-ws/audio-mcp

为 3D AI Agent 添加声音和面容——通过任意 MCP 客户端使用文本转语音、语音转文本、音频到面部口型同步,以及动作捕捉片段库。

npm license node MCP Registry three.ws


一个通过标准输入输出公开 three.ws 语音与动画处理流程的 Model Context Protocol 服务。让虚拟形象开口说话,让用户回应,再将语音转换为逐帧口型同步轨迹,并浏览录制的动作捕捉库——驱动 3D Agent 的嘴部和动作所需的一切功能。

语音合成、识别和口型同步均使用免费的 NVIDIA NIM 模型(Magpie TTS、Riva ASR、Audio2Face-3D),并以 OpenAI 作为付费语音合成备用方案——与 three.ws 平台采用相同的服务商策略。无需密钥即可开始;将 THREE_WS_BASE 指向一个部署即可使用。

安装

npm install @three-ws/audio-mcp

也可以使用 npx 运行(无需安装):

npx @three-ws/audio-mcp

快速开始

Claude Code,一行配置:

claude mcp add audio -- npx -y @three-ws/audio-mcp

Claude Desktop / Cursor(claude_desktop_config.json 或 mcp.json):

{
	"mcpServers": {
		"audio": {
			"command": "npx",
			"args": ["-y", "@three-ws/audio-mcp"]
		}
	}
}

使用 MCP Inspector 检查功能:

npx -y @modelcontextprotocol/inspector npx @three-ws/audio-mcp

工具

工具类型功能
text_to_speech只读将文本合成为语音;返回 base64 音频数据 URL,以及实际使用的语音、格式和 MIME 类型。使用免费的 Magpie,OpenAI 为备用方案。
speech_to_text只读使用免费的 NVIDIA Riva 识别器转录语音(base64 wav/pcm/flac/ogg);返回文本、置信度和时长。
audio_to_face只读通过 Audio2Face-3D 将语音(传入的文本或已有音频)转换为逐帧 ARKit 混合形状口型同步轨迹。
motion_capture_clips只读浏览动作捕捉片段库——包含录制的面部/姿势/手部/VMC 轨迹——支持按类型筛选和使用游标分页。
motion_capture_clip只读按 ID 获取单个片段,包括完整的逐帧动画轨迹,以便在虚拟形象上播放。

这五种工具均为只读:它们会转换输入(合成/识别/生成动画)或读取实时库数据,但不会修改平台状态。它们都不是幂等的——音频数据、转录文本和目录内容可能会在调用之间发生变化。

输入参数

text_to_speech — text(必填,1–4096 个字符),voice(默认 nova),format(mp3|opus|aac|flac|wav|pcm,默认 mp3),model(仅 OpenAI 后备方案使用),language(BCP-47,默认 en-US),speed(0.5–2.0,仅 OpenAI 通道支持)。

speech_to_text — audio(必填,base64 或 data: URL),format(wav|pcm|flac|ogg,默认 wav),language(BCP-47,默认 en-US),sampleRate(Hz,仅 PCM 格式适用),words(布尔值),model(高级选项)。

audio_to_face — text 或 audio(必填其一),format(wav|pcm,音频路径),sampleRate(仅 PCM 格式适用),voice / language(文本路径)。

motion_capture_clips — kind(face|pose|hand|vmc),include_public(布尔值,仅限已认证用户),limit(1–100,默认 50),cursor。

motion_capture_clip — id(必填,片段 UUID)。

示例

// text_to_speech
> { "text": "Hello, I'm your three.ws agent.", "voice": "nova" }
{
  "ok": true,
  "voice": "Magpie-Multilingual.EN-US.Aria",
  "model": "magpie-tts-multilingual",
  "format": "wav",
  "mime": "audio/wav",
  "sizeBytes": 274476,
  "audio": "data:audio/wav;base64,UklGR…"
}
// audio_to_face (text path — returns audio + the lipsync track together)
> { "text": "Watch my lips move." }
{
  "ok": true,
  "audio": { "base64": "UklGR…", "contentType": "audio/wav", "format": "wav" },
  "animation": {
    "fps": 30,
    "blendShapeNames": ["jawOpen", "mouthClose", "…"],
    "durationSec": 1.9,
    "frames": [ { "t": 0.0, "w": [0.0, 0.1, /* … */] } ]
  }
}

面部帧的格式为 { t, w }:t = 从片段开始算起的秒数,w = 按 blendShapeNames 顺序排列的权重(使用 ARKit-52 命名方式)。播放音频,并根据音频元素的 currentTime 对轨道进行采样。

负载说明

音频通过网络以 base64 格式传输(TTS 返回该格式,ASR/A2F 接受该格式)。合成输入(text)和识别输入(audio,上限约为 8 MB)都受平台限制;请将片段控制在单句口语的长度,而非长录音。若要对已有音频进行口型同步,请直接传入 wav/pcm;浏览器录制的 WebM/Opus 必须先解码为 WAV 或 PCM(Riva 和 Audio2Face 不接受 WebM 容器)。

要求

  • Node.js >= 20。
  • 可访问网络 https://three.ws(或你自己的 THREE_WS_BASE)。
环境变量
变量必填默认值用途
THREE_WS_BASE否https://three.ws要连接的部署环境。
THREE_WS_API_KEY否—Bearer 令牌。提高按量计费的 TTS/ASR/A2F 速率限制,并解锁你自己的私有动作捕捉片段。
THREE_WS_TIMEOUT_MS否60000实时模型调用的单次请求超时时间。

链接


属于 three.ws SDK 套件 — 3D AI Agent、链上身份和 Agent 支付。
网站 · 更新日志 · GitHub

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。