Repository navigation
Releases: Autsunset/VoxEngine
Releases · Autsunset/VoxEngine
Release list
VoxEngine 2026.10.10.1 · 修复听书上下文串读
修复内容
- 修复 MiMo 合成请求中的前后段落原文与
<上下文>标签可能被读出,导致重复朗读或听起来前后错乱的问题。请求不再携带上下文原文,仅传递当前应朗读的正文。 - 覆盖内置听书、系统 TTS 和并行分段合成入口;预设、克隆、设计音色及设计预览均不再发送上下文原文。
- 预设/克隆音色在未指定风格时,从上下文提取简短的本地情绪提示;已指定风格保持不变。设计音色保留原有音色描述与预览行为。
- 更新音频缓存版本,避免继续复用旧的异常音频。升级后旧缓存不再命中,需要重新合成或重新执行预缓存。
预缓存怎么触发
- 自动缓冲:开始听书时,按“提前缓冲页数”自动准备后续片段,播放推进时继续补充。
- 批量预缓存:在内置阅读器里点击正文唤出菜单 → 听书设置 → 设置“预缓存:从当前章开始 N 章” → 点击“开始预缓存”。只调章节数不会启动;正在听书时需要先停止。
- 批量预缓存从当前章开头开始,不播放声音,通知栏提供进度、暂停、继续和停止。作为系统 TTS 供其他阅读应用使用时,后续章节仍需由调用方请求。
验证与安装
- 91 项单元测试通过,包含上下文隔离、三类音色请求、设计预览、关闭上下文和分段顺序回归。
- Lint 与开启 R8/资源压缩的正式版构建通过;沿用原正式签名,可覆盖安装官方版本。
- 版本:2026.10.10.1;版本码:2610101。安装包为
app-release.apk,附 SHA-256 校验文件。 - 尚未进行真机连续实听验证。
VoxEngine 2026.10.05.2 · 听书规则、上下文与预缓存
本版解决 #7、#8、#9,并同步更新阅读 Vox 的听书功能。
- 角色匹配规则:可编辑目标角色、正则、对话前/后旁白与启停状态,按顺序优先匹配;支持 JSON 导入导出角色和规则,未命中沿用默认识别。
- 段落上下文:MiMo 使用前后段落理解人物、情绪与语气,上下文放在指令中,朗读正文保持独立。系统 TTS 同样支持本次文本上下文及可调合成片段长度。
- 减少等待:按原始段落生成稳定片段,播放时持续补充后续音频;可调整缓冲 1–20 页、单次合成上限 180–1800 字。预设与 Edge 音色有界并行,克隆/设计音色保留请求间隔与重试。
- 多章预缓存:从当前章起预制 1–100 章,在后台通知查看进度、暂停、继续或停止。音频保留 30 天、总量上限 2 GB,改变屏幕分页后仍可复用;磁盘保存失败会明确报错。
预缓存会调用所选语音服务。更换音色、风格、温度、上下文或角色规则后,相应片段需要重新合成。实际情绪表现与请求耗时取决于服务和音色。
验证:79 项 JVM 测试及 lint 通过;Android 16 容器验证 50 章 / 150 片段预缓存、规则与上下文传递、并发上限、跨分页磁盘复用、缓存播放、停止和磁盘失败提示。
最低支持 Android 8.0。APK 使用既有 VoxEngine 发布证书签名,文件哈希见 SHA256SUMS.txt。
v2026.08.13.1 — 阅读音色实时刷新
v2026.08.13.1
修复
- 修复克隆音色后进入阅读模式无法立即选择、必须退出重进的问题
- 阅读模式现在会实时响应克隆、设计、导入和删除音色等数据库变更
- 切换 TTS 引擎后继续只展示对应引擎的音色列表
实现与质量
- 使用 Room 轻量音色投影监听变化,不读取克隆音频 Base64,避免增加 CursorWindow 压力
- 140 项 Debug/Release 单元测试全部通过
- Android Debug Lint、Release Vital Lint、R8 与资源压缩构建通过
- GitHub Actions 独立构建成功,Release APK v2 签名验证通过
SHA-256: 071ca6d90e3669cad988c4dace540f4d5f3776b4237a6783610e9b06598abb49
v2026.08.11.1 — 音频解析与听书稳定性优化
v2026.08.11.1
修复
- 安全解析带扩展块、截断或异常长度的 WAV,避免越界、错误 PCM 偏移与异常循环
- 修复通知栏/耳机媒体键在首章或末章越界切换时重播当前章的问题
- 修复听书完整播完一页后仍保存旧页起点、重启后重复播放的问题
- 避免阅读分页和 TTS 长文本切段从中间拆开 emoji 等 UTF-16 代理对
- 修复 EPUB 条目上限可被大量目录条目绕过的问题
- 确保 MP3 解码初始化失败时也释放 MediaExtractor 与 MediaCodec 资源
- 播放结束时立即同步 MediaSession 停止状态
性能优化
- 播放热路径一次解析 WAV 格式与 PCM,替代对同一音频的四次重复扫描
- Compose 分页与耗时状态改用原生 Int/Long 状态,减少装箱分配
质量
- 新增 WAV 边界、非标准 RIFF、Unicode 切段、EPUB 条目限制与切章边界回归测试
- 70 个单元测试全部通过,Android Lint 零错误
- Debug 与签名 Release 完整构建通过,Release APK v2 签名验证通过
SHA-256: cc21ff92ee4d6e4ea207cbfc843df966edb69abdaa7dae7ef42add38c13576cc
v2026.08.10.1 — 阅读体验、性能与兼容性优化
v2026.08.10.1
修复
- 修复阅读器翻页动画在过渡期间可能渲染错页的问题
- 修复 Android 8.0 加载 API 27 导航栏主题属性的兼容性问题
- 修复数字格式隐式依赖系统区域设置的问题
性能优化
- 缓存设置页的引擎与自定义音色查询流,避免 Compose 重组时重复订阅 Room
- 缓存测试页的合成历史查询流,减少无效数据库查询
质量
- Android Lint 错误由 8 个清零
- 完整单元测试、Lint、Release 混淆与资源压缩构建通过
- APK v2 签名验证通过
SHA-256: ee58e8a1847b82c210a9baaf8edfce65bf8a0407df39207866809327cc9573e7
v2026.07.18.1
v2026.07.18.1
修复
- 自定义克隆音色删除闪退:克隆参考音频 base64 过大时,删除/编辑会因 CursorWindow 上限崩溃,导致删不掉。
- 删除、改标签、导出/导入、合成解析改为轻量查询,不再
SELECT *整行 - 新建克隆不再冗余写入
audioBase64(只保留voiceParam)
- 删除、改标签、导出/导入、合成解析改为轻量查询,不再
v2026.07.16.1
v2026.07.16.1
新增
- 采样温度 (temperature) 设置:MiMo TTS 请求支持自定义采样温度(0.0–1.5),可在设置页面调节。
- 克隆/听书建议设为 0.1–0.3,减少句间风格漂移(#5)
- 预设音色可用默认 0.6
- 值越低越稳定一致,值越高越多样自然
v2026.07.13.1 — 支持 EPUB 小说阅读
更新内容
- 增加 EPUB 小说导入与阅读,支持 EPUB 2 NCX 和 EPUB 3 navigation 目录
- 按 EPUB manifest/spine 顺序提取 XHTML 正文,保留章节标题、段落、目录跳转与现有听书能力
- 书架导入入口支持 TXT / EPUB,并增加 ZIP 路径、单文件大小、总解压大小和条目数量限制
- 增加 EPUB 解析、目录顺序、编码路径和 TXT 回归测试
校验
- 版本:
2026.07.13.1(2607131) - 提交:
3e8cf8f - APK SHA-256:
48c54124d0363c02a6bf33f7841c77d2469f0b838762f1225be39ae76b4b0c49 - 已通过
testDebugUnitTest(61 项测试)、Release R8、资源收缩、lintVitalRelease和 APK 签名验证
使用说明
在书架点击导入,选择 .epub 或 .txt 文件即可。EPUB 章节按书内目录与正文顺序载入。
v2026.07.12.1 — 全链路性能优化
更新内容
- 优化听书预取窗口、分页缓存与播放资源回收,降低长章节切分和重复分页开销
- 复用 MiMo 客户端配置,批量查询角色音色类型,减少 DataStore 与 Room 访问
- 优化角色分段、小说解析和阅读视口测量,减少热路径临时对象
- 优化音频缓存哈希、Edge SSML 构建和二进制帧解析
- 增加预取边界、文本编码、角色路由、XML 转义和语言区域回归测试
校验
- 版本:
2026.07.12.1(2607121) - APK SHA-256:
d5f47f9f9cdd067ccde4d1b7013ad465feaa18f75cd01acc7dfec3206c7fedba - 已通过完整单元测试、R8、资源收缩、
lintVital和签名验证
v2026.07.11.1 — 听书与合成热路径优化
改动
听书预取并发
- 预设音色 / Edge:有界并发预取(默认 3),减少「播一句等一句」
- 克隆 / 设计音色:仍串行 + 节流,避免限流
播放路径
- 复用
MODE_STREAMAudioTrack,段间不再反复 create/release - 进度写库 3 秒节流;翻页 / 换页边界仍强制落盘
内存与缓存
- 视口测量分页缓存按书 LRU,最多 3 本
- MiMo 音色解析结果内存缓存,避免热路径反复
SELECT *拉大 base64 - 系统 TTS 流式分句接入
AudioCache,重复句可命中缓存 AudioCacheMD5 使用 ThreadLocal,减少getInstance开销
其它
- 纯符号段统一经
hasSpeakableContent短路为静音(MiMo + Edge) EngineRegistry改为ConcurrentHashMap- 增删改 / 导入音色时失效 MiMo 音色缓存
构建
- 单元测试通过;
assembleRelease签名包已附