指南

Alexa 技能自定义声音:播放你自己的音频

Alexa 技能使用 Alexa 的声音或 Amazon Polly 的声音说话。对于问答主持人、故事旁白、游戏角色或品牌声音来说,这还不够,而 SSML 给出了答案:audio 标签可以在回复中途播放你自己的 MP3 文件。请注意:Supertonic 3 暂不支持中文,台词可以用英语、日语、韩语等 31 种语言生成。

免费的 SuperClonica 引擎可以用标准声音、你自己训练的声音或角色声音离线生成这些文件。本指南介绍亚马逊对文件的具体要求、如何直接用 Python 生成合规的 MP3,以及如何与 Alexa 自己的语音搭配。

Alexa 中自定义音频的原理

让 Alexa 自己的声音读出会变化的内容,例如分数或名字,不变的部分播放你的文件。

  • SSML 的 audio 标签会在回复中播放来自 HTTPS 地址的 MP3。
  • 亚马逊要求 MPEG 第 2 版 MP3,码率 48 kbps,采样率为 16000、22050 或 24000 Hz。
  • 一次回复中的音频总长最多 240 秒(reprompt 中最多 90 秒),文件不超过五个。
  • SuperClonica 支持 31 种语言,暂不支持中文。

免费试听声音

在任意声音页面输入技能的一句台词,30 到 100 个字符,选择语言并点击生成按钮。几秒后就能听出它是否适合主持人、旁白或角色,无需注册。

制作适用于 Alexa 的 MP3

让每个文件简短而专一:一句问候、一个问题、一个提示音。短文件加载更快,也更容易复用。

  • 安装引擎:python -m pip install superclonica-cpu。
  • 生成台词并一次写成亚马逊要求的格式:tts = Superclonica(); audio, rate = tts.synthesize("Welcome back! Your quiz starts now.", "F1", "en"); sf.write("welcome.mp3", resample_poly(audio, 24000, rate), 24000, format="MP3", bitrate_mode="CONSTANT", compression_level=0.75)。
  • 使用随引擎安装的 soundfile 0.14 和 libsndfile 1.2 时,compression_level 0.75 会得到 24 kHz、恒定 48 kbps 的 MPEG-2 文件。
  • 上传前请用 ffprobe 或 file 命令逐个检查文件。

托管并播放

请把文件托管在带有效且受信任证书的 HTTPS 上,例如 S3 存储桶;自签名证书会被拒绝。文件请求不经过身份验证,因此不能包含任何客户个人或敏感信息。在回复中,把带有文件 URL 的 audio 标签放进传给 ASK SDK 中 speak() 的 SSML 字符串里,放在 Alexa 自己的话之前或之后。

能通过认证的声音

亚马逊会在认证前审核每个技能。请使用你拥有权利的声音:模型的十个标准声音 M1 至 M5 和 F1 至 F5,用同意授权的说话人录音在 SuperClonica 工作室训练的你自己的声音,或在交易所定制的声音。目录中粉丝制作的角色声音适合个人项目,不适合已发布的技能,任何声音都不应模仿真实人物。