Qwen3-Audiobook-Converter
基于 Qwen3-TTS 的开源有声书生成器,支持 PDF/EPUB/DOCX 等多格式文档一键转换为自然人声 MP3
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于 Qwen3-TTS 的开源有声书生成器,支持 PDF/EPUB/DOCX 等多格式文档一键转换为自然人声 MP3
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象这样一个场景:你在通勤路上,打开手机耳机,点开 App,播放的不是音乐,而是一本你昨天刚下载的 PDF 学术论文。声音自然流畅,抑扬顿挫,仿佛专业播音员在为你朗读。这不再是想象——Qwen Audiobook Converter 正在让这件事变得触手可及。
这个开源工具将阿里巴巴 Qwen 团队的 Qwen3-TTS 12Hz 1.7B 语音模型(业界领先的开源语音合成系统)与多格式文档解析结合,实现了 PDF、EPUB、DOCX、DOC、TXT 到高质量 MP3 有声书的自动化转换。
2024 年以来,语音合成(Text-to-Speech)领域出现了几次标志性进步:Microsoft 的 Vall-E 以 3 秒样本实现高质量语音克隆,OpenAI 的 GPT-SoVITS 降低了克隆门槛,而阿里巴巴 Qwen 团队在 2025 年发布的 Qwen3-TTS 系列则更进一步——在语音自然度、情感表达和多语言支持上达到了新的高度。
Qwen3-TTS 的独特之处在于它的 CustomVoice 机制:用户可以指定预置音色(如 Ryan、Serena、Dylan 等 9 种风格),也可以通过 5-30 秒的参考音频克隆任意声音,还可以通过自然语言描述来设计理想中的音色。这些能力通过 Gradio API 对外提供服务,Qwen Audiobook Converter 正是这一 API 的重要下游应用。
项目提供三种声音生成模式,用户可根据需求灵活选择:
CustomVoice(预置音色模式):使用 Qwen3-TTS 内置的高质量预置音色,支持英语、普通话、日语、韩语、法语、德语等 10 种语言。代码中默认使用 "Ryan" 男声,配合自然清晰的朗读风格指令,适合大多数有声书场景。模型规格可选 0.6B(轻量快速)或 1.7B(高质量)。
Voice Clone(声音克隆模式):上传 5-30 秒 WAV 格式参考音频及对应文本,即可克隆该声音风格。该模式使用 Qwen3-TTS 的 x-vector 技术进行说话人表征提取,实现零样本声音迁移。代码中最大分块字符数设为 200,章节间停顿 0 秒,保证克隆声音的连贯性。
Voice Design(语音设计模式):通过自然语言描述想要的音色特征(如"用低沉沙哑的声音朗读,带有轻微英国口音"),Qwen3-TTS 会根据描述生成对应的语音。该模式仅在 1.7B 模型下可用,适合创意内容和角色配音场景。
项目代码高度凝练,核心逻辑集中在 audiobook_converter.py 一个文件中(约 400 行),辅以 config.py 配置文件和 requirements.txt 依赖声明。
文档解析层支持多种格式:PyPDF2 处理 PDF(保留分页逻辑),ebooklib 解析 EPUB(提取章节结构和元数据),python-docx 处理 DOCX,docx2txt 处理旧版 DOC,BeautifulSoup 清洗 HTML 残留。文本经过清洗后,按 1500 词为单位分块(chunks),每个 chunk 独立调用 Gradio API 生成音频。
Gradio 客户端层使用 gradio_client 库连接 Qwen3-TTS 的本地或远程 Gradio 服务(默认 http://127.0.0.1:7860),API 调用经过重试机制(MAX_RETRIES=3)和分块间延迟(MIN_DELAY_BETWEEN_CHUNKS=1s)控制,防止限流。生成的音频片段由 pydub 拼接、编码为 MP3(128kbps),最终输出到 audiobooks/ 目录。
缓存机制:启用 ENABLE_CACHING 后,相同文本的 TTS 结果会被缓存(按 MD5 哈希存储),避免重复调用 API,节省时间和 token 消耗。
从部署角度看,这是一个偏本地化的工具。安装本身很简单:
pip install -r requirements.txt
# 还需要系统级安装 ffmpeg(pydub 依赖)
sudo apt install ffmpeg # Linux/macOS
# 或从 https://ffmpeg.org 下载 # Windows
但真正的前置条件是 Qwen3-TTS Gradio 服务必须先跑起来——用户需要自行部署 Qwen3-TTS 模型或使用第三方托管的 Gradio 端点。这增加了整体部署的复杂度(需要 GPU + 模型推理环境)。
支持快速部署吗? partial。项目本身是纯 Python CLI 脚本,无 Dockerfile,但依赖清晰,没有特殊的系统级要求。Qwen3-TTS 官方提供了 Docker 镜像,可在 GPU 服务器上一键启动 Gradio 服务(docker run -p 7860:7860 ...),因此整体链路仍属"可部署"范畴。
硬件需求:运行 Qwen3-TTS 1.7B 模型推荐 NVIDIA GPU,显存 4GB+。纯 CPU 环境下可使用 0.6B 模型,但合成速度较慢(实时率低于 1x)。内存建议 8GB+,磁盘 2GB(模型文件)。
Web UI 支持:无。项目是纯命令行工具,无图形界面。
项目存在两个值得关注的局限:
API 依赖风险:整个系统的质量完全取决于 Qwen3-TTS Gradio 服务的可用性和响应速度。QWEN_API_URL 硬编码为 http://127.0.0.1:7860,一旦服务宕机或有变更,工具即无法工作。虽然配置文件中支持修改,但默认路径增加了新手的调试成本。
有声书版权问题:将受版权保护的书籍转换为有声书(即使仅供个人使用)在多数国家存在法律灰色地带。项目本身是技术工具,但实际使用场景需用户自行评估法律风险。
模型质量:Qwen3-TTS 在中文和英文上的自然度已经很高,但对于专业有声书场景(如多角色小说),单一声道的 TTS 仍难以替代专业播音员的情感表达和角色区分能力。
Qwen Audiobook Converter 体现了一个趋势:AI 正在将"知识获取"的最后一公里——从文字到可听——自动化。以往需要专业录音棚、专业播音员才能完成的配音工作,现在任何人都可以借助开源工具和消费级 GPU 实现。
对于研究者,这意味着论文可以"听";对于视障人士,这是获取文字内容的新途径;对于语言学习者,这是锻炼听力的天然素材——文本和音频的同步输入,比任何听力练习材料都更个性化。
从技术生态看,项目连接了文档解析生态(PyPDF2、ebooklib)与大模型推理生态(Qwen3-TTS Gradio API),是 LLM 应用落地的一个精巧案例。它不追求大而全,只解决一个具体问题——把书变成可听——但在这个细分场景上做得足够深入。
如果你有一台带 GPU 的电脑、愿意花 10 分钟配置 Qwen3-TTS 服务,这个工具可以成为你个人知识管理流水线的关键一环。