Skip to content

NextVol 0.2.0

Choose a tag to compare

@github-actions github-actions released this 09 Nov 06:00
1185964

NextVol 0.2.0

0.2.0 是一次以听书为重点的大版本更新:支持导入 MultiTTS 在线与离线音源,为旁白、对话和人物分配声音,并按书保存听书方案。同时补齐文本处理、音频调节、背景音乐和诊断能力,改善阅读设置、分类筛选及数据保存。

版本特性

  • 在线与离线听书:导入 JSON、ZIP、YAML 音源及配置包,预览后选择安装;支持多种专用在线服务与内置离线后端。
  • 多角色配音:分别选择旁白和对话声音,使用角色规则、人物分析和声音池,为同一本书中的人物保持稳定配音;语言规则可自动切换相应声音。
  • 按书听书方案:创建、复制和编辑方案,为不同书籍绑定声音、规则、朗读参数与背景音乐,也可跟随默认方案。
  • 更完整的播放控制:统一语速、音量、音调设置,支持流式解码、Sonic/SoundTouch 音频处理、背景音乐,以及按实际播放时长或章数停止。
  • 阅读与维护改进:重新整理分类书单和筛选面板,修复主题页返回、设置保存顺序、排版规则更新及导出历史问题,并接通 NextVol 正式更新分发。

Changelog

  • 音源与引擎:加入 MultiTTS 包导入、在线专用协议、离线模型安装、独立引擎配置、发音人编辑、批量管理和排序。
  • 文本与选声:加入两阶段替换、对话识别、人名发现与分类、角色匹配、语言选声、声音池和文本人物分析,朗读高亮与续听继续对应原文。
  • 方案与播放:按书保存听书配置,支持试听后返回原书、背景音乐、朗读标记、段间停顿、流式播放和会话内合成器复用。
  • 阅读与数据:改善分类筛选和阅读设置往返,修复快速保存覆盖、旧字体清理、排版规则残留与列表不更新,以及并发导出的历史记录丢失。
  • 更新与工程维护:应用更新迁移到 Nextvol api/GitHub 正式渠道,移除上游统计服务,完成 TTS、书源、下载与设置的多轮职责整理。
展开完整 Changelog(按主题归纳)

音源包导入与离线听书

  • 统一 JSON、ZIP、YAML 导入入口,支持预览 MultiTTS 引擎、发音人、资源与配置;预览和导入只处理数据,不执行包内脚本或请求语音服务。
  • 离线声音可安装到应用目录,用于试听和正文听书。重导入更新资源修订并保留用户编辑,声音副本共享模型,使用中的资源在播放释放后再回收。
  • 接入 Sherpa 的 VITS/Piper/Melo/Coqui、Matcha、Kokoro、Kitten,以及 eSpeak、百度、微软、搜狗、讯飞、三星、Vocalizer、Acapela、CereProc、Google、Lark、VCS、微信读书、小米、字节和固定音频适配。
  • Sherpa、ONNX Runtime 和 eSpeak 的相关运行能力从源码构建;其他所需运行库随安装包提供,声音模型仍由用户导入的语音包提供。
  • 修复字节包中部分声音模型与公共资源目录不一致的问题;按音源实际使用的后端、系统版本、架构和内存页面大小判断设备可用性,并显示具体原因。
  • 支持导入替换、角色和声音池配置,选择合并或替换;保留外部声音引用,可先导入配置再安装相应音包。离线配置更新保留已有模型及适用的用户编辑。

相关 PR:#797、#798、#802、#829、#856、#887。

在线服务、引擎与发音人管理

  • MultiTTS HTTP 包支持表达式、脚本、GET/POST、动态请求头和正文、超时及 Base64 音频;参数绑定覆盖发音人、文字、语速、音量与扩展控件。
  • 接入 Microsoft Translator、Edge、Google 翻译、火山翻译、Gemini、讯飞配音、配音呀,以及 Vivo、BDoTTS、MscTTS、Azure、豆包、Clipchamp、呱呱、Speech Studio、ReadSpeaker 等专用在线协议;补齐 Microsoft 声音的在线订阅模式。
  • 对齐引擎参数和发音人编辑;支持独立引擎配置、新建发音人、声音编辑/复制/启停、头像与扩展控件,以及按引擎分页和字段搜索。
  • 声音列表支持原地多选、拖动排序、批量删除和加入声音池;筛选中的排序保留隐藏声音的位置,排序本身不打断播放。
  • 包提供网页登录配置时,可完成登录并把结果回填编辑草稿。声音目录仅在手动刷新时联网,过期刷新结果不会覆盖后来编辑的配置。
  • “过滤语言”用于 Azure/Clipchamp 在线目录刷新,不再隐藏已经保存的声音;“隐藏参数编辑框”“隐藏拓展UI编辑框”和“检查网络”与实际编辑、合成入口保持一致。
  • 不支持 Fish 镜像、搜狗在线、纳米 AI 和 Filmora 的对应专用包;这些开发期间评估过的适配未纳入本版支持范围。搜狗离线及通用 HTTP 能力保留。

相关 PR:#831、#833、#834、#847、#848、#849、#886、#888、#890、#905、#909。

文本处理、多角色配音与人物分析

  • 接入两阶段替换:先处理整段结构,再进行普通纠音。变长替换、删除和捕获组重排后,正文高亮、跳段、失败定位与续听仍使用原文位置。
  • 识别跨行对话、人物标记与上下文,提供句长、英文分离、表情等文本处理设置;规则管理支持搜索、分组、启停、排序及预览。
  • 逐段选择实际声音,支持旁白/对话单选或多选,并可在系统、HTTP 与离线声音之间切换;缺失声音或角色规则错误可定位到对应配置。
  • 角色管理支持文本、角色与语言规则,提供分组、搜索、拖动和编辑。启用语言规则后自动进行语言识别,可选择 Optimaize 或 Media Pipe,无需单独开启检测。
  • 内置 NER 人名识别、Ngr 姓名分类和新词发现,提供人物分析测试;姓名回退正则在隔离进程执行,支持取消与超时。
  • 声音池按人物分配声音并保存配对,人工绑定优先;人物与别名可共用配音身份,新增候选不会重新打乱已有配对。
  • 文本人物分析可读取本书已缓存正文、补齐全书后分析,或从普通设置入口选择 TXT;支持核对候选、修改姓名和性别、合并别名,确认后保存到目标方案。

相关 PR:#803、#830、#832、#836、#837、#838、#839、#840、#844、#851、#853、#891、#903。

按书听书方案与设置组织

  • 在“听书设置 → 朗读设置 → 听书方案”管理方案,支持新建、复制、重命名、删除和设为默认;书内入口可跟随默认、绑定指定方案,或复制当前方案供本书使用。
  • 声音选择、替换规则、角色、声音池、文本/音频参数与背景音乐选择归方案;音源、引擎、模型和音乐文件共享,人物配音按书籍和方案隔离。
  • 编辑其他方案不会重新合成当前书籍。切换当前方案时清理旧计划与预合成音频,按原文位置继续,并保留暂停意图和睡眠计时。
  • 统一听书首页和设置行样式,播放设置按功能分组;朗读设置集中提供语速、音量、音调三个滑条,统一合成参数与公共音频处理的职责。
  • 修复试听非默认方案时误用默认方案背景音乐的问题,试听期间的音乐设置修改仍即时生效。

相关 PR:#795、#861、#893、#895、#897、#899、#908。

音频、定时、背景音乐与播放稳定性

  • 在线、离线与音效输出共用音频处理链,提供 Sonic/SoundTouch、最低采样率和静音检测;避免在合成器与公共处理层重复应用声音参数。
  • “流式解码”允许支持的在线后端边接收、边解码、边播放,减少完整音频下载前的等待;默认关闭,可继续使用完整文件播放。
  • 支持 [[PAUSE:毫秒]]、[[SPEED:倍率]]、[[PITCH:倍率]]、[[VOLUME:倍率]] 朗读标记及段间附加停顿,保留原文定位。
  • 背景音乐可导入本地文件、多选曲目并独立调节音量;跟随听书暂停、停止、音频焦点和定时结束,音乐调整不重新合成正文。
  • 定时支持按章数停止,以及 10/30/60/90 分钟或自定义时长。时长只累计正文实际播放,暂停、缓冲、合成和临时试听期间冻结。
  • 临时试听结束或普通失败后返回原书;重新打开已暂停的听书面板保持暂停,后续启动采用最新设置。优化刷新和加载期间的控件稳定性,简化底栏播放操作。
  • 多角色切声复用会话内合成器,同模型的 Sherpa 声音可共享模型实例;停止、淘汰及资源清理继续等待正在使用的任务释放。
  • 修复 HTTP 试听连接清理触发主线程网络异常,以及快速跳段/切书后隔离脚本进程未完整关闭、导致后续合成失败的问题。
  • 增加听书诊断日志,记录实际文本处理、规则命中、配对和选声结果,支持查看、清空与导出。

相关 PR:#752、#761、#763、#773、#774、#777、#778、#779、#850、#852、#855、#857、#858、#859、#862。

阅读、分类与数据保存

  • 未保存对应偏好时,分页阅读默认开启点击翻页和快速章节切换;已保存的开关值继续生效。
  • 从“主题与纸张”返回时恢复原阅读设置面板、标签、滚动位置与展开状态。
  • 分类书单重新整理封面与文字层级,筛选收进底部面板;修改先保存在草稿中,应用时一次刷新,取消不提交。统一移除书籍条目的常态灰底。
  • 修复书源“绕过 VPN”保存时全局进度提示造成的页面跳动。
  • 普通设置按同一路径的提交顺序逐次保存,避免较早操作晚到并覆盖新值;页面退出后已接受的写入继续完成,过期字体清理不会清空后来选择的字体。
  • 修复覆盖恢复备份后旧排版规则残留,以及规则增删、修改后分组与列表不更新的问题;文本处理读取一致的规则快照。
  • 修复多本书同时导出时完成历史互相覆盖,完成观察在任务终态及时结束;移除或清空的旧卡片不会被迟到读取恢复。

相关 PR:#751、#755、#756、#760、#764、#921、#932、#947、#951。

更新分发、内部整理与语言支持

  • 应用内更新改用 Nextvol api(默认)和 GitHub,仅识别 NextVol 正式应用版本;下载后校验 SHA-256、包名、版本及安装签名,运行库组件 Release 不参与应用更新。
  • 正式 Release 自动同步到网站分发;修复检查失败后的旧结果、检查与下载并发、下载错误提示和通知权限处理。
  • 移除上游 Matomo 统计及旧服务入口,源码、反馈与许可证入口指向本项目,保留上游来源与许可署名。
  • 分离 TTS 的声音操作、编辑草稿、共享引擎、引用维护、离线安装、配置解析与片段生产;明确界面、业务编排、存储及资源生命周期的职责。
  • 整理书源的登录交互、导入提交、搜索与发现列表解析,收窄存储、网络及脚本执行依赖;保持来源授权、隔离执行和导入不执行脚本的边界。
  • 分离下载资源文件操作、详情目录浏览状态及排版规则算法;补充配置字段与调用链文档,并调整构建环境和缓存复用。
  • 界面语言保留简体中文、繁体中文和英文,停止维护俄语本地化;俄语音源及其合成能力保留。

相关 PR:#608、#767、#768、#769、#770、#801、#828、#846、#916、#917、#918、#919、#920、#928、#929、#930、#931、#936、#937、#938、#942、#943、#944、#948、#952。

展开完整 PR 记录(91 项,含本次发布配置)

以下为 v0.1.1 标签之后纳入本次版本的 PR,按编号排列,包含文档与构建维护。标题保留开发记录;开发中后来调整或撤销的功能,以本页版本特性和分类 Changelog 描述的最终行为为准。

  • #608 fix: 迁移 NextVol 正式更新并移除上游服务
  • #748 docs(release): 保留 0.1.1 的 Changelog 与折叠记录
  • #751 fix(sources): 修复绕过 VPN 保存时的页面跳动
  • #752 fix(tts): 保留刷新结果以稳定听书设置布局
  • #755 feat(reader): 默认启用分页点击翻页和快速章节切换
  • #756 fix(reader): 从主题页返回时恢复阅读设置上下文
  • #760 fix(ui): 统一去除书籍条目的常态灰底
  • #761 fix(tts): 修复 HTTP 音色试听连接清理导致的主线程闪退
  • #763 fix(tts): 简化听书设置底栏播放控制
  • #764 feat(ui): 重塑分类书单布局与筛选交互
  • #767 refactor(content): 收窄内容状态存储依赖
  • #768 refactor(execution): 移出规则求值器的会话绑定
  • #769 refactor(network): 收窄内容复用与预取的路由引用
  • #770 refactor(content): 集中宿主会话装配并收窄网络能力
  • #771 fix(tts): 支持独立播放倍速并保留合成语速
  • #773 fix(tts): 后续启动采用最新读取的听书设置
  • #774 fix(tts): 临时试听后恢复听书与睡眠定时
  • #777 fix(tts): 打开听书面板时保留暂停状态
  • #778 fix(tts): 保持听书设置加载时的按钮外观稳定
  • #779 feat(tts): 重做定时面板并按实际播放时长倒计时
  • #795 refactor(tts): 整理听书设置与统一音源入口
  • #796 feat(tts): 从源码构建 Android arm64 ONNX Runtime
  • #797 feat(tts): 识别 MultiTTS 语音包并提供静态预览
  • #798 feat(tts): 导入首个 MultiTTS HTTP 包并接通朗读
  • #799 feat(tts): 接入源码构建的 Sherpa 中文 Matcha 后端
  • #801 ci: 共享固定测试环境并限制缓存快照保留
  • #802 feat(tts): 离线语音包导入与正文听书
  • #803 refactor(tts): 统一单声音朗读计划与原文定位
  • #828 ci: 共享内置 SDK 缓存并保留正式 Release 构建产物
  • #829 fix(tts): 按音源和运行库判断离线设备可用性
  • #830 feat(tts): 内置 MultiTTS 两阶段替换与原文映射
  • #831 feat(tts): 对齐 MultiTTS 音源编辑、导入默认值与引擎分页
  • #832 feat(tts): 对齐 MultiTTS 对话结构与文本预处理
  • #833 feat(tts): 对齐独立引擎配置与发音人管理
  • #834 feat(tts): 对齐 MultiTTS HTTP 包请求执行与参数绑定
  • #836 feat(tts): 逐段音源调度与旁白对话选择
  • #837 feat(tts): 内置 NER 人名识别与播放设置测试
  • #838 feat(tts): 角色管理与角色匹配规则
  • #839 feat(tts): 内置 Ngr 姓名分类与名称规则
  • #840 feat(tts): 恢复新词发现算法与隔离统计会话
  • #844 fix(tts): 隔离姓名分类正则,支持取消与执行预算
  • #846 chore(i18n): 移除项目自有的俄语本地化支持
  • #847 feat(tts): 接入 MultiTTS mstrans 专用在线包 (#842)
  • #848 feat(tts): 接入 MultiTTS Edge 专用在线包 (#843)
  • #849 feat(tts): 音源原地多选、拖动排序与批量删除
  • #850 feat(tts): 复用合成器与共享 Sherpa 模型 (#818)
  • #851 feat(tts): 声音の池、人物稳定配对与正文自动选声
  • #852 feat(tts): 统一 Sonic、SoundTouch 与音频后处理
  • #853 feat(tts): 接通语言检测器与正文逐段选声 (#787)
  • #855 fix(source-execution): 取消后完整关闭隔离脚本进程 (#854)
  • #856 feat(tts): 导入 MultiTTS 替换、角色与声音池配置
  • #857 feat(tts): 对齐 MultiTTS 流式解码与增量播放 (#815)
  • #858 feat(tts): 听书处理日志与导出
  • #859 feat(tts): 对齐 MultiTTS 朗读标记与段间停顿 (#813)
  • #861 fix(tts): 统一播放设置图标、说明与控件样式
  • #862 feat(tts): 听书背景音乐与会话同步 (#817)
  • #886 feat(tts): 接入七个 MultiTTS 专用在线后端
  • #887 feat(tts): 补齐内置离线后端并修复字节音源资源映射
  • #888 补齐 MultiTTS 在线后端并对齐引擎与发音人编辑
  • #890 补齐 Microsoft 在线分支,撤下四个在线引擎并完成验收
  • #891 feat(tts): 内置文本人物分析,支持缓存正文与全书补齐 (#809)
  • #893 feat(tts): 听书方案二级页面与按书配置、编辑和播放闭环
  • #895 fix(tts): 重做朗读设置并对齐 MultiTTS 合成参数
  • #897 fix(tts): 统一听书设置样式并调整方案入口
  • #899 fix(tts): 按功能分组调整播放设置顺序
  • #903 fix(tts): 按语言规则自动启用语言检测
  • #905 fix(tts): 对齐 MultiTTS 编辑框隐藏和网络检查设置
  • #908 fix(tts): 试听背景音乐跟随所属听书方案
  • #909 fix(tts): 将过滤语言接入在线声音目录刷新
  • #916 [Refactor][TTS] 将语音删除与启停流程移出列表 ViewModel
  • #917 refactor(tts): 提取在线与离线编辑器共用语音草稿
  • #918 [Refactor][TTS] 明确混合引擎配置的共享存储归属
  • #919 refactor(content): 从 RuleSource 提取登录表单与交互流程
  • #920 [Refactor][排版] 分离规则存储与正文替换算法
  • #921 fix(backup): 修复覆盖恢复后的旧排版规则残留
  • #928 [Refactor][TTS] 从离线语音仓库提取安装文件准备
  • #929 refactor(tts): 将通用语音引用维护移出 MscVoiceEditing
  • #930 refactor(tts): 提取朗读运行配置的观察与解析
  • #931 [Refactor][书源] 将导入提交与激活编排移出 SourcesViewModel
  • #932 fix(formatting): 排版规则分组与列表随数据更新
  • #936 [Refactor][TTS] 让在线语音调度依赖后端能力
  • #937 [Refactor][TTS] 从 ReadAloudSession 提取片段生产流程
  • #938 [Refactor][书源] 从 RuleSource 提取搜索与发现列表解析
  • #942 [Refactor][TTS] 提取离线语音安装与配置导入的提交编排
  • #943 [Refactor][下载] 从 BookDownloadStore 提取资源文件操作
  • #944 [Refactor][详情] 收拢目录浏览状态与定位流程
  • #947 [Fix][下载] 修复导出完成历史并发写入与观察生命周期
  • #948 [Refactor][朗读] 收拢 TTS 配置投影与复用边界
  • #951 [Fix][设置] 按路径收拢异步保存顺序与生命周期
  • #952 [Refactor][朗读] 提取语音引擎保存与排序编排
  • #954 chore(release): 发布 NextVol 0.2.0

下载与安装

下载 NextVol-0.2.0-release.apk,支持 Android 7.0 及以上,提供一个安装包,无需另选 CPU 架构。SHA256SUMS 提供安装包校验值。

正式版沿用原包名和签名,可覆盖安装已有 NextVol 正式版;Debug、Snapshot 和上游 LightNovelReader 分别安装。0.2.0 已接通 NextVol 正式更新渠道;从旧版本升级可直接使用本页 APK。

离线语音模型需要自行导入。内置模型运行库主要面向 arm64 设备,Sherpa、eSpeak、Google 等后端要求 Android 8.0 或以上;部分厂商库还受设备内存页面大小限制,具体以声音列表的设备检查结果为准。系统朗读和不依赖这些运行库的在线音源仍可按各自条件使用。

在线服务所需的账户、密钥、订阅及网站授权由用户配置;音源可用性取决于相应服务。NextVol 的听书能力在应用内使用,不向其他应用提供系统 TTS 服务。

完整源码差异: v0.1.1...v0.2.0