尧图精选

ebook2audiobook(E2A)完整实战指南:从电子书到带章节与元数据的多语言有声书

🕒 发布时间:2026/10/1 2:04:46 📁 来源:尧图网络
AI 应用语音音频本地部署【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning 1158 languages!项目地址https://gitcode.com/GitHub_Trending/eb/ebook2audiobook点击查看免费下载本文以匈牙利语版官方文档readme/README_hun.md为骨架结合当前仓库源码app.py、lib/conf.py、lib/conf_models.py、lib/conf_lang.py 等逐项印证系统讲解 ebook2audiobookE2A的功能全貌、硬件要求、Gradio GUI 与 headless 命令行两种使用方式、Docker/Compose 部署、SML 标签、语音克隆与自定义模型等核心技术细节。读完本文你将能独立完成电子书到有声书的本地转换、批量转换、语音克隆与自定义模型接入、远程 Docker 部署及常见问题排障。项目定位与核心特性ebook2audiobook简称 E2A是一个运行在本机的 CPU/GPU 电子书转有声书工具输出成品自带章节切分与元数据底层驱动为多种先进的 TTS文本转语音引擎并支持语音克隆与1158 种语言。它同时提供本地安装Linux/macOS/Windows、Docker 容器、Docker Compose 与 Podman Compose 部署以及远程运行Hugging Face Spaces、Google Colab、Kaggle 笔记本。官方文档明确给出核心功能清单8 种 TTS 引擎XTTSv2、Bark、Fairseq、VITS、Tacotron2、Tortoise、GlowTTS、YourTTS源码 lib/conf_models.py 中的TTS_ENGINES字典还登记了PIPER即引擎总数为 9 种。多格式电子书输入.epub、.mobi、.azw3、.fb2、.lrf、.rb、.snb、.tcr、.pdf、.txt、.rtf、.doc、.docx、.html、.odt、.azw、.tiff、.tif、.png、.jpg、.jpeg、.bmp、.zip源码 lib/conf.py 的ebook_formats还额外支持.pptx。文本输入框无需电子书文件直接把短文本粘贴为音频。OCR 识别针对以图片形式呈现文字页面的文件如扫描版 PDF、JPG、BMP、PNG、TIFF。可选语音克隆上传自己的音频文件进行克隆配音。资源友好最低 2 GB RAM / 1 GB VRAM 即可运行。输出格式单声道或立体声的aac、flac、mp3、m4b、m4a、mp4、mov、ogg、wav、webm。SML 标签通过[break]、[pause]、[pause:N]、[voice:...]精细控制停顿与换声。自定义模型可接入自训练的 XTTSv2、VITS、FAIRSEQ、PIPER 模型。内置微调预置模型由 E2A 团队训练并随项目分发。使用前提官方文档强调本工具仅限用于无 DRM、合法获取的电子书。作者不对任何滥用行为及其法律后果负责请遵守所在地区的相关法律。硬件要求与加速后端官方文档列出的最低配置为2 GB RAM推荐 8 GB、1 GB VRAM推荐 4 GB并明确说明支持CPU、XPUIntel/AMD/ARM支持CUDA、ROCm、JETSON支持MPSApple Silicon若使用 Docker 方式在 Windows 运行需启用虚拟化。注意现代 TTS 引擎在 CPU 上非常慢官方建议 CPU 用户改用 YourTTS、Tacotron2 等低质量但更快的引擎。源码 lib/conf.py 的devices字典定义了六种设备后端CPU、CUDA、MPS、ROCM、XPU、JETSON默认设备为 CPU而torch_matrixlib/conf.py则映射了从cpu、cu118/cu121/cu124/cu126/cu128/cu129/cu130/cu132、rocm5.7rocm7.2、mps、xpu到jetson51/jetson60/jetson61的完整 PyTorch 版本矩阵——这意味着 E2A 在安装阶段会按检测到的 GPU 自动选择对应 wheel。支持的电子书格式与输出格式官方文档列出的电子书格式包括.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。文档特别提示处理格式可在 lib/conf.py 中修改。源码中 lib/conf.py 定义了output_formats列表、default_output_format m4b默认输出 m4b便于携带章节元数据、default_output_channel mono默认单声道以及中间处理格式default_audio_proc_format flac、采样率default_audio_proc_samplerate 24000。另有两个实用开关default_output_split默认关闭与default_output_split_hours 6——当最终输出超过 6 小时的 2 倍时成品会自动按 6 小时切分并保留余量。[!NOTE] EPUB 没有统一的“章节、段落、前言”标准结构官方建议在转换前手动移除不希望在音频中出现的文本。支持的语言官方文档列出了与预置模型直接对应的 28 种语言含匈牙利语 hu、中文 zh、英语 en、西班牙语 es、法语 fr、德语 de、意大利语 it、葡萄牙语 pt、波兰语 pl、土耳其语 tr、俄语 ru、荷兰语 nl、捷克语 cs、日语 ja、印地语 hi、孟加拉语 bn、韩语 ko、越南语 vi、瑞典语 sv、波斯语 fa、约鲁巴语 yo、斯瓦希里语 sw、印尼语 id、斯洛伐克语 sk、克罗地亚语 hr、泰米尔语 ta、丹麦语 da 等并链接到1130 种语言与方言的完整列表合计宣称1158 种语言。在源码层面语言支持是分层的每种 TTS 引擎在 lib/conf_models.py 中各自维护一份languages映射例如 XTTSv2 支持 ara/ces/deu/eng/fra/hin/hun/ita/jpn/kor/nld/pol/por/rus/spa/tur/zhoBark 支持 13 种而全局语言映射与默认语言则在 lib/conf_lang.py 中定义默认语言代码为engISO-639-3。因此“1158 种语言”对应的是 MMS 系列模型的全量能力实际可用的语言范围取决于所选 TTS 引擎——文档与--help输出均提示“所选 TTS 引擎应与目标语言兼容”。SML 标签精细控制停顿与换声SMLSpeech Markup Language是 E2A 在文本中内嵌的配音控制标记官方文档给出四类标签标签含义[break]停顿随机 0.3–0.6 秒[pause]停顿随机 1.0–1.6 秒[pause:N]固定停顿N 秒如[pause:3]表示 3 秒[voice:/path/to/voice/file]...[/voice]从默认/选定声音切换到指定声音文件实战提示文档原文需要稍长停顿时可使用[pause:3]。在 GUI 模式中可通过上传组件的[X]按钮随时中断进行中的转换。源码佐证lib/conf_models.py 定义了TTS_SML结构与SML_TAG_PATTERN正则支持成对标签与tag:value语法并在 lib/core.py 的转换管线中按该正则解析与剥离标签从而实现文档描述的停顿与换声行为。安装与启动本地运行第一步克隆仓库并安装git clone https://github.com/DrewThomasson/ebook2audiobook.git cd ebook2audiobook注意仅在需要说明 git clone 时使用上述仓库地址安装完成后日常使用请直接运行启动脚本。第二步安装 / 运行Linux / macOS./ebook2audiobook.commandmacOS 用户会通过 homebrew 自动补装缺失程序也可直接双击Mac Ebook2Audiobook Launcher.commandWindowsebook2audiobook.cmd或直接双击ebook2audiobook.cmdWindows 用户通过 scoop 在无需管理员权限的情况下安装缺失程序首次运行会创建独立 Python 虚拟环境app.py 会校验虚拟环境是否为uv创建且 Python 版本须在 3.10–3.12 之间自动按检测到的 GPU 安装对应 PyTorch 与依赖并下载预置语音包app.py 中调用check_voices()。第三步打开 Web 应用启动后终端会输出访问地址浏览器打开http://localhost:7860/即可看到 Gradio 界面并开始转换。源码 lib/conf.py 中interface_host 0.0.0.0、interface_port 7860、interface_concurrency_limit 1。生成公网分享链接Linux/macOS./ebook2audiobook.command --shareWindowsebook2audiobook.cmd --share全平台需在项目目录下python app.py --share[!IMPORTANT] 若脚本被停止后再次运行必须刷新 Gradio GUI 页面让网页重新连接到新的 socket否则界面会显示失联。GUI 模式补充说明在 GUI 模式下仅允许--share与--script_mode两个参数app.py其余参数会直接报错。--share与--headless互斥app.py。端口 7860 被占用时会拒绝二次启动防止重复实例app.py。Headless 命令行用法核心参数详解无界面模式适合服务器、脚本化与批量转换。基本用法# Linux/macOS ./ebook2audiobook.command --headless --ebook path_to_ebook_file --voice path_to_voice_file --language language_code # Windows ebook2audiobook.cmd --headless --ebook path_to_ebook_file --voice path_to_voice_file --language language_code三个基础参数--ebook电子书文件路径。--voice语音克隆文件路径可选缺省使用默认音色。--languageISO-639-3 语言码如ita意大利语、eng英语、deu德语…默认eng可通过 lib/conf_lang.py 修改默认值ISO-639-1 两位码同样支持源码 lib/core.py 中会经Lang()自动归一化为 ISO-639-3。完整参数清单--help输出可通过以下任一命令查看全量参数说明# Linux/macOS ./ebook2audiobook.command --help # Windows ebook2audiobook.cmd --help # 全平台 python app.py --help官方文档给出的完整帮助输出即当前版本的真实 CLI 表面如下usage: app.py [-h] [--session SESSION] [--share] [--headless] [--ebook EBOOK] [--ebooks_dir EBOOKS_DIR] [--language LANGUAGE] [--voice VOICE] [--voice_map VOICE_MAP] [--device {CPU,CUDA,MPS,ROCM,XPU,JETSON}] [--tts_engine {XTTS,BARK,VITS,FAIRSEQ,TACOTRON,YOURTTS,xtts,bark,vits,fairseq,tacotron,yourtts}] [--custom_model CUSTOM_MODEL] [--fine_tuned FINE_TUNED] [--output_format OUTPUT_FORMAT] [--output_channel OUTPUT_CHANNEL] [--temperature TEMPERATURE] [--length_penalty LENGTH_PENALTY] [--num_beams NUM_BEAMS] [--repetition_penalty REPETITION_PENALTY] [--top_k TOP_K] [--top_p TOP_P] [--speed SPEED] [--enable_text_splitting] [--text_temp TEXT_TEMP] [--waveform_temp WAVEFORM_TEMP] [--output_dir OUTPUT_DIR] [--version]各参数含义依据--help输出与 app.py 的解析实现参数说明--session SESSION恢复被中断/崩溃的转换会话或复用已加载的自定义模型与克隆音色--share仅 GUI 模式生成可分享的 Gradio 公网链接--headless无界面模式--ebook EBOOK待转换电子书路径与--ebooks_dir、--text互斥--ebooks_dir EBOOKS_DIR含待转换文件的目录路径与--ebook、--text互斥自动过滤不支持的格式--text TEXT直接转换的原始文本与--ebook、--ebooks_dir互斥上限 1024 字符--language LANGUAGE电子书语言默认取 lib/conf_lang.py 中的设置--translate ISO3先用 argostranslate 将电子书翻译为目标语言ISO-639-3再合成目标语言成为本次实际 TTS 语言翻译副本带_iso3后缀与未翻译输出隔离--voice VOICE语音克隆文件路径缺省用默认音色--voice_map VOICE_MAP仅--ebooks_dirJSON 文件ebook 路径 → voice 路径的映射可覆盖--voice键支持绝对路径或文件名--device {CPU,CUDA,MPS,ROCM,XPU,JETSON}计算设备类型默认在 lib/conf.py 中设置不可用时回退 CPU--tts_engine {...}首选 TTS 引擎默认随语言决定需与语言兼容--custom_model CUSTOM_MODEL自定义模型 zip 路径内含必选模型文件见 lib/conf_models.py--fine_tuned FINE_TUNED微调模型路径默认内置模型--output_format OUTPUT_FORMAT输出音频格式默认m4blib/conf.py--output_channel OUTPUT_CHANNEL输出声道默认monolib/conf.py--temperature/--length_penalty/--num_beams/--repetition_penalty/--top_k/--top_p/--speed/--enable_text_splitting仅 XTTS 引擎生效默认取模型config.json--text_temp/--waveform_temp仅 Bark 引擎生效默认取模型config.json--output_dir OUTPUT_DIR输出目录默认在 lib/conf.py 中设置--abs_url/--abs_api_token/--abs_libraryAudiobookshelf 服务器 URL、API token 与 library ID用于成品自动入库--version显示版本号并退出XTTS 采样参数的默认值可直接从 lib/conf_models.py 的default_engine_settings中读到temperature0.75、length_penalty1.0、num_beams1、repetition_penalty2.0、top_k40、top_p0.95、speed1.0、enable_text_splittingFalse该选项被文档标注为“效率不高”。Bark 引擎对应text_temp与waveform_temp两个采样参数。这些默认值就是“取模型 config.json”之外的兜底值。输入方式的三选一约束与校验headless 模式下--ebook、--ebooks_dir、--text三选一app.py单文件--ebook路径须存在app.py批量目录--ebooks_dir下所有受支持格式文件按自然排序依次转换不支持的格式被打印跳过app.py原始文本--text内容非空且不超过max_ebook_textarea_length 1024字符app.py。若三个参数一个都不给会明确报错要求三者必选其一。批量转换 每书音色映射voice_map--voice_map是面向目录批量转换的进阶用法。官方帮助给出示例 JSON{book1.epub: /voices/eng/adult/female/alice.wav, /abs/path/book2.epub: null}规则app.py键可为绝对路径或文件名basename每个条目覆盖该书的--voice值为null或缺失时回退到--voice如果映射的音色文件不存在也会回退。排序在转换前统一执行保证跨平台可复现的顺序。翻译功能--translate--translate eng这类用法会在 TTS 合成前先把全书翻译为目标语言目标语言成为本次运行的实际 TTS 语言源书会生成一份带_iso3后缀的副本使“翻译输出”与“未翻译输出”各自拥有独立的处理目录、音频分块与最终文件app.py。目标语言必须在语言映射表中且需具备 ISO-639-1 映射否则报错退出。官方示例命令# WindowsGradio 模式 ebook2audiobook.cmd # Windowsheadless 模式 ebook2audiobook.cmd --headless --ebook /path/to/file --language eng # Linux/macOSGradio 模式 ./ebook2audiobook.command # Linux/macOSheadless 模式 ./ebook2audiobook.command --headless --ebook /path/to/file --language eng自定义模型上传Custom Model Zip自定义模型必须以.zip压缩包形式提供内含该 TTS 引擎的全部必选模型文件。以 XTTSv2 为例zip 内需要config.jsonmodel.pthvocab.jsonref.wav参考音频用于克隆音色用法# Linux/macOS ./ebook2audiobook.command --headless --ebook ebook_file_path --language language --custom_model custom_model_path # Windows ebook2audiobook.cmd --headless --ebook ebook_file_path --language language --custom_model custom_model_path要点custom_model_path是model_name.zip的路径不同 TTS 引擎的必选文件清单不同参见 lib/conf_models.py如 XTTSv2 的files字段即上述四个文件。自定义模型中的ref.wav永远是本次转换使用的音色官方文档明确。源码层面 lib/conf_models.py 定义了支持自定义模型的引擎为PIPER、XTTS、VITS、FAIRSEQ路径经存在性校验后转为绝对路径app.py。Docker / Compose / Podman 部署构建镜像# WindowsDocker ebook2audiobook.cmd --script_mode build_docker # WindowsDocker Compose ebook2audiobook.cmd --script_mode build_docker --docker_mode compose # WindowsPodman Compose ebook2audiobook.cmd --script_mode build_docker --docker_mode podman # Linux/macOSDocker ./ebook2audiobook.command --script_mode build_docker # Linux/macOSDocker Compose ./ebook2audiobook.command --script_mode build_docker --docker_mode compose # Linux/macOSPodman Compose ./ebook2audiobook.command --script_mode build_docker --docker_mode podman--script_mode唯一合法值是build_docker--docker_mode可选podman与compose不填则使用标准 docker buildxapp.py。注意 Docker 镜像必须在仓库根目录完整检出后本地构建docker-compose.yml 的pull_policy: never保证绝不从远端拉取应用镜像只拉取基础 Python 镜像。运行容器Gradio GUI 模式# CPU docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp --rm -it -p 7860:7860 athomasson2/ebook2audiobook:cpu # CUDA按驱动选择 tag如 cu118/cu122/cu124/cu126… docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp --gpus all --rm -it -p 7860:7860 athomasson2/ebook2audiobook:cu[118/122/124/126 etc..] # ROCm如 rocm6.0/6.1/6.4… docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp --device/dev/kfd --device/dev/dri --rm -it -p 7860:7860 athomasson2/ebook2audiobook:rocm[6.0/6.1/6.4 etc..] # XPUIntel/AMD/ARM docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp --device/dev/dri --rm -it -p 7860:7860 athomasson2/ebook2audiobook:xpu # JETSON如 jetson51/60/61… docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp --runtime nvidia --rm -it -p 7860:7860 athomasson2/ebook2audiobook:jetson[51/60/61 etc...]运行容器Headless 模式在 GUI 模式命令基础上追加数据卷挂载与 headless 参数# CPU docker run -v ./ebooks:/app/ebooks -v ./audiobooks:/app/audiobooks -v ./models:/app/models -v ./voices:/app/voices -v ./tmp:/app/tmp -v /my/real/ebooks/folder/absolute/path:/app/another_ebook_folder --rm -it -p 7860:7860 ebook2audiobook:cpu --headless --ebook /app/another_ebook_folder/myfile.pdf [--voice /app/my/voicepath/voice.mp3 etc..] # CUDA docker run ... --gpus all ... ebook2audiobook:cu[118/122/124/126 etc..] --headless --ebook /app/another_ebook_folder/myfile.pdf [--voice ...] # ROCm加 --device/dev/kfd --device/dev/dri # XPU加 --device/dev/dri # JETSON加 --runtime nvidia容器内 MPS 不可用MPS 未在 Docker 中暴露因此 Apple Silicon 用户在 Docker 下须使用 CPU。Docker Compose / Podman Compose以 CUDA 12.8 为例# Docker ComposeGradio GUI DEVICE_TAGcu128 docker compose --profile gpu up --no-log-prefix # Docker ComposeHeadless DEVICE_TAGcu128 docker compose --profile gpu run --rm ebook2audiobook --headless --ebook /app/ebooks/myfile.pdf --voice /app/voices/eng/adult/female/some_voice.wav etc.. # Podman ComposeGradio GUI DEVICE_TAGcu128 podman-compose -f podman-compose.yml --profile gpu up # Podman ComposeHeadless DEVICE_TAGcu128 podman-compose -f podman-compose.yml --profile gpu run --rm ebook2audiobook-gpu --headless --ebook /app/ebooks/myfile.pdf --voice /app/voices/eng/adult/female/some_voice.wav etc..docker-compose.yml 通过--profilecpu/cuda/rocm/xpu/jetson选择加速后端DEVICE_TAG控制镜像 tagPodman 对应 podman-compose.yml。需要 Compose V2docker compose插件而非旧版docker-composev1。语音克隆Cloned Voices官方文档说明任何支持格式的录音均可上传用于语音克隆理想时长 1–5 分钟录音即使带噪声背景或音乐也没关系E2A 会自动为你清洗音频。内置克隆音色列表目前以英语为主其他语言音色如需加入官方列表需联系项目方审核后添加。源码佐证语音上传后会经过 lib/classes/voice_extractor.py 的VoiceExtractor管线——先做格式校验_validate_format与转 WAV_convert2wav再调用 lib/classes/background_detector.py 检测背景噪声/音乐_detect_background如检测到则用 Demucs 分离人声_demucs_voice随后执行静音移除与修剪_remove_silences、_trim_and_clean并最终归一化normalize_audio。这与文档“自动清洗噪声”的描述完全一致。支持的音色文件格式在 lib/conf.py 的voice_formats中列出mp4/m4b/m4a/mp3/wav/aac/flac/alac/ogg/aiff/aif/wma/dsd/opus/pcmu/pcma/gsm 等。微调Fine-tunedTTS 模型训练自己的 XTTSv2 模型官方推荐使用配套的 Universal_TTS_Finetune 项目并提供了 Colab 笔记本Notebooks/finetune/xtts/colab_xtts_finetune_webui.ipynb与 Kaggle 笔记本Notebooks/finetune/xtts/kaggle-xtts-finetune-webui-gradio-gui.ipynb。训练数据降噪可使用 DeepFilterNet 等工具对训练音频去噪提升微调质量。微调模型集合E2A 团队在 Hugging Face 维护官方微调模型库自定义 XTTSv2 模型必须附带该音色的参考音频片段ref.wav。自定义配置libs/conf.py官方文档允许自由编辑lib/conf.py文档原文写作 libs/conf.py实际路径为 lib/conf.py以增删所需设置并给出两条重要建议修改前先复制原始 conf.py 备份以便每次升级后恢复再重新套用你的改动models.py即 lib/conf_models.py同样建议按此流程处理。若希望将自己的自定义模型加入官方微调预置列表可联系项目方审核。回退到旧版本正式发行版可在 Releases 页面找到本地/Compose 部署回退命令git checkout tags/VERSION_NUM # 示例git checkout tags/v25.7.7常见问题官方 FAQNVIDIA/ROCm/XPU/MPS GPU 未被检测到参见官方 GPU-ISSUES Wiki 页面。CPU 太慢GPU 几乎可实时转换CPU尤其多路 SMP 服务器明显更慢。注意 CPU 上没有 zero-shot 语音克隆音色为 Siri 级但速度快很多。“依赖问题”直接用 Docker——完全自包含且支持 headless 模式可在docker run命令末尾追加--help获取更多信息。“音频被截断”请到仓库提交 issue。项目方并不通晓所有语言需要用户反馈以微调句切分逻辑。贡献者须知Python 代码风格规范官方文档为贡献者明确了代码规范核心条目代码之间除函数/类之间外不留空行所有 key 使用单引号dict()与 json 除外dict[key]一律单引号调用4 空格缩进完全禁用 tab所有函数及参数、返回值必须严格类型标注参数与类型标注之间、-与返回值之间均无空格。官方示例import json from typing import Optional def get_user(user_id:int, users:list[dict])-Optional[dict]: for user in users: if user[id] user_id: return user return None def summarize(user:dict)-str: return fUser {user[name]} is {active if user[is_active] else inactive}. def to_json(user:dict)-str: return json.dumps({id: user[id], name: user[name], email: user[email]}) users:list [ dict(id1, namealice, emailaliceexample.com, roleadmin, is_activeTrue), dict(id2, namebob, emailbobexample.com, roleeditor, is_activeFalse), dict(id3, namecarol, emailcarolexample.com, roleviewer, is_activeTrue), ] config { max_users: 100, default_role: viewer, allow_signup: True, } roles [admin, editor, viewer] found get_user(1, users) if found: print(summarize(found)) print(found[email]) print(to_json(found)) if config[default_role] in roles: print(config[default_role])路线图要点与平台兼容性官方路线图确认已完成转换前章节/分块预览、SML 标签集成、多语言-h/--help、PDF/JPG/BMP/PNG/TIFF 的 OCR、Notebooks 目录、Docker/Docker Compose/Podman Compose、Kaggle 与 Colab 笔记本、Audiobookshelf 集成、电子书翻译选项、输出格式选择、多线程转换、批量目录转换、GPU 设备检测、克隆音频背景降噪、自定义微调模型上传。规划中未完成的有逐句编辑以实现精确文本修改、iOS/Android 应用、以及 GPT-SoVITS、OpenVoice、fish-speech、ChatTTS、CosyVoice、F5-TTS、StyleTTS2、Kokoro-TTS、Qwen3-TTS 等更多 TTS 引擎的接入。操作系统兼容性方面官方确认已支持Mac Intel x86、Windows x86、Linux x86、Apple Silicon Mac、ARM Windows、ARM Linux。延伸Notebook 与远程运行除本地与 Docker 外E2A 还提供开箱即用的云端路径Google Colab 笔记本Notebooks/colab_ebook2audiobook.ipynb与 Kaggle 笔记本Notebooks/kaggle-ebook2audiobook.ipynb适合没有本地 GPU 或希望一键体验的用户XTTSv2 微调也有对应的 Colab 与 Kaggle 笔记本。README 多语言版本含匈牙利语 hun、中文 zho 等 27 种可在 readme 目录中查阅。小结本文完整继承了匈牙利语版官方文档的全部实操内容安装、GUI、headless、Docker/Compose、SML、克隆、微调、FAQ、回退版本、贡献规范并以源码为依据对参数默认值、校验逻辑与底层管线做了交叉印证。核心要点可归纳为两种运行模式Gradio GUIhttp://localhost:7860与--headless命令行二者通过 app.py 的 argparse 严格区分三选一输入--ebook单文件、--ebooks_dir批量、--text原始文本≤1024 字符默认值集中于 lib/conf.py 与 lib/conf_models.pym4b/mono/eng/XTTS 参数等均可按需修改SML 标签是控制停顿与换声的关键手段[pause:N]可直接指定秒数语音克隆自带降噪1–5 分钟带噪录音也能直接使用容器部署需本地构建镜像pull_policy: never按加速后端选择cpu/cu*/rocm*/xpu/jetsontag。赞分享AI 应用语音音频本地部署【免费下载链接】ebook2audiobookGenerate audiobooks from e-books, voice cloning 1158 languages!项目地址https://gitcode.com/GitHub_Trending/eb/ebook2audiobook点击查看免费下载相关推荐AgentsView 文件系统会话同步跨机器 Session 归档的 session_sources 配置与传输规范AgentsView 文件系统会话同步跨机器 Session 归档的 session_sources 配置与传输规范 本文围绕 AgentsView 的「文件AI 应用语音音频本地部署ebook2audiobook 使用指南从电子书到多语言有声书的完整实战手册ebook2audiobook 使用指南从电子书到多语言有声书的完整实战手册 本篇指南围绕开源项目 ebook2audiobookE2A展开完整讲解其本AI 应用语音音频本地部署Kubernetes Goat 场景 15 实战容器镜像层取证——从镜像中找回被删除的敏感文件Kubernetes Goat 场景 15 实战容器镜像层取证——从镜像中找回被删除的敏感文件 本文基于 Kubernetes Goat 的 ScenarioAI 应用语音音频本地部署上一篇Summarize跨平台使用指南Windows、macOS与Linux系统配置差异下一篇ApexCharts.js大数据可视化数据采样配置工具UI界面创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
上一篇/下一篇内容由系统自动关联 返回资讯列表 →