Windows怎么使用开源TTS工具将长文本小说合成为真人自然语音听书

陌晨吖_7031

陌晨吖_7031

2026-11-11

887人浏览

原创

必须安装微软神经语音包(如晓晓、云希),否则开源TTS只能输出机械音;用Edge-TTS-GUI可一键导入TXT生成MP3,支持分句、时间轴和断点续听;超长文本需按语义分块处理。

windows怎么使用开源tts工具将长文本小说合成为真人自然语音听书

你想把下载好的TXT格式长篇小说转成自然流畅的音频,边通勤边听、边做家务边听,不依赖网络、不上传隐私文本、不被会员弹窗打断——用开源TTS工具在Windows本地完成,全程可控可调。

确认系统已启用微软神经语音引擎

Edge TTS等开源工具底层调用的是Windows自带的语音合成服务,但默认安装可能只装了基础语音包。若跳过这步,后续合成会 fallback 到老旧的SAPI5机械音,完全达不到“真人感”。

打开「设置 → 时间和语言 → 语言和区域 → 语言」→ 点击当前中文语言右侧的「…」→「语言选项」→ 滚动到底部「语音」→ 确保已安装「Microsoft XiaoXiao(晓晓)」或「Microsoft Yunxi(云希)」等神经语音,未安装则点击「下载」。

【必须安装神经语音包,否则所有开源TTS都只能输出机械音】

用 Edge-TTS-GUI 工具一键导入TXT生成MP3

这是目前最省心的方案:绿色便携、界面直观、支持断点续听、自动分句、带时间轴JSON,专为长文本听书优化。

第一步:访问 GitHub Releases 页面,下载 EdgeTTSGui-Portable.exe(免安装版),双击运行即可,无需管理员权限。

第二步:点击主界面上方「文件 → 打开TXT」,选择你的小说文件(支持UTF-8 / GBK编码,自动识别)。

第三步:左侧语音设置中,语言选「Chinese (Simplified, China)」→ 性别选「Female」→ 音色选「Xiaoxiao」;语速保持默认+0%,避免快读导致吞字;勾选「启用时间轴JSON」。

第四步:点击右下角「播放」试听前30秒,确认无静默、无卡顿、无乱码;满意后点「保存MP3」,自动生成 ZIP 包(含 MP3 + .timeline.json)。

Windows 开机自启并隐藏到系统托盘
Windows 开机自启并隐藏到系统托盘

让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。

下载

处理超长文本(10万字以上)的分块策略

单次合成超过5万字易触发内存溢出或TTS引擎超时,必须手动分块。不要用记事本直接切——会切断句子、破坏标点停顿逻辑。

方法一:用Python脚本按语义分段(推荐)
新建一个 split_novel.py 文件,粘贴以下代码并双击运行(无需安装Python,用Windows自带的Python Launcher即可):

import re<br>with open("小说.txt", encoding="utf-8") as f: text = f.read()<br>blocks = re.split(r"([。!?;\n])", text)<br>chunk, chunks = "", []<br>for b in blocks:<br>  if len(chunk + b)     chunk += b<br>  else:<br>    chunks.append(chunk.strip())<br>    chunk = b<br>if chunk: chunks.append(chunk.strip())<br>for i, c in enumerate(chunks):<br>  with open(f"小说_第{i+1}段.txt", "w", encoding="utf-8") as f:<br>    f.write(c)

生成的每个分段文件控制在3500~4000字,保留句末标点,保证朗读停顿自然。

方法二:用Edge-TTS-GUI内置分块功能
导入大TXT后,点击「高级 → 启用自动分块」→ 设置「每块最大字符数」为3800 → 勾选「保留完整句子」→ 工具将自动拆解并在后台逐块合成,最终合并为单个MP3。

修复中英混排/数字/括号导致的朗读错乱

小说里常有英文人名、章节编号(如“Chapter 3”)、括号注释(如“(约公元7世纪)”),系统TTS默认按中文规则切音节,结果念成“C H A P T E R 三”或“(约公元七世纪)”,非常出戏。

在Edge-TTS-GUI中,点击「高级 → 启用智能文本清洗」→ 勾选「自动转换阿拉伯数字为中文读法」「英文单词保留原音不逐字母读」「括号内内容降调轻读」。

若仍有异常,可在原文中手动添加SSML标记:把“Chapter 3”改为 Chapter3,工具会自动识别并正确朗读。

实现断点续听与进度记忆

听小说中途暂停,下次打开要从上次位置继续——这不是靠播放器记住的,而是靠Edge-TTS-GUI生成的.time.json文件驱动的。

保存MP3时,ZIP包里一定包含同名的 小说.timeline.json 文件;双击MP3用系统默认播放器无法调用该文件,必须用工具自带的「试听」按钮,或导入到支持JSON时间轴的播放器(如VLC + 插件、或PotPlayer加载LRC同步脚本)。

在Edge-TTS-GUI主界面点击「播放」→ 播放中任意暂停 → 关闭软件再重开 → 点击「恢复上次播放」按钮,光标自动跳回暂停处,且原文高亮同步定位。

相关文章

小说app
小说app

丰富的小说app资源,提供海量正版小说。还有金币福利,看书能挣钱!有需要的小伙伴快来保存下载体验吧!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.26

3459

3

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.27

2998

6

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

2023.08.01

1548

3

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.02

2719

5

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.08.08

3370

4

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

1717

3

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

2023.08.28

2537

4

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.30

5427

5

Window.setInterval()方法
Window.setInterval()方法

Window.setInterval() 方法的基本语法是“window.setInterval(function, delay)”,function是要重复执行的函数或代码块,delay是每次执行之间的时间间隔,以毫秒为单位。本专题为大家提供Window.setInterval()相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.31

855

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HBuilderX Windows 安装手册
HBuilderX Windows 安装手册

共0课时 | 0人学习

phpEnv手册
phpEnv手册

共0课时 | 0人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习