吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6900|回复: 38
收起左侧

[原创工具] 【更新v1.4.2】对阅读app的听书文件生成(开源)

[复制链接]
flt 发表于 2022-10-23 15:45
本帖最后由 flt 于 2023-3-12 16:08 编辑

重要通知

由于接口更改,v1.4.2版本以前无法运行,请更新。

简单的听书音频生成

这是一个为阅读3制作的生成章节音频的程序。
由于作者能力,仅仅是CLI工具。
Sample

安装

拥有python环境和基础

  • 克隆当前存储库
  • 安装依赖: pip install -r requirment.txt
  • 下载ffmpeg.exe并保存在当前程序相同文件夹,或在path中设置.

没有python环境

windows
  • 在最新的Release中下载main.exe
  • 下载ffmpeg.exe并保存在当前程序相同文件夹,或在path中设置.
安卓
  • 下载termux软件(网盘,网盘可能不是最新,可以自行搜索下载)
  • 下载最新的Release中下载{版本号}_android(如果没有这个文件,请在Issue处提醒作者
  • 将文件导入到termux中,并chmod +x {文件名}加执行权限
  • ./{文件名}运行即可

用法

  • 在阅读app中打开Web 服务, 并且记录显示的ip地址。

get_ip

  • 运行这个程序, 并输入1.

intro

  • 输入记录的ip地址

ip

  • 输入书籍id

choose

  • 输入开始和结束的页面id,您可以在开始处留空,这意味着选择当前章节。提示格式: (<id>: <标题>). id有时会由于书源造成误差, 您可以根据开始章节的id数据计算这个误差。

book

  • 接着等待程序运行结束即可!

菜单

1. Basic

基础模式,您可以根据交互提示和上述内容使用。

2. Fix

如果你看见 Retry (for fix mode), 那么你便需要运行这个模式。这意味着某个章节的音频合成失败了太多次.(你可以通过MAX_RETRY修改这个数据) 你可以复制 Retry (for fix mode)后的数据并输入在提示中, 然后程序便会像标准模式运行。

3. Concat

如果你的程序意外退出, 那么文件夹中便会出现像 340_第xxx章xxx (1).mp3这样的文件。如果你遇到了这个情况,你可以运行这个模式自动修复这个错误。注意: 如果某个章节下载了部分,那么可能出现未知情况(通常出现于最后几个)

4. Delete temporary files

如果你在输出文件夹中发现340_第xxx章xxx (1).mp3或者控制台中有ERROR: _merge: Permission denied!,这是一个已知bug(还没调试明白,如果谁有思路,请麻烦提一下Issue). 你可以通过运行这个模式来修复。<sup>3</sup>

配置

你可以运行一次主程序,便会生成config.json,并附有默认配置。你可以修改,或者使用自定义json,这个json必须是原json的子集。程序会自动检查类型和key,在软件更新过程中,部分参数有删除或改动,软件会自动更新到最新参数。如果您确定您的json在老版可用但新版不可用,请在Github上提Issue。

名称 类型 默认 含义
MAX_RETRY int 5 重试次数最大值
MAX_TASK int 10 最大并行任务数
MAX_CHAR int 1500 单个音频最大字数, 你可以查看这个
WAIT_TIME int/float 5 两次重试间等待时间
RETRY_SUB int/float 2 当重试时,任务数会除以MAX_TASK<sup>1</sup>
MAX_WAIT int 20 最大等待时间<sup>2</sup>
TRANS_MODE int 2 转化模式:目前有效值为基础模式(1)、角色模式(2)<sup>4</sup>
TIMEOUT int/float 3 链接到app的超时值(单位:秒)
OPT_DIR int Output 输出文件夹
SHOW_DEBUG bool false 显示调试信息
SAVE_LOG bool true 保存日志信息
SAVE_REQ bool false 保存所有请求记录(用于反馈)
TO_CONSOLE bool true 在控制待中显示日志(包括INFO和ERROR信息)
LANG_FILE str zh 语言文件<sup>5
ip str app的ip(包含端口)

语言

目前已制作两种语言的语言数据,默认为中文,可以在config.json中的修改LANG_FILE
目前已有lang_chk.py检验语言文件,但是运行方式过于草率,可能会出现安全问题,请仅用于已知来源文件!

运行模式

对于模式1:基础模式;对于模式2:角色模式。角色模式通过引号等常用符号标记角色语言内容,将该部分内容换为另一角色合成。

识别的符号

  • “文本”
  • "文本"
  • 【文本】
  • '文本'

自动回退

注:对于文章中出现以下情况,角色模式将自动回退到基础模式(将提示错误)。

  1. 文章中出现引号不匹配。如

文本“对话内容<b><font color=red>“</font></b>

  1. 文本中存在引号不配对的情况。如

文本<b><font color=red>“</font></b>对话内容。
其余内容“对话内容”

Notes

  1. 如果音频合成失败,程序会重试MAX_RETRY次。在重试后,同时运行的任务会除被以RETRY_SUB,并且等待WAIT_TIME秒。
  2. 我使用了aspeak模块来合成音频,但是只有一些限制。其中还有一个没有被记录的限制:不能短时间内合成多次。如果合成失败率大于LIMIT_429,并且完成(失败)了FAIL_429个音频,程序会等待正在运行的所有任务结束,然后等待9+3*stop_cnt。其中,变量stop_cnt是总失败次数,并且等待时间不会超过MAX_WAIT。如果超过,便会将等待时间固定为15s。
  3. 最后一个文件好像会被ffmpeg或者python进程占用,这似乎不是我的代码的问题,因为只有在windows平台上出现。
  4. 运行模式见上

FAQ

Q: Showe text like "\033****" and so on

A: use cmder to run it, the console should support ANSI colorful output.

Q: Find file like <TiTle>(1)

A: Start main program again and run mode 4

Q: The program interrupted unexpectedly, but there are many <title>(1) in output folder

A: Start main program again and run mode 3

Changelog

v1.4.3

  1. 修复config的覆盖
  2. 修复<voice>项超过数目

v1.4.2

  1. 修复reConcat中的bug
  2. 更新config
  3. 更新mytts版本. 对于可执行文件版本,旧版本无法运行

v1.4.1

  1. 添加章节404检测
  2. 使得识别的引号可以在config中修改(bracket
  3. 修复<voice> tag超出数量限制的bug
  4. 修改log的实现方式

1.4.0

支持对话特别朗读模式

v1.3.1

修复软件无法在没有lang_zh.json的情况下运行的bug

v1.3.0

  1. 使用mytts作为tts实现
  2. 使用rich库而不是alive-progress库实现进度条
  3. 优化命令行界面

v1.2.4-alpha

将较为主要的字符串转为中文

免费评分

参与人数 8吾爱币 +14 热心值 +7 收起 理由
感悟 + 1 + 1 我很赞同!
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
Lucifer_BW + 1 + 1 热心回复!
wanfon + 1 + 1 热心回复!
wkdxz + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
mincai + 1 + 1 谢谢@Thanks!
固相膜 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
luckylucky1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

 楼主| flt 发表于 2022-12-25 23:09
a2811260 发表于 2022-12-23 16:17
请问有替换手机自带TTS的方法吗。谢谢

本软件不能,但是网上有软件可以。需要请在github上自行搜索。本软件可以在安卓上的termux运行。
a2811260 发表于 2022-12-28 14:39
flt 发表于 2022-12-25 23:09
本软件不能,但是网上有软件可以。需要请在github上自行搜索。本软件可以在安卓上的termux运行。

谢谢您的解答
hanchao2021 发表于 2022-10-23 16:18
Vmen 发表于 2022-10-23 16:28
谢谢分享,体验一下看看
天丝 发表于 2022-10-23 16:31
我怎么看图裂了
 楼主| flt 发表于 2022-10-23 17:13
天丝 发表于 2022-10-23 16:31
我怎么看图裂了

github上的图片,简介是基本复制的github上的README。
现在还在改代码,图片我稍后上传图床
ysjd22 发表于 2022-10-23 17:15
好像很不错的样子啊
wkdxz 发表于 2022-10-23 17:18
软件不错,谢谢楼主分享!
yzx159357123 发表于 2022-10-23 17:36
感谢分享
youcome 发表于 2022-10-23 17:41
谢谢楼主的分享,试试看
zzw312 发表于 2022-10-23 18:41
谢谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 01:07

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表