DOC软件文档百宝箱

语音合成能读出笑声和停顿吗

「读得像人」的关键往往不是音色,而是那些细微处的处理:哪里停半拍、哪里带点笑意、语气词落在哪。本篇讲讲 ChatTTS 在这件事上的做法,以及怎么在生成时把这种细节用起来。参数调法见 文字转语音参数怎么调才自然.md。

一、为什么大多数合成语音一听就是机器

传统语音合成把「读准每个字」当目标,结果每个字都读得太满:句号才停顿、逗号不停顿、永远没有语气起伏。人说话不是这样——人会清嗓子式地垫个「嗯」,会在自己都觉得好笑的地方带出笑声,会在想词的时候拖半拍。

这些细节在语音学里叫副语言现象。一段语音像不像真人,主要就取决于有没有它们。

二、ChatTTS 的处理思路

ChatTTS 是把对话场景当主目标的模型:训练数据本身就是大量日常口语,所以它能预测出这些细节该出现在哪——该停的地方自己会停,语气词自己会冒出来,甚至笑点处会带出一声真实的笑。这不是后期加的音效,是模型生成时就带出来的。

在安卓端应用里,这件事由「符号文本优化(Refine text)」承接:勾选后,生成前会先自动给文本补上停顿、语气这类标记,再交给模型合成。一般保持勾选就好。

三、想把细节抓在自己手里时

自动补的标记未必处处合意,可以在文本里手动写标记来控制位置——比如在指定位置插入停顿符号,或明确标一个「这里笑」。熟悉之后,同一句台词能排出好几种语气版本:认真版、懒散版、憋不住笑的版本。

手动写标记时可以关掉 Refine text,避免自动补的标记和手写的叠在一起打架。

四、听一耳朵最直观

这类细节文字描述总隔一层,生成对比一次就明白了:同一段台词,关掉符号文本优化生成一条、开着再生成一条,两相对比,停顿和语气的差别立即可闻。

ChatTTS 专题站的首页按生成流程截了四张实机图,「开始生成」那一步正好能看到符号文本优化的勾选项;装好后拿自己常读的那段文字试一轮,感受最直接。

本站文档

访问 ChatTTS 介绍站 ↗