
无需专业配音团队,无需复杂音频编辑技巧——Alexandria 借助 AI 驱动的脚本标注与文本转语音技术,能将任意书籍、小说文本转化为带多角色配音的完整有声书。内置 Qwen3-TTS 引擎,支持本地/云端运行,搭配浏览器可视化编辑器,可逐行微调语音风格,最终导出 MP3 或适配 Audacity 的多轨编辑文件,全程自动化且高度可定制。

作为基于 Qwen3-TTS 构建的专业有声书生成工具,Alexandria 核心优势在于:通过大语言模型(LLM)自动标注脚本,为每个角色分配专属声音;支持按文本描述定制声音风格、克隆参考音频音色,甚至通过 LoRA 微调训练专属声音;批量处理效率可达实时速度的 3-6 倍,兼顾制作效率与音频质量。

核心功能特性
1. AI 驱动的脚本处理:精准标注,减少人工修正
Alexandria 依托 LLM 完成脚本的自动化解析与优化,从源头上保证有声书的叙事逻辑:
- 多端 LLM 兼容:支持 LM Studio、Ollama(本地)、OpenAI API(云端)等所有兼容 OpenAI 接口的大语言模型;
- 自动脚本标注:LLM 将纯文本解析为包含「说话人+对话内容+TTS 风格指令」的结构化 JSON 格式,无需手动拆分角色台词;
- 脚本智能审查:可选第二轮 LLM 处理,自动修正标注错误——比如剥离对话中的归属标签(“他说/她回答”)、拆分混排的叙述/对话、合并过度分割的叙述内容、验证语音指令合理性;
- 智能分块与上下文保留:按说话人将连续台词分组(单块≤500字符),保证语音播放的自然流畅;同时在区块间传递角色列表和最近3条脚本,避免角色名称、语音风格前后不一致。

2. 灵活的语音生成:自定义程度高,适配多场景
内置 Qwen3-TTS 引擎,无需依赖外部服务器,语音生成能力覆盖多语言、多风格、多定制方式:
- 多语言支持:原生支持英/中/法/德/意/日/韩/葡/俄/西等语言,也可自动检测文本语言;
- 基础语音配置:提供 9 种预训练声音(Aiden/Dylan/Eric 等),支持通过指令控制语音情感/语调;
- 高级声音定制:
✅ 声音克隆:仅需 5-15 秒参考音频,即可复刻任意音色;
✅ 声音设计:通过文本描述生成全新声音(如“温暖深沉的男声,语调平静沉稳”);
✅ LoRA 微调:基于自定义数据集训练专属声音适配器,打造持久、可遵循指令的独特语音身份; - 效率优化:支持批量处理(3-6 倍实时速度)、编解码器编译(解码速度提升 3-4 倍),非言语声音(啊/嗯/哈哈)自动生成且贴合上下文;
- 自然停顿:智能设置停顿时长——说话人切换时停顿 500 毫秒,同角色段落间停顿 250 毫秒,还原真人对话节奏。

3. 可视化 Web 编辑器:所见即所得,微调更便捷
8 标签页模块化界面,覆盖从配置到导出的全流程,新手也能快速上手:
- 核心编辑能力:可逐区块修改说话人、文本、语音指令,支持单个区块选择性再生,无需重新生成全部内容;
- 批量渲染模式:提供“标准并行”和“快速批量”两种模式,快速批量模式可最大化利用 GPU 算力;
- 实时监控与预览:操作日志、生成进度实时显示,可单独播放单区块音频或按顺序预览整本书;
- 脚本库管理:保存/加载已标注的脚本和声音配置,方便复用和二次编辑。
4. 多样化导出选项:适配不同编辑/使用需求
- 合并有声书:直接导出包含所有声音和自然停顿的单个 MP3 文件,可直接播放;
- 单独台词文件:每行台词生成独立 MP3,便于在 Audacity 等音频编辑软件中精细化调整;
- Audacity 专属导出:一键导出压缩包,内含按说话人分类的 WAV 音轨、LOF 项目文件和标签文件,导入 Audacity 即可自动生成多轨工程。

系统要求:提前准备,避免运行卡顿
使用前需确保环境满足以下条件,保证工具稳定运行:
| 类别 | 具体要求 | 补充说明 |
|---|---|---|
| 基础工具 | Pinokio | 必须安装,作为运行载体 |
| LLM 服务器 | LM Studio/Ollama(本地)、OpenAI API(云端)等 | 推荐使用 Qwen3 模型,脚本生成效果最佳 |
| GPU | 最低 8GB 显存,推荐 16GB+ | 需支持 NVIDIA CUDA 11.8+ 或 AMD ROCm 6.0+;CPU 模式可用但速度极慢 |
| 内存 | 最低 8GB,推荐 16GB | 影响批量处理效率 |
| 磁盘 | 约 20GB 空间 | 含 8GB 虚拟环境/PyTorch、7GB 模型权重,及音频工作空间 |
⚠️ 重要提示:无需额外部署 TTS 服务器,Alexandria 内置 Qwen3-TTS 引擎,模型权重首次使用时自动下载(单变体约 3.5GB);更多进阶指南可参考项目 Wiki。
快速上手:5分钟完成有声书制作
步骤1:安装部署
- 未安装 Pinokio 先下载:Pinokio 官方地址;
- 打开 Pinokio,点击「Download」,粘贴 URL:
https://github.com/Finrandojin/alexandria-audiobook; - 点击「Install」安装依赖,完成后点击「Start」启动 Web 界面。
步骤2:基础配置(设置标签页)
核心配置 LLM 和 TTS 引擎,决定生成效率和效果:
- LLM 基础 URL:LM Studio 填
http://localhost:1234/v1,Ollama 填http://localhost:11434/v1; - LLM API 密钥:本地服务器填
local即可,云端需填对应平台密钥; - LLM 模型名称:推荐
qwen2.5-14b; - TTS 模式:选
local(内置引擎,推荐),设备选auto,语言按需选择。
步骤3:生成并优化脚本(脚本标签页)
- 上传
.txt/.md格式的书籍文本,点击「生成标注脚本」; - 可选「审查脚本」,让 LLM 自动修正标注错误(如剥离对话中的“他说”等冗余内容)。
步骤4:配置角色声音(声音标签页)
刷新声音列表后,为每个说话人配置音色:
- 自定义声音:从 9 种预训练声音中选择,添加角色风格(如“苏格兰口音”);
- 克隆声音:上传 5-15 秒参考音频,填写准确转录文本;
- LoRA 声音:选择已训练的 LoRA 适配器,搭配风格指令;
- 声音设计:通过文本描述生成全新音色(适合次要角色)。
步骤5:微调与生成(编辑器标签页)
- 选择「批量(快速)」模式,点击「批量渲染待处理」,最大化生成速度;
- 逐区块检查/修改台词、指令,可单独重新生成不满意的区块;
- 确认无误后点击「合并所有」,生成完整有声书。
步骤6:导出使用(结果标签页)
按需下载合并后的 MP3,或导出 Audacity 多轨压缩包,完成制作。
Web 界面全解析:每个标签页怎么用?
1. 设置标签页:核心参数调优
除基础配置外,这些高级设置可提升生成效率:
- 编译编解码器:开启
torch.compile,批量解码速度提升 3-4 倍(首次生成需 30-60 秒预热); - 并行工作线程数:数值越高批量速度越快(20-60 为宜),但显存占用越高;
- 子批处理:默认开启,按文本长度分组处理,减少 GPU 算力浪费。
2. 声音设计师标签页:无参考音频也能造音色
仅需文本描述即可生成专属声音:
- 输入描述(如“温暖的老妇人,声音轻柔沙哑,带南方拖腔”);
- 用示例文本预览音色,满意后保存到库,可作为克隆声音的参考。
3. LoRA 训练标签页:打造专属语音身份
若需长期复用某类音色,可训练 LoRA 适配器:
- 数据集准备:上传 WAV 音频+
metadata.jsonl,或用「数据集构建器」交互式创建; - 核心配置:训练轮数(20+样本推荐 15-30 轮)、学习率(默认 5e-6)、LoRA 秩(8-64,高值锁定音色但表现力弱);
- 训练提示:数据包含多情感样本(快乐/悲伤/愤怒),生成的声音更有表现力。
4. 编辑器标签页:两种渲染模式怎么选?
| 模式 | 速度 | 特点 | 适用场景 |
|---|---|---|---|
| 标准模式 | ~1倍实时速度 | 按说话人种子生成,支持声音克隆 | 少量区块、需精准复刻音色 |
| 批量(快速) | 3-6倍实时速度 | 按文本长度分组,显存利用率高 | 整本书批量生成,追求效率 |
性能表现:速度有多快?
1. 推荐配置(最大化效率)
- TTS 模式:
local; - 编译编解码器:开启;
- 并行工作线程数:20-60;
- 渲染模式:批量(快速)。
2. 基准测试(AMD RX 7900 XTX 24GB)
| 配置 | 吞吐量 | 54分钟音频生成耗时 |
|---|---|---|
| 标准模式 | ~1倍实时 | 约54分钟 |
| 批量模式(无编译) | ~2倍实时 | 约27分钟 |
| 批量模式(开启编译) | 3-6倍实时 | 约16分钟 |
3. AMD GPU 优化
使用 ROCm 环境的 AMD 显卡,工具会自动应用优化:
- 启用 MIOpen 快速查找模式,避免算力浪费;
- 为 whisper 编码器开启原生闪存注意力;
- 修复
torch.compile兼容性问题,无需手动配置。
技术细节:脚本格式与输出文件
1. 生成的脚本格式(JSON)
结构化存储角色、文本、指令,示例:
[
{"speaker": "NARRATOR", "text": "The door creaked open slowly.", "instruct": "Calm, even narration."},
{"speaker": "ELENA", "text": "Ah! Who's there?", "instruct": "Startled and fearful, sharp whispered question, voice cracking with panic."}
]
instruct字段:2-3 句语音指令,直接控制 TTS 输出风格(如“悲痛欲绝,说话间抽泣,以啜泣声结束”);- 非言语声音:自动生成可发音文本(“Ah!”/“Haha!”)+ 指令,无需特殊标记。
2. 输出文件说明
- 合并有声书:
cloned_audiobook.mp3(含自然停顿,可直接播放); - 单独台词:
voicelines/目录下按说话人命名的 MP3,便于单句编辑; - Audacity 导出:压缩包内含分轨 WAV、LOF 项目文件、标签文件,导入即可多轨编辑。
API 集成:程序化制作有声书
Alexandria 提供完整 REST API,支持 Python/JavaScript 集成,实现自动化制作:
Python 示例(核心流程)
import requests
import time
BASE = "http://127.0.0.1:4200"
# 上传文本文件
with open("mybook.txt", "rb") as f:
requests.post(f"{BASE}/api/upload", files={"file": f})
# 生成脚本并等待完成
requests.post(f"{BASE}/api/generate_script")
while True:
status = requests.get(f"{BASE}/api/status/script_generation").json()
if status.get("status") in ["completed", "error"]:
break
time.sleep(2)
# 配置声音并批量生成
voice_config = {"NARRATOR": {"type": "custom", "voice": "Ryan", "character_style": "calm"}}
requests.post(f"{BASE}/api/save_voice_config", json=voice_config)
chunks = requests.get(f"{BASE}/api/chunks").json()
requests.post(f"{BASE}/api/generate_batch_fast", json={"indices": [c["id"] for c in chunks]})
# 合并并下载
requests.post(f"{BASE}/api/merge")
with open("audiobook.mp3", "wb") as f:
f.write(requests.get(f"{BASE}/api/audiobook").content)
JavaScript 示例(核心流程)
const BASE = "http://127.0.0.1:4200";
// 上传文件
const formData = new FormData();
formData.append("file", fileInput.files[0]);
await fetch(`${BASE}/api/upload`, { method: "POST", body: formData });
// 生成脚本并等待完成
await fetch(`${BASE}/api/generate_script`, { method: "POST" });
async function waitForTask(taskName) {
while (true) {
const res = await fetch(`${BASE}/api/status/${taskName}`);
const data = await res.json();
if (data.status === "completed" || data.status === "error") return data;
await new Promise(r => setTimeout(r, 2000));
}
}
await waitForTask("script_generation");
// 配置声音并生成
await fetch(`${BASE}/api/save_voice_config`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({ NARRATOR: { type: "custom", voice: "Ryan" } })
});
// 下载有声书
await fetch(`${BASE}/api/merge`, { method: "POST" });
const audioRes = await fetch(`${BASE}/api/audiobook`);
const blob = await audioRes.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "audiobook.mp3";
a.click();
推荐 LLM 模型
脚本生成优先选择非思考型模型,效果更优:
- 首选:Qwen3(适配中文/英文,标注准确率高);
- 备选:Qwen2.5-14b、DeepSeek-R1(需禁用思考模式令牌)。
数据统计
相关导航


Ai好记

WhisperLiveKit

Ebook2Audiobook

Hedra

Qwen3-ASR-Toolkit

Audio.Z.AI






