AB
AiBoss
チュートリアル

Murf.ai

チュートリアル

Murf.ai 快速上手:从 Studio 到 TTS API 的语音生成教程

Murf.ai 提供拟真 AI 语音合成、声音克隆、配音与翻译能力,既有面向创作者的 Studio 网页应用,也有面向开发者的 API,支持 WebSocket 与 HTTP 流式输出。本文梳理账号与密钥准备、Studio 操作流程、API 鉴权与首个请求、流式合成参数、声音库查询方式,并给出一个可跑通的完整示例与常见限制说明。

Murf.ai 是一套围绕 AI 语音生成构建的工具集,核心能力包括文本转语音、声音克隆、变声、音频转文字、语音转文字、视频配音以及音频翻译。它同时提供两种使用形态:面向内容创作者的 Studio 网页应用,以及面向开发者的 API。API 侧除了常规的 HTTP 接口,还提供低延迟的 WebSocket 双向流式合成与分块 HTTP 流式合成,适合接入实时对话、语音助手、批量配音等场景。如果你需要把文字变成可用的旁白音轨,或者把语音合成能力嵌进自己的产品里,可以从 Murf.ai 入手,先跑通最小流程,再按需扩展。

本文按「先网页端、后 API」的顺序组织:先说明账号与密钥等前置条件,再分步骤讲 Studio 的基本操作与 API 的调用方式,然后给出一个从头到尾可执行的最小示例,最后列出素材中明确提到的限制与容易踩的坑。价格、配额与可用地区请以官网当前信息为准。

准备工作

在动手之前,需要把账号、访问入口和密钥三件事确认清楚。

账号与登录入口

Murf 的 Studio 网页应用有独立的登录页面。使用前需要先注册账号并登录,才能进入工作台创建项目、选择声音、生成语音。Studio 是面向创作者的可视化界面,适合做单条旁白、批量脚本配音、视频配音这类工作;如果你要的是程序化调用,则走 API 那条路。

账号还涉及服务条款与隐私政策两份文件,注册与使用前建议先阅读,了解数据如何被收集、使用与保护。企业用户另有面向企业的语音解决方案入口,早期创业团队则可以关注创业孵化计划,该计划为符合条件的初创公司提供免费额度,用于试用 AI 语音与文本转语音技术。具体资格与额度以官网当前说明为准。

API 访问与鉴权

API 的入口文档包含总览、快速开始、限流、最佳实践与常见问题几个部分。总览部分说明了鉴权方式、基础 URL 以及整体能力范围。调用 API 需要先取得密钥,请求时携带该密钥完成身份校验。密钥属于敏感凭据,不要写进前端代码或公开仓库。

API 的基础地址分为两类:REST 请求走常规 HTTPS 域名,WebSocket 流式合成走 wss://global.api.murf.ai/v1/speech/stream-input。注意 WebSocket 流式合成目前仅支持 Falcon 模型。

机器可读的接口描述文件

如果打算自己生成客户端代码,比起逐页读散文式文档,更推荐直接使用接口描述文件。REST 侧提供 OpenAPI 描述,覆盖文本转语音、声音库、配音与翻译等全部接口;WebSocket 侧提供 AsyncAPI 3.1 描述,包含查询参数、消息帧结构以及每一个错误码与警告码。用这些文件生成客户端,能显著减少字段拼写与结构理解上的偏差。

操作步骤

第一步:在 Studio 中生成第一条语音

登录 Studio 后,基本流程是:新建项目,输入或粘贴脚本文本,从声音库中挑选一个声音,调整语速、音调等参数,然后生成并试听。Studio 支持多语言声音,适合为社交媒体视频、有声书、YouTube 视频、播客、动画、广告、电子学习课程、讲解视频、产品演示、演示文稿、培训视频等内容制作旁白。

如果手上已有录音,Studio 还提供在线语音编辑能力:把音频转成可编辑的文本,改完文字再重新合成,从而修正口误或调整措辞,而不必整段重录。音频转文字与语音转文字两个功能也在这里发挥作用,前者把音频文件转成可编辑文本,后者把口述内容转成文字。

需要多语言版本时,可以使用在线音频翻译工具,把一段音频翻译成另一种语言的音频。该工具覆盖 10 种以上语言与 200 个以上 AI 声音。具体语言与声音数量以官网当前信息为准。

第二步:了解可用的集成方式

如果语音最终要放进演示或课程里,Murf 提供了若干现成集成:可以把 AI 旁白接入 Google Slides 做演示;可以配合 Adobe Captivate 增强电子学习音频;可以把 Murf 的声音接入 Adobe Audition 做后期制作;也可以接入 Articulate 360 的 Rise 360 制作学习内容。选择哪条路径取决于你的内容生产工具链。

第三步:发出第一个 API 请求

API 快速开始的目标是在几分钟内完成第一次调用。整体流程是:取得密钥,确定基础 URL,构造请求体,发送请求,接收音频数据。文本转语音的 REST 接口属于 Speech Synthesis API 的一部分,参考文档列出了完整的请求与响应结构。

调用前先确认要用的模型与声音。声音库接口可以浏览全部可用声音,也可以按模型过滤列出。例如按 Falcon 模型列出声音:

GET /v1/speech/voices?model=FALCON
Authorization: <你的密钥>

返回结果中每个声音都有一个标识。这个标识既可以传完整 id,也可以传显示名称。例如 en-US-gordon 是完整 id,而 Gordon 是它的显示名称,两者都能被接受。实际使用时建议传完整 id,避免同名歧义。

第四步:使用 HTTP 流式合成

如果不想等整段音频生成完再返回,可以用分块 HTTP 流式接口:

POST /v1/speech/stream

该接口以分块方式持续返回音频数据,适合边生成边播放或边转发的场景。相比一次性返回完整文件,流式方式能明显降低首字节等待时间。

第五步:使用 WebSocket 流式合成

对延迟要求更高的场景,可以走 WebSocket 双向流式合成。连接地址是:

wss://global.api.murf.ai/v1/speech/stream-input

这条通道目前仅支持 Falcon 模型。交互顺序是固定的:先发送 voice_config 配置声音,再发送文本内容,最后发送结束标记:

{"end": true}

这个结束标记是必需的。没有它,合成流程不会完成,也不会有最终结果返回。这是接入时最容易遗漏的一步。

另一个需要注意的细节是音频格式。默认情况下,返回的第一个 WAV 分块带有一个 44 字节的占位头。如果客户端直接把这个头当成真实音频头解析,可能得到错误的时长或采样信息。要避开这个问题,可以在请求中指定 format=PCM,这样返回的就是不含该占位头的裸 PCM 数据。

第六步:调整 WebSocket 高级参数

WebSocket 流式合成提供三个高级参数,用于在延迟与合成质量之间做权衡:

参数取值范围默认值作用
min_buffer_size0–1000100控制最小缓冲大小
max_buffer_delay_in_ms0–1000300控制最大缓冲等待时间,单位毫秒
predictive_chunkingstrict 或 lenient—控制分块策略的严格程度

这三个参数是顶层字段,不要嵌套在 voice_config 里面。放错层级会导致参数不生效,而且不一定报错,排查起来比较费时。

第七步:按需接入其他能力

除文本转语音之外,API 还覆盖变声、翻译与配音三类能力。变声用于实时修改与转换声音;翻译用于把内容转成其他语言;配音用于为视频等内容生成多语言音轨。这三类能力的具体请求结构与参数,需要查阅各自的接口文档。

一个完整示例

下面给出一个从零到出声的最小流程,使用 WebSocket 流式合成,语言为美式英语,声音为 Gordon。

第一步,列出可用声音,确认目标声音存在。

GET /v1/speech/voices?model=FALCON
Authorization: <你的密钥>

在返回列表中定位到 en-US-gordon,确认它属于 Falcon 模型。

第二步,建立 WebSocket 连接。

wss://global.api.murf.ai/v1/speech/stream-input

第三步,发送声音配置。把声音标识放进 voice_config,同时把高级参数放在顶层,并指定 PCM 格式以避开 44 字节占位头:

{
  "voice_config": {
    "voiceId": "en-US-gordon"
  },
  "format": "PCM",
  "min_buffer_size": 100,
  "max_buffer_delay_in_ms": 300,
  "predictive_chunking": "lenient"
}

第四步,发送待合成的文本。文本可以分多次发送,服务端会按缓冲策略与分块策略逐步合成并回传音频分块。

第五步,发送结束标记。这一步不能省:

{"end": true}

第六步,接收音频分块并落盘。由于指定了 PCM 格式,收到的数据可以直接按裸 PCM 拼接写入文件,再按采样率与位深封装成 WAV 播放。如果改用默认的 WAV 输出,则要注意第一个分块里的 44 字节占位头,不要把它当作真实音频头参与时长计算。

整条链路跑通后,把文本换成自己的脚本、把声音换成目标语言的声音,就得到了一个可复用的合成流程。若要批量处理,把上述步骤包进循环即可;若要降低首字节延迟,可以调小 max_buffer_delay_in_ms,代价是分块更碎、请求开销更高。

注意事项

WebSocket 仅支持 Falcon 模型。其他模型不能走这条通道,选声音时要先确认模型归属。

结束标记是必需的。不发送 {"end": true},合成不会完成。这是接入阶段最常见的失败原因。

首个 WAV 分块带 44 字节占位头。直接解析会导致音频信息错误。需要干净数据时使用 format=PCM。

高级参数是顶层字段。min_buffer_size、max_buffer_delay_in_ms、predictive_chunking 不要放进 voice_config。

参数有取值范围。min_buffer_size 与 max_buffer_delay_in_ms 都限定在 0 到 1000 之间,默认值分别是 100 与 300。predictive_chunking 只接受 strict 与 lenient 两个取值。

voiceId 接受两种写法。完整 id(如 en-US-gordon)与显示名称(如 Gordon)都可以。生产环境建议用完整 id 以避免歧义。

注意限流。API 有独立的限流文档,说明各接口的调用频率约束。批量任务需要做退避重试,避免触发限流导致任务中断。

先读最佳实践与常见问题。这两份文档汇总了调用方式上的建议与高频疑问,在正式接入前过一遍,能省下不少调试时间。

声音使用需符合伦理规范。Murf 与配音演员合作并强调公平呈现,声音克隆与变声功能应遵守相应的伦理要求与授权约定,不要用于未经许可的模仿或误导性内容。

价格、配额与地区可用性以官网为准。不同套餐包含的额度、可用功能与商用授权范围不同,接入前请核对当前条款。