找回密码
 立即注册
首页 业界区 安全 【GitHub每日速递 251031】支持1110+语言、可语音克隆 ...

【GitHub每日速递 251031】支持1110+语言、可语音克隆

倡遍竽 4 天前
原文:https://mp.weixin.qq.com/s/68H4suh6qyp_Z3DucDwyzA
支持1110+语言、可语音克隆!这款电子书转有声书神器不容错过

项目地址:https://github.com/DrewThomasson/ebook2audiobook
主要语言:Python
stars: 13.3k
核心功能


  • 章节拆分:将电子书按章节分割,生成结构清晰的有声书。
  • 高质量文本转语音:采用Coqui XTTSv2、Fairseq等多种TTS引擎,实现高质量语音合成。
  • 语音克隆:可使用用户提供的语音文件进行语音克隆。
  • 多语言支持:支持超过1110种语言,默认语言为英语。
  • 低内存要求:设计为可在4GB RAM的设备上运行。
优势


  • 多平台支持:支持在Mac、Linux和Windows系统上运行,也可通过Docker、Hugging Face Spaces、Google Colab和Kaggle等方式远程运行。
  • 操作简单:提供Gradio Web界面,方便用户通过网页进行电子书转换;同时支持命令行的无头模式,适合自动化操作。
  • 模型定制:允许用户上传自定义的TTS模型,满足个性化需求。
  • 格式丰富:支持多种电子书格式和输出音频格式。
应用场景


  • 有声书制作:将各种格式的电子书转换为有声书,方便用户在不同场景下收听。
  • 语言学习:为学习外语的用户提供多语言的有声材料。
  • 无障碍阅读:帮助视力障碍者或不方便阅读文字的人群获取电子书内容。
硬件要求


  • 最低4GB RAM,建议8GB。
  • 如果在Windows上使用Docker,需要启用虚拟化。
  • 支持CPU(Intel、AMD、ARM)、GPU(Nvidia、AMD、Intel,后两者即将支持)和MPS(Apple Silicon CPU)。
安装与使用

本地运行


  • 克隆仓库
  1. git clone https://github.com/DrewThomasson/ebook2audiobook.git cd ebook2audiobook
复制代码

  • 启动Gradio Web界面

    • Linux/MacOS:./ebook2audiobook.sh
    • Mac启动器:双击Mac Ebook2Audiobook Launcher.command
    • Windows:ebook2audiobook.cmd
    • Windows启动器:双击ebook2audiobook.cmd
    • 手动Python安装(专家模式):

  1. REQUIRED_PROGRAMS=("calibre" "ffmpeg" "nodejs" "mecab" "espeak-ng" "rust" "sox") REQUIRED_PYTHON_VERSION="3.12" pip install -r requirements.txt python app.py
复制代码

  • 打开Web应用:在终端中点击提供的URL(http://localhost:7860/)访问Web应用。
  • 获取公共链接

    • 所有系统:python app.py --share
    • Linux/MacOS:./ebook2audiobook.sh --share
    • Windows:ebook2audiobook.cmd --share

远程运行


  • Hugging Face Spaces:点击访问
  • Google Colab:点击打开
  • Kaggle:点击查看
Docker使用


  • 运行预构建的Docker容器

    • CPU运行:

  1. docker run --pull always --rm -p 7860:7860 athomasson2/ebook2audiobook
复制代码

  • GPU加速(仅NVIDIA兼容):
  1. docker run --pull always --rm --gpus all -p 7860:7860 athomasson2/ebook2audiobook
复制代码

  • 构建Docker容器
  1. docker build -t athomasson2/ebook2audiobook .
复制代码
支持的电子书格式

.epub、.pdf、.mobi、.txt、.html、.rtf、.chm、.lit、.pdb、.fb2、.odt、.cbr、.cbz、.prc、.lrf、.pml、.snb、.cbc、.rb、.tcr,其中.epub或.mobi的自动章节检测效果最佳。
输出格式

生成包含元数据和章节信息的['m4b', 'm4a', 'mp4', 'webm', 'mov', 'mp3', 'flac', 'wav', 'ogg', 'aac']文件。
更新与回退版本


  • 更新到最新版本

    • 本地/Compose:git pull
    • 预构建的Docker镜像:docker pull athomasson2/ebook2audiobook:latest

  • 回退到旧版本

    • 本地/Compose:git checkout tags/VERSION_NUM
    • 预构建的Docker镜像:athomasson2/ebook2audiobook:VERSION_NUM

常见问题及解决方法


  • NVIDIA GPU未被检测到:参考GPU ISSUES Wiki Page。
  • CPU运行缓慢:建议使用NVIDIA GPU以实现接近实时的转换;也可考虑使用作者的另一个使用piper-tts的项目进行更快的多语言生成。
  • 依赖问题:使用Docker,它是完全自包含的,并且支持无头模式,可在docker run命令末尾添加-help参数获取更多信息。
  • 音频截断问题:请提交问题,项目团队需要用户的建议来优化句子分割逻辑。
告别复杂架构!SpacetimeDB让实时应用开发快如闪电

SpacetimeDB 是一个 实现超高速多人实时交互的分布式数据库系统。简单讲,它能让多个用户像在本地一样快速同步操作数据,仿佛没有网络延迟。适用人群:需要低延迟多人协作应用的开发者、游戏开发者、实时协同工具团队。
项目地址:https://github.com/clockworklabs/SpacetimeDB
主要语言:Rust
stars: 18.2k

核心功能


  • 数据库与服务器一体化:SpacetimeDB将数据库和服务器的功能整合为一体,是一个关系型数据库系统。用户可以通过“模块”这种存储过程,直接将应用逻辑上传到数据库中。客户端能直接连接数据库,并在数据库内部执行应用逻辑,同时可以在模块中编写权限和授权逻辑。
  • 单语言开发与部署:可以使用单一语言Rust编写整个应用,并将其部署为单个二进制文件,避免了使用微服务、容器、Kubernetes、Docker、VM等,减少了DevOps和基础设施管理工作。
  • 高速实时处理:优化了速度和低延迟,适用于实时应用,如游戏、聊天和协作工具。它将应用状态保存在内存中,并使用预写日志(WAL)持久化数据以恢复应用状态。例如,MMORPG《BitCraft Online》的整个后端就是一个SpacetimeDB模块,游戏中的所有数据都由数据库存储和处理,并实时同步到所有客户端。
优势


  • 架构简单:简化了应用开发和部署流程,降低了开发和运维成本。
  • 速度快:相比智能合约系统,速度快了几个数量级,能够满足实时应用的需求。
  • 多语言支持:支持多种流行语言编写模块和客户端库,包括Rust、C#和Typescript,方便不同技术栈的开发者使用。
应用场景


  • 游戏开发:适用于实时多人游戏,如MMORPG、竞技游戏等,能够高效处理游戏中的大量数据和实时交互。
  • 聊天应用:可以实现实时聊天功能,保证消息的快速传递和同步。
  • 协作工具:支持多人实时协作,如在线文档编辑、项目管理等。
安装方式


  • macOS和Linux:运行脚本curl -sSf https://install.spacetimedb.com | sh,之后使用spacetime命令管理版本。
  • Windows:在PowerShell中运行iwr https://windows.spacetimedb.com -useb | iex;若使用WSL,则遵循Linux安装说明。
  • 从源代码安装:在macOS、Linux和Windows上都可以从源代码安装,但Windows安装相对复杂,需要特定版本的Perl和OpenSSL。
  • Docker运行:使用命令docker run --rm --pull always -p 3000:3000 clockworklabs/spacetime start启动新实例。
语言支持


  • 服务器端库:支持Rust和C#编写模块。
  • 客户端库:支持Rust、C#和Typescript编写客户端。
文档与入门指南


  • 提供详细的文档,包括入门指南、游戏开发指南和参考资料。
  • 入门只需四个步骤:安装spacetime CLI工具;使用spacetime start启动独立节点;用支持的语言编写并上传模块;使用客户端库连接数据库。

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册