开发者
recito 背后的一切都是自由软件。四个仓库把公有领域和 copyleft 电子书变成 本站发布的有声书目录:
recito——演播器
一个 Python 命令行应用,把 PDF 或 EPUB 变成成品有声书——单个 .m4b 文件,带章节标记、元数据和封面——演播完全在您自己的机器上
进行。pip install recito,然后 recito speak mybook.pdf。没有账号,没有上传,任何数据都不离开这台电脑。
- 感知版面的文本提取:使用 PyMuPDF 进行片段级 PDF 解析,处理双栏版面、 页眉、水印和页码;EPUB 则由自定义解析器按书籍自身的目录逐章读取。
- 演播运行在 Qwen3-TTS 之上,这是一个开放权重模型(Apache-2.0),位于可插拔的 引擎协议之后——默认在本地 NVIDIA GPU 上进程内运行,也可以连接自托管的 vLLM-Omni 服务器以获得批量级吞吐。
- 九个预设声音、用几秒钟参考音频进行零样本克隆,以及用文字描述设计声音。 数字和缩写会按真人的读法念出来——“$3.5mn”会读作“three point five million dollars”。
- 质量靠耳朵检查:每个片段都会回听,任何出错的地方都会自动重新演播。 中断的渲染会从断点继续。
recito-voices——声音
制作整个生态用来演播的声音包,使目录不局限于 TTS 模型的内置说话人预设。 每个声音包都经过验证、带有版本,并从该仓库发布;两条生产路径产出相同的制品。
- 克隆:从公有领域音频中剪出参考片段——蜡筒和早期唱片时代的作者录音 (勃朗宁 1889、丁尼生 1890、乔伊斯 1924),或老电影和广播中的时代之声—— 打包用于零样本声音克隆。一个发现工具会在 archive.org 和更广泛的网络上 搜索候选录音,让一本书可以由它自己的作者来演播。
- 设计:把一段声音的文字描述用 Qwen3-TTS VoiceDesign 渲染成参考片段,然后 像克隆一样打包。天然跨语言:用法语设计声音,克隆到英语,《三个火枪手》 就能以法语口音的英语演播。
- 一个匹配工具会读取整个目录,用 Wikidata 事实(性别、国籍、语言、生卒年) 丰富作者信息,推导每本书想要的声音,对可用声音排序,并报告缺口——让下一个 该做哪个声音成为一项决策,而不是猜测。
recito-catalog—— 目录流水线
构建有声书目录:摄入 Standard Ebooks 的书目,用 recito 渲染每一本, 并产出本站发布的制品——JSON 记录、音频和封面。
- 来源:Standard Ebooks 的 GitHub 组织,每本电子书都以完整源代码仓库的形式存在。 这些仓库不发布 release,因此 epub 用钉住版本的 SE 工具集从源码构建。
- 命名:每本书都有一个取自其上游 URL、按来源加前缀的 slug——
se/jane-austen/pride-and-prejudice——构造上全局唯一,稳定性 足以兼任音频文件的公开路径。 - 封面从构建出的 epub 中原样提取,Standard Ebooks 自己的封面署名——从版权页 逐字复制——显示在每本书页面的封面下方。不生成也不委托制作任何封面图。
- 公有领域文本的演播同样奉献给公有领域,与 Standard Ebooks 自己的奉献一致; copyleft 文本的演播沿用原文的许可证,显示在每本书页面上。流水线代码为 AGPL。
recito-web——本站
您正在阅读的这个网站:目录的完全静态、预渲染前端,没有任何服务端应用。
- SvelteKit 2 和 Svelte 5(runes)加 TypeScript,用 adapter-static 预渲染—— 任何静态主机都能承载产物,无需运行时服务器或重写规则。
- 数据流:浏览器获取精简的
browse.json用于网格;每本书的完整 记录在构建时读取,用于预渲染详情页。音频和封面是普通的静态资源。 - 当同步来的封面缺失时,站点回退到按书籍生成的排版式封面。
- 部署就是一次构建加 rsync 到 Apache 主机。反馈提交由一个很小的 Python CGI 脚本处理,每条评论写一个文件——没有数据库,没有邮件,没有 PHP。
镜像音频档案
每本发布的演播都是自包含的 .m4b——音频、章节标记和封面在一个
文件中——整棵目录树可通过匿名、只读的 rsync 批量下载:
rsync -av --progress rsync://recito.org/recito-audio/ recito-audio/ 这会把整个书库——目前为 1084.3 GB镜像到本地的 recito-audio/ 目录;再次运行该命令会获取新书和重新渲染的演播,
加上 --delete 则丢弃已下架的书。include 模式可以切分目录树——
整个书库中的某一种声音: --include='*.qwen3-tts.aiden.m4b' --exclude='*.m4b'——或者只同步 recito-audio/se/ 来取单一来源。主机设置见 recito-web 的安装文档。
许可
四个项目均为 AGPL-3.0-or-later 自由软件。AI 模型权重必须采用 OSI 批准的 许可证或属于公有领域——按政策拒绝非商业或受限使用的模型。源文本自带各自的 许可证——目前是 Standard Ebooks 的公有领域版本,同时接受 copyleft 文本 (CC BY-SA)作为来源。recito 的演播跟随文本:公有领域文本的演播奉献给公有 领域;copyleft 文本的演播沿用原文的许可证,显示在每本书页面上。封面图保留 来源所记录的任何许可证,其署名逐字保留并显示在每个封面旁边。
问题、补丁和错误报告: moe@recito.org,或在反馈页面留言。