原贴链接

嗨,大家好。我来分享一下我创建的这个用于将epub书籍转换为有声书的小Python程序。

简而言之:

  • 在Python 3.10及以上版本中,创建一个虚拟环境并运行pip install audiobook - generator(或者直接使用pipx,它会自动为你管理Python虚拟环境)。请耐心等待,因为它会下载一些大型依赖项,如PyTorch和kokoro tts模型。在Ubuntu系统中,这些依赖项大约占用6GB空间。
  • 运行:abg <epub路径> <音频输出目录>
  • 就这样。

特性:

  • 在Windows/Ubuntu/Mac系统上测试过。
  • 如果存在支持CUDA的GPU,则自动选择。
  • 根据章节顺序和名称,为每个章节生成单独的音频文件(mp3)。
  • 对于我测试的两本书,总大小约为300 - 500MB,大约是我试过的其他转换器生成文件大小的1/2 - 1/3。
  • 如果存在封面图像,也会提取到同一目录。

为什么要做另一个电子书转有声书转换器?

  • 我试过两个转换器,但都花了我不少时间来弄清楚如何让它们在CUDA GPU上运行(CPU运行没问题但速度慢),所以最后我决定自己创建一个,它的依赖项包含了所有东西,所以如果你想使用CUDA GPU就不需要安装任何额外的东西。
  • 这纯粹是个人喜好,但我更喜欢一个文件名是章节名的mp3文件,而不是一个有声书的大文件。我只需将整个目录复制到有声书架(audiobookshelf),然后文件名就会显示为章节名。
  • 我还想保留封面图像。

GitHub仓库:

https://github.com/houtianze/audiobook - generator

讨论总结

这个讨论围绕一个将epub转换为有声读物的Python程序展开。分享者介绍了程序的安装、运行方式和一些特性。评论者们总体态度积极,有的表达了对这类工具的期待已久,有的对程序表示认可和称赞,还有人针对程序使用中的问题进行提问,例如CUDA支持、是否有试听样本、语言支持等,也有人将这个程序与其他语音合成工具进行比较。

主要观点

  1. 👍 推荐使用“-s 1.3”参数来调整程序默认语音速度
    • 支持理由:程序默认速度1.0很慢。
    • 反对声音:无。
  2. 👍 对这个epub转有声读物的项目期待已久并想要尝试
    • 正方观点:满足了一直以来的需求。
    • 反方观点:无。
  3. 👍 认可分享的程序并询问是否有可试听的样本
    • 支持理由:觉得程序很棒。
    • 反对声音:无。
  4. 💡 在Windows机器上安装程序后默认使用CPU编码且CUDA检测可能受已安装的特定旧版本pytorch或pipx影响
    • 解释:分享了自己的安装体验和遇到的问题。
  5. 💡 Kokoro TTS在早期版本能以小样本量生成高质量语音且在语调上有优势
    • 解释:回答关于程序与手机TTS区别的提问时提到的。

金句与有趣评论

  1. “😂 use -s 1.3 for normal, slightly fast speed default voice (af_heart). The default speed of 1.0 is veeery slow.”
    • 亮点:以幽默的方式指出程序默认速度慢并给出解决方案。
  2. “🤔 我自从电子书成为一种事物以来就一直期待着这样一个项目。”
    • 亮点:表达了对该项目长久的期待。
  3. “👀 Awesome! Got any samples we can listen to?”
    • 亮点:在认可程序的基础上提出合理的试听样本需求。
  4. “😎 On an old Intel i5 4440 system (4 cores), you get 125 minutes of audiobook per 60 minutes of realtime encoding work.”
    • 亮点:提供了具体的性能数据。
  5. “😊 我长时间以来一直在寻找像这样的东西,甚至用claude制作了自己的较差版本,但你的更好,哈哈。”
    • 亮点:通过对比衬托出这个程序的优势。

情感分析

总体情感倾向是积极正面的。主要分歧点较少,可能因为这是一个比较小众的工具分享,大家更多是基于自己的需求和好奇来提问和发表看法,没有太多矛盾冲突的地方。

趋势与预测

  • 新兴话题:可能会有更多关于如何优化程序在不同系统(如Windows)下的性能(如CUDA支持)的讨论。
  • 潜在影响:如果这个程序得到更多推广,可能会对喜欢将epub转换为有声读物的人群在阅读方式上产生影响,也可能促使更多类似功能的工具出现或者已有的工具进行改进。

详细内容:

《创新的 EPUB 转有声书转换器引发热烈讨论》

近日,Reddit 上一则关于 Python 程序“audiobook-generator”将 EPUB 书籍转换为有声书的帖子备受关注,获得了众多点赞和大量评论。

原帖详细介绍了这个程序的使用方法,包括在 Python 3.10+环境下创建虚拟环境、安装依赖、运行命令等步骤。还列举了程序的特点,如在多种操作系统上测试通过、自动选择可用的 CUDA 显卡、按章节生成单独的音频文件、生成的文件大小较其他转换器更优、提取封面图像等。同时提供了项目的 GitHub 仓库链接。

讨论焦点主要集中在以下几个方面: 有人建议使用“-s 1.3”参数设置正常稍快的语音速度。有人表示从电子书出现时就期待这样的项目,并且迫不及待想要尝试。有人询问使用的模型,答案是“models–hexgrad–Kokoro-82M”。有人询问是否有示例音频可供聆听,分享了相关链接。还有人探讨了在 Windows 系统上实现 CUDA 支持的问题,并分享了 CPU 转换速度的参考数据。

对于与手机内置 TTS 程序的区别,有人解释 Kokoro TTS 是一个较小的语言模型,能够生成高质量的 TTS 声音,语调更自然,计算强度大,还可以创建自己的声音,而手机上的 TTS 通常较差。有人询问该程序是否支持波兰语,回复称可能不支持,并提供了查询语言支持的相关链接。

在众多讨论中,共识在于大家对这个创新的 EPUB 转有声书程序表现出了浓厚的兴趣和期待。特别有见地的观点如对语言模型和不同 TTS 系统的详细比较和分析,丰富了讨论的深度和广度。

总之,这个创新的程序在 Reddit 上引发了热烈的讨论和关注,为 EPUB 书籍的有声转换带来了新的可能性。