博客

Paxa TTS Flash 新增两个能读情感标签的音色

Khanom Chan 和 Kaprao 作为实验音色加入 Paxa TTS Flash,能读出写在文本中的 26 个情感标签,并用权重设定每个标签的强度。

· Paxa Labs · 阅读约 1 分钟

泰语回复的温度藏在字词里。若用播报物流进度时那种平板的语调来读 ดีใจด้วยนะ,听起来就像照着稿子念。自 9 月 25 日起,Paxa TTS Flash 中有两个音色也能从文本中读取语气。在句子前写上 [happy],这句话就会用开心的语气说出来。

这两个音色,不加标签

更新内容#

  • Khanom Chan(khanomchan)和 Kaprao(kaprao)作为实验音色加入音色库,音色总数达到 34 个。
  • 两个音色都能读出写在 text 中的 26 个情感标签,例如 [happy]、[sad] 和 [furious]。其他音色会跳过这些标签。
  • 在冒号后加上权重,例如 [sad:0.5],可以设定标签的强度。
  • GET /v1/voices 为每个音色新增 experimental 和 emotion_tags 字段。
  • 模型 ID 仍为 paxa-tts-flash-v1,语音费率不变。

标签如何生效#

标签从所在位置开始设定语气,一直持续到下一个标签。第一个标签之前的文字保持音色本身的语气,一次请求可以按文本的需要多次切换语气。

一次请求,两种语气
POST /v1/tts

{ "model": "paxa-tts-flash-v1", "voice": "khanomchan",
  "text": "[happy] สอบผ่านแล้ว [sad:0.6] แต่คงคิดถึงที่นี่" }
上面的请求,由 Khanom Chan 朗读

标签一览#

标签都是描述一句话该带什么情绪的日常用词。其中五个对应基本情绪:[neutral]、[happy]、[sad]、[angry] 和 [afraid]。其余标签表示其中某种情绪更细的层次,例如 [annoyed] 或 [crying]。

五种基本情绪读同一句话,由 Khanom Chan 朗读
同一句话和同样的标签,由 Kaprao 朗读

同一组里的其他词决定语气推到什么程度。[annoyed] 是较轻的愤怒,[shouting] 音量最大。[disappointed] 是较轻的悲伤,[crying] 听起来近乎落泪。

愤怒组从最轻到最响,由 Kaprao 朗读
悲伤组,由 Khanom Chan 朗读
分组标签
中性[neutral], [calm], [normal], [plain]
开心[happy], [excited], [cheerful], [joyful], [amazed], [laughing]
悲伤[sad], [crying], [sorrowful], [gloomy], [disappointed]
愤怒[angry], [shouting], [furious], [annoyed], [frustrated]
害怕[afraid], [scared], [fearful], [nervous], [terrified], [anxious]

情感音色页面可以试听两个音色朗读全部 26 个标签,情感标签指南说明了标签的写法。

标签的强度#

冒号后的权重设定标签的作用强度,范围是 0 到 1。[sad:0.5] 和 [sad:50%] 效果相同。超出任一端的权重按该端处理,权重为 0 的标签不起作用。

[sad] 从 0 到 1,由 Khanom Chan 朗读

真实台词中的标签#

下面每一行都是一次请求的 text,按原样发送。片段是这些请求返回的音频。

一条 AI 陪伴的回复先是祝贺,接着是不舍,最后定下一个约定。AI 陪伴指南讲解字词本身已经带有的语体。

文本
[happy] ได้ข่าวว่าสอบผ่านแล้ว ดีใจด้วยจริง ๆ นะ
[sad:0.6] แต่ก็ใจหายเหมือนกัน ต่อไปคงไม่ค่อยได้เจอกันแล้ว
[calm] ไม่เป็นไร เดี๋ยวเรานัดกินข้าวกันนะ
AI 陪伴的回复

文字冒险游戏里的一名守卫为一扇敞开的大门发火,接着又担心起队长。互动小说讲解如何为一群角色配音。

文本
[furious] ใครเปิดประตูค่ายทิ้งไว้
[anxious:0.7] ถ้าหัวหน้ารู้เข้า พวกเราโดนหนักแน่
游戏里的守卫
  • Kaprao泰语 · 情感标签0:03

一部有声小说的旁白始终平静,直到后门被打开。有声小说讲解如何用同一个音色朗读长篇章节。

文本
[calm] คืนนั้นฝนตกทั้งคืน บ้านทั้งหลังเงียบสนิท
[terrified] จนกระทั่งประตูหลังบ้านค่อย ๆ เปิดออกเอง
一段旁白
  • Kaprao泰语 · 情感标签0:04

一名客服为包裹延误道歉,然后告知新的送达日期。语音智能体讲解电话助手和聊天助手所用的语音。

文本
[disappointed:0.4] ขออภัยค่ะ พัสดุของคุณส่งช้ากว่ากำหนด
[cheerful] ตอนนี้ออกจากคลังแล้ว คาดว่าจะถึงพรุ่งนี้ค่ะ
客服的回复

标签在哪里生效#

  • POST /v1/tts,整段返回或流式返回均可。开启时间戳后,时间段只覆盖朗读出的文字,标签不占时间段。
  • POST /v1/audio/speech,即兼容 OpenAI 的路由,会读取 input 中的标签。
  • 实时连接会把拆在两个帧里的标签作为一个完整标签读取。每一段都沿用上一段结束时的语气,直到 cancel 将其重置。
  • 控制台的语音工具有一个情感标签面板,列出所有标签并提供强度滑块,输入时会用音色的颜色标出每个标签。

API 会拒绝什么#

在这两个音色上,列表之外的方括号词(例如 [laughs]),或不是数字的权重(例如 [sad:half]),会在扣费前返回 400 tag_invalid。列表之外的词后接冒号(例如 [Fig:2])属于普通文本,会被读出来。只有标签的文本会在扣费前返回 422 unspeakable_text。

其他音色不拒绝任何标签。它们会去掉列表中的标签,把列表之外的方括号词照常读出。

标签的费用#

标签也是文本,其字符按统一的语音费率计费,每 1,000 字符 10 积分。上面的请求连同标签共 47 个字符,费用为 0.47 积分。

“实验”意味着什么#

音色 ID 和标签列表保持不变。在我们调校这两个音色期间,每个标签的听感可能会变化,今后生成的同一句话也可能与今天听起来不同。其他所有音色的语气保持不变。

试一试#

  • 打开语音工具,选择 Khanom Chan 或 Kaprao,再打开情感标签面板。
  • 阅读情感标签指南,了解标签写法、权重和实时连接。

继续阅读

博客的其他文章