news 2026/9/11 9:42:12

Duix-Avatar 克隆数字人时 SQLite3 can only bind numbers 报错怎么办?一份新手的完整排查手册

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Duix-Avatar 克隆数字人时 SQLite3 can only bind numbers 报错怎么办?一份新手的完整排查手册

Duix-Avatar 克隆数字人时 SQLite3 can only bind numbers 报错怎么办?一份新手的完整排查手册

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

当你在 Duix-Avatar 里用一段视频克隆数字人形象、点击新增模特时,客户端日志弹出 SQLite3 can only bind numbers, strings, bigints, buffers, and null。这篇文章带你先读懂报错原文、再定位真正根因,最后按三条路径把问题修掉。

一、问题长什么样

报错出现在「创建模特」环节,真正挂掉的是本地数据库写入,而不是显卡或视频本身。

点击创建后界面一直转圈,模特列表里没有新条目,客户端日志 main.log 里能看到这样一行:

SQLite3 can only bind numbers, strings, bigints, buffers, and null

很多人的第一反应是本地 biz.db 数据库损坏了,想重装数据库或改文件权限,这个方向是错的。真相是:客户端往数据库插入新模特记录时,把一个布尔值 false 当作 voice_id 参数传了进去,SQLite3 拒绝绑定这个类型。

二、为什么会发生 🤔

说白了,声音克隆训练先失败了,训练失败返回的 false 被当成声音编号存进了数据库。

打个比方,SQLite3 的参数绑定(better-sqlite3 库的入参校验)就像小区门卫,只认五类“包裹”:数字、字符串、大整数、二进制缓冲和 null(空值)。布尔值不在名单上,递过去就被挡回来。

Duix-Avatar 创建形象要过三道工序:转码视频、分离音频并训练声音、写入模特记录。第二步会调用本地 TTS 服务(文本转语音服务),服务没就绪时返回失败码,src/main/service/voice.js 在失败时直接返回 false。这个 false 一路传到插入逻辑里当 voiceId 使用,写库那一刻就抛错。所以数据库是清白的,它只是被牵连的信使。

三、排查与修复

修复按「优先 → 备选 → 兜底」递进:先让声音训练成功,再核对素材,最后才考虑重置环境。

优先路径:把三个后台服务跑起来

  1. 到 deploy 目录重新执行 docker-compose up -d,按 doc/常见问题.md 的自查步骤确认三个服务都是 Running。为什么有效:训练失败的三种情形都源于服务未就绪。
  2. 服务启动后 ASR(语音识别)模块启动较慢,等两三分钟再创建数字人。为什么有效:低内存机器上直接操作会拿到连接拒绝。
  3. 仍失败就打开 TTS 服务的 Docker 日志,点“复制”查看具体报错。为什么有效:具体报错能区分是连接拒绝还是文件问题。

如果修复后新建模特不再报错,可跳过后续;若仍报同样的错,进入备选路径。

备选路径:核对输入视频

  1. 确认模特视频里有清晰的人声说话音轨。为什么有效:声音克隆依赖视频音轨,无声视频必然训练失败。
  2. 把客户端升到最新版本重新构建。为什么有效:新版修复了训练失败返回 false 的旧逻辑。

兜底路径:重置部署环境

  1. 重新拉取镜像部署服务端,再重新构建客户端。为什么有效:一次排除版本错位与依赖异常。

四、如何不再踩这个坑

三个习惯,防止这个坑复现。

  • 创建数字人前先确认三个服务 Running
  • 看客户端日志 SQL Run 一行核对绑定参数
  • 拿不准就先把客户端与服务端升到最新版

五、一句话记住

声音训练先失败了,数据库报错只是下游症状,修好服务报错就消失。

【免费下载链接】Duix-Avatar🚀 Truly open-source AI avatar(digital human) toolkit for offline video generation and digital human cloning.项目地址: https://gitcode.com/GitHub_Trending/he/Duix-Avatar

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/11 9:39:30

制造业飞书实施89天落地实战:从纸质单据到数字神经

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:39:22

MicroPython嵌入式日志模块uLogLite设计与实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:39:19

Flutter在OpenHarmony上实现高性能表格组件:方案选型与踩坑实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/9/11 9:36:18

给Agent会话安个家:用目录归档根治AI工作台的云盘焦虑

把 Agent 会话从 WorkBuddy 工作台里翻出来确认状态,是我最焦虑的日常:几十个云端会话堆在一起,临时目录里躺着跑了一半的脚本,云盘文件夹越同步越乱。我真正崩溃的那次,是连续三周的“AI 重度使用”之后,想…

作者头像 李华
网站建设 2026/9/11 9:35:38

STM32裸机物联网药盒:语音唤醒+WiFi透传+MQTT状态同步

简介:本资源是一套完整的基于STM32的物联网智能药盒毕业设计源码,面向嵌入式开发初学者、电子信息类专业本科生及物联网项目实践者,聚焦医疗健康场景下的智能用药管理问题。方案融合WiFi远程通信与语音交互功能,支持药物提醒、状态…

作者头像 李华
网站建设 2026/9/11 9:34:26

多场景适用:2026高精三维地图定位系统推荐

摘要 2026年,随着空间数字化升级加速,公共建筑、工业园区及交通枢纽对室内外一体化导航需求激增。针对采购方在选型中易忽视技术适配与运维兼容的痛点,本文梳理了高精三维地图定位系统的核心筛选维度,并重点介绍北京大希科技有限公…

作者头像 李华