有声书实现

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

想玩最好运行内存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,它会自动新建一个小的空白虚拟磁盘

相关推荐
逆境不可逃20 小时前
Hello-Agents 第二部分-第六章:框架开发实践
java·人工智能·分布式·学习·架构·rabbitmq
计算机安禾20 小时前
【c++面向对象编程】第29篇:定位new(placement new):在指定内存上构造对象
开发语言·c++·算法
计算机安禾20 小时前
【c++面向对象编程】第27篇:空类的大小为什么是1?——C++对象标识的秘密
开发语言·c++·算法
河阿里20 小时前
Python容器:特性、区别和使用场景
开发语言·python
我不是8神20 小时前
面试题:Gorutine泄露的条件有哪些?
java·开发语言
奇树谦20 小时前
QListView和QListWidget区别详细说明
开发语言
爱好物理的一名程序员XiaoK20 小时前
搭建网站时遇到的只显示空白界面
java
郭龙_Jack20 小时前
Java并发包(JUC)深度解析:从LockSupport到云原生演进
开发语言·云原生·java并发编程
AC赳赳老秦20 小时前
OpenClaw与思维导图工具联动:自动生成工作规划脑图、拆解任务节点,适配职场管理
java·大数据·服务器·数据库·python·php·openclaw
Highcharts.js20 小时前
AI向量知识谱系图表创建示例代码|Highcharts网络图表(networkgraph)搭建案例
开发语言·前端·javascript·网络·信息可视化·编辑器·highcharts