有声书实现

强烈忠告,如果你的电脑运行内存太小,磁盘空间太小这个东西就别玩了,玩不转

想玩最好运行内存32GB的游戏本或者16g的也能玩,盘符选个200GB的空盘符来玩

电脑内存太低不建议搞,太吃cpu和内存了,我这个是8g的内存,盘符空间用的50GB,玩着太慢了,转了两三个音频后盘符直接撑爆了。

前提是有装有docker

装好后设置docker 的镜像源

javascript 复制代码
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://docker.1ms.run",
    "https://docker.xuanyuan.me",
    "https://docker.m.daocloud.io"
  ]
}

装有声书镜像

用管理员权限打开powrshell 执行下面命令,下面这个过程会比较漫长大概有7个g左右

docker run --pull always --rm -p 7860:7860 dockerproxy.com/athomasson2/ebook2audiobook

语音模型连不上

docker run -d -p 7860:7860 --env HF_ENDPOINT=https://hf-mirror.com --restart unless-stopped athomasson2/ebook2audiobook

还有报错说是内存不够,下面方法尝试一下(亲测有用)

报错信息

Info

Using CPU

Free Memory available: 3GB

Free Memory 3 is lower than VRAM/RAM 4GB required!

It will probably crash the conversion!

一、先完全退出所有相关程序

  1. 先停掉终端里的 Docker 容器 打开你之前运行命令的 PowerShell 窗口,按 Ctrl + C,看到命令行回到 PS C:\WINDOWS\system32> 就说明停好了。

  2. 彻底退出 Docker Desktop 点击 Docker 窗口右上角的叉号,然后右键任务栏右下角的鲸鱼图标,选择 Quit Docker Desktop,确保完全退出。

  3. 关闭所有其他占内存的软件把浏览器、微信、QQ、视频软件、游戏这些都关掉,先给系统腾出足够的内存。


二、修改配置,给 WSL2 分配更多内存(关键步骤)

  1. 打开记事本,新建一个文件,复制下面这段内容:

    ini

    复制代码
    [wsl2]
    memory=6GB
    processors=4
    swap=2GB
  2. 把文件保存为 .wslconfig(文件名前面一定要有个点!保存类型选 "所有文件"),放到这个路径:C:\Users\你的用户名\.wslconfig(把 "你的用户名" 换成你电脑的用户名,比如 pudding

  3. 以管理员身份打开 PowerShell,执行命令让配置生效:

    powershell

    复制代码
    wsl --shutdown

三、重新启动 Docker 和工具

  1. 打开 Docker Desktop,等它完全启动(右下角鲸鱼图标不再转圈)。

  2. 打开 PowerShell,用下面这条命令重新启动工具(带国内镜像,解决模型下载问题): powershell

    复制代码
    docker run --pull always --rm -p 7860:7860 --env HF_ENDPOINT=https://hf-mirror.com athomasson2/ebook2audiobook
  3. 等它启动完成,再去浏览器打开 http://127.0.0.1:7860 试试。


✅ 这样操作后,WSL2 能用到 6GB 内存,你的 8GB 电脑完全够跑,不会再报内存不足的错误了。

中文语音包

这个网站找

https://hf-mirror.com/coqui/XTTS-v2

  • 搜索结果里点第一个 coqui/XTTS-v2,进入模型主页。
  • 往下滑,找到 Files and versions 标签页,点进去。
  • 找到 samples 文件夹,点进去就能看到:
    • zh-cn_female_01.wav
    • zh-cn_male_01.wav
  • 点文件右边的「下载」按钮,就能直接保存了。

第一步:点进文件列表

  1. 点击页面上方的 Files and versions(我帮你框出来了),进入文件目录。
  2. 你会看到所有文件和文件夹,找到名为 samples 的文件夹,点进去。

第二步:找到中文音色文件

进入 samples 文件夹后,就能看到两个关键文件:

  • zh-cn_female_01.wav:标准中文女声
  • zh-cn_male_01.wav:标准中文男声

第三步:下载文件

  1. 把鼠标移到你想下载的文件上,右边会出现一个「下载」图标(↓)。
  2. 点击这个图标,文件就会直接保存到你的电脑里。
  3. 如果还是提示未授权,先点右上角的「Log In」,用手机号注册一个免费账号登录后,再点击下载即可。

下载完成后,回到你的 ebook2audiobook 里:

  1. TTS 引擎选 xtts
  2. 点击「Upload Voice」,选择刚下载的 .wav 文件
  3. 语言选 Chinese,就能合成标准普通话了。

电子书格式转换网站:https://ebook.proton1.cn/txt2epub.html

注意:你的盘符空间至少在装完镜像之后要保留50GB的空间,不然很快你会发现,你的docker在运行容器转音频的时候,会不断撑大你的盘符,直到没有内存后docker进程再也无法进行

这个时候你要做的就是删除那个虚拟的盘,

删除的后果就是

Docker 会变成全新的空环境 ebook2audiobook 镜像会消失 你的 E 盘瞬间多出 44GB 空间 Docker 本身不会坏,不会报错,不会崩溃 下次打开 Docker,它会自动新建一个小的空白虚拟磁盘

相关推荐
今夕资源网1 小时前
Visual C++运行库合集 V104.0 一个github免费开源的项目VisualCppRedist AIO
开发语言·c++·dll修复工具·dll修复·运行库·修复软件
syagain_zsx1 小时前
剖析“继承”,清晰易懂
开发语言·c++
SamDeepThinking1 小时前
秒杀系统的幂等,只做一层Redis判重远远不够
java·后端·架构
qq_283720051 小时前
Qt5.12.8 QML Canvas ctx.setLineDash 失效终极解决方案
开发语言·qt
Season4501 小时前
C++中论在类中成员变量定义顺序的重要性
开发语言·c++
csdn2015_1 小时前
lambdaQuery 加 or
java·linux·服务器
拳里剑气1 小时前
C++算法:前缀和
开发语言·c++·算法·前缀和
天涯海风1 小时前
写一个录音并保存到手机的工具 安卓工具类
android·java·智能手机
sjsjsbbsbsn1 小时前
RAG 基础学习总结
java·数据库·学习