文档 / 使用指南

长文本朗读:自动分段是怎么回事

结论先行:你不需要自己给长文本分段。粘进去多长都行,Soniva 会自动切好、 依次朗读、无缝衔接。这一页解释的是"它到底怎么切的",以及为什么账单里会出现多条记录。

结论先行:你不需要自己给长文本分段。粘进去多长都行,Soniva 会自动切好、 依次朗读、无缝衔接。这一页解释的是"它到底怎么切的",以及为什么账单里会出现多条记录。


单次朗读的长度上限

用什么单次上限
Soniva 的积分500 字
你自己的 API Key(BYOK)4,000 字
豆包语音小模型(classic / BV 音色)约 280 字(上游硬限制)

超过上限的文本,Soniva 会在发送前按标点自动切成多段, 每段各发一次请求,播放时依次接力,你听起来是连续的一段。


为什么豆包小模型切得更碎

豆包的 doubao-tts-classic(BV 开头的音色)走的是火山引擎旧版接口, 上游规定单次请求文本不能超过 1024 字节(约 300 个汉字), 超了会直接报错,而且上游不会帮你拆。

所以 Soniva 对这一档单独收紧到 280 字一段(留出中英文混排的余量)。

这直接影响它的扣费方式——因为这一档是按调用次数计费的, 每段各算一次调用、各扣 1 积分:

  • 读 280 字以内 → 1 积分
  • 读 1,000 字 → 约 4 积分
  • 读 10,000 字 → 约 36 积分

详见 豆包语音说明。


为什么账单里会有多条记录

一次长文朗读 = 多次上游调用 = 多条流水记录。

比如你粘了 2,000 字用阿里云读,实际发生的是 4 次 500 字的请求, 在积分流水里就会看到 4 条扣费记录。

总扣费跟一次读完是一样的(按字符计费的品牌不会因为分段而多扣), 只是记录条数变多了。按次计费的百度和豆包小模型例外—— 它们本来就是按调用次数收费,分段方式直接决定扣多少。


分段带来的一个副作用:段落之间的停顿

因为每段是独立合成的,段与段之间会有一个极短的衔接。 大多数时候察觉不到,但如果上游响应慢,可能会听到轻微的停顿。

这是所有"长文本分段接力"方案共有的特性,不是故障。

想减少停顿的办法:

  • 用自己的 API Key(单次 4,000 字,段数减少 8 倍)
  • 避开豆包小模型这种切得特别碎的档位

播放不会因为切换标签页而中断

Soniva 的朗读在后台标签页里会继续播放——你切到别的网页、 甚至最小化浏览器,它都会接着读。

这是刻意保留的行为(早期版本试过"切走就暂停、切回来续播", 结果反而更容易读串、丢段,已经回退了)。

如果要停,请手动点暂停。


三级容错:为什么它很少彻底读不出来

Soniva 的朗读有三层兜底:

① 你选的云端 AI 音色
      ↓ 失败(上游超时/报错/额度问题)
② 阿里云 Sambert 兜底音色
      ↓ 仍然失败
③ 你设备自带的系统语音(本地朗读,永远可用)

所以即使某家上游临时抽风,你最坏也能听到系统语音把内容读完, 不会出现"点了没反应"的情况。

如果你发现声音突然变成了明显不同的音色,通常就是触发了兜底—— 过一会儿再试,或者换个品牌。


实用建议

情况建议
经常读几千上万字优先选便宜的档位(腾讯精品 / 百度基础 / 豆包小模型)
长文 + 在意音质阿里云 CosyVoice v3-flash(16 积分/千字符)性价比最好
长文 + 用 ElevenLabs⚠️ 209 积分/千字符,Pro 档月度赠送只够约 2.4 万字,慎用
有自己的 API Key一定要填上,单次上限翻 8 倍且不扣积分

相关文档

这篇有用吗?

匿名反馈仅在你允许统计且服务可用时启用。你也可以直接通过邮件提出问题。

通过邮件提出问题

邮件会附上当前文章链接。也可以复制信息后发送至 soniva.cde@gmail.com