gedoor / legado

Legado 3.0 Book Reader with powerful controls & full functions❤️阅读3.0, 阅读是一款可以自定义来源阅读网络内容的工具,为广大网络文学爱好者提供一种方便、快捷舒适的试读体验。
GNU General Public License v3.0
30.38k stars 3.96k forks source link

关于tts的请求超时问题 #3643

Closed brian95827 closed 9 months ago

brian95827 commented 10 months ago

确认 / Assignments

问题描述 / Describe Bugs

  1. 对于长段落的TTS,因为段落比较长,处理时间也比较长很容易导致超时
  2. 超时之后app发起重试,因为同样的原因重试也会失败,导致多次失败后中途退出tts。

复现步骤 / How to reproduce

选中长段落进行tts,一些处理能力比较弱的api会处理长文本超时, 进而超时导致重试,重试依旧超时,进而app的tts多次失败自动退出。

确认 / Assignment

其他信息 / Additions

建议:

  1. app中提供超时的相关设置:超时时间,重试次数。(用户可以自行设置)
  2. 将长段落分割为多个小段,分次进行请求。

日志提交 / Relevant log output

No response

阅读版本 / Legado version

3.23.110211

Android版本 / Android version

Android 12

机型 / Model

Remid K50

821938089 commented 10 months ago

长段落切分可以用替换净化

brian95827 commented 10 months ago

长段落切分可以用替换净化

你说的对,替换净化确实可行。


我写了一个长段落切分的替换净化,以便以后遇到相同问题查看issue的人可以参考:

{
  "excludeScope": "",
  "group": "",
  "id": 1704908067799,
  "isEnabled": true,
  "isRegex": true,
  "name": "分割长段落",
  "order": 0,
  "pattern": "(\\S{80,100}(?=[。,?”!\\-$])[。,?”!\\-$]*)",
  "replacement": "$1\n",
  "scope": "",
  "scopeContent": true,
  "scopeTitle": false,
  "timeoutMillisecond": 3000
}
acewind1 commented 10 months ago

TTS朗读功能,我正在优化改进。差不多好了。最近会把代码提交上来。

@821938089 第一次提交代码,想问下,需要找谁,谁来审核合并代码?

我在开发中的几个功能:

  1. 按标点分句子朗读,句子连续不会被分页打断。 @Yuansheng-Liang
    (之前是按整个段落朗读,而且会被分页打断)
  2. 按标点句子显示正在朗读的内容
  3. 朗读时,手动翻页,翻章节,翻看其他页面,不会影响朗读位置。
  4. 正在朗读的句子发生切换时,文章自动滚动/翻页。
  5. 自动滚动时,保证朗读语句在显示区域限制在中部。 当新句的底部 > 屏幕3/4 高度时,动画上滚屏幕,把这句话移动到屏幕1/8位置,确保显示在 1/8 到 3/4 屏高。
  6. 正在朗读句子不在当前显示页面中时,不会发生朗读自动翻页/滚动
  7. 点击预览图片时,暂停朗读。关闭图片时,继续朗读
github-actions[bot] commented 9 months ago

由于长期没有状态更新,该问题将于5天后自动关闭。如有需要可重新打开。