lenML / Speech-AI-Forge

🍦 Speech-AI-Forge is a project developed around TTS generation model, implementing an API Server and a Gradio-based WebUI.
https://huggingface.co/spaces/lenML/ChatTTS-Forge
GNU Affero General Public License v3.0
710 stars 87 forks source link

[BUG:FT] 选择说话风格后,文本会生成不完全,会少最后几句。 #160

Open wangqun888 opened 1 week ago

wangqun888 commented 1 week ago

确认清单

Forge Commit 或者 Tag

main

Python 版本

3.10

PyTorch 版本

2.3

操作系统信息

Linux

BUG 描述

选择说话风格后,文本会生成不完全,会少最后几句。

复现步骤

选择说话风格后,文本会生成不完全,会少最后几句。WEB或者API都可以复现此问题。

期望结果

期望大神查看一下是否有问题。

实际结果

期望大神查看一下是否有问题。

错误信息

No response

zhzLuke96 commented 1 week ago

如果是 chattts 的话是正常的预期的现象,因为 forge 里面的 prompt 插槽都是实验性质的,不太稳定,特别是用带有 prompt 的就更不稳定了 除非上游更新模型或者社区自行微调,不然都难以避免吞字的问题

wangqun888 commented 1 week ago

如果是聊天的话是正常的预期的现象,因为锻造里面的提示插槽都是实验性质的,不太稳定,特别是用带标记的提示的就更不稳定了, 除非上游更新模型或者社区手机本身,否则都难以避免吞字的问题

发现此问题是在 chattts,GET [/v1/tts] Synthesize Tts接口中style参数,只要传递就会出现吞字现象。不是prompt,prompt1,prompt2参数。

zhzLuke96 commented 1 week ago

如果是聊天的话是正常的预期的现象,因为锻造里面的提示插槽都是实验性质的,不太稳定,特别是用带标记的提示的就更不稳定了, 除非上游更新模型或者社区手机本身,否则都难以避免吞字的问题

发现此问题是在 chattts,GET [/v1/tts] Synthesize Tts接口中style参数,只要传递就会出现吞字现象。不是prompt,prompt1,prompt2参数。

是这样的,style不是一个单独的功能,算是一个集合,每个style其实就是不同的 prompt + chattts 的特殊 token 配置,所以选了 style 就是使用了 prompt ,其他 prompt prompt1 prompt2 就是释放出来自定义的接口

因为没有你的输入文本,不太好确定情况,如果是大段的文本(200字以上)漏了那可能是分割器有bug 但是如果只是漏了几个字一句话的话,估计还是模型的问题 目前吞字漏字的情况暂时没法完美解决

建议: 一个简单的方法是自行保证每句合成文本都有结束符号。结束符号指的是类似 [v_break] [uv_break] [l_break] 这些,也可以用 句号,提示模型需要生成结束片段可以减少吞字的问题