当前位置: 首页 > news >正文

PPT 一键转视频!slides2video这个开源工具让豆包 TTS 自动配音,再也不用熬夜录旁白了

PPT 一键转视频!这个开源工具让豆包 TTS 自动配音,再也不用熬夜录旁白了

💡 做汇报 PPT 还要自己录音?slides2video 帮你把 HTML 幻灯片(或 PNG 图片)一键转成带 AI 旁白的 MP4 视频,100+ 音色随便挑,方言、英语、IP 仿音全都有!

📌 这是什么?

slides2video 是 ruilisi 团队开源的一个 PPT 视频生成工具,核心能力就一句话:把幻灯片 + 旁白文案 → 自动合成带配音的 MP4 视频

它底层使用字节跳动旗下豆包(Doubao)TTS 语音合成 API,支持 100+ 音色,覆盖普通话、方言(四川话/东北话/粤语/上海话等)、英语,甚至还有鲁班、诸葛亮、貂蝉等 IP 仿音。整个过程全自动,一条命令搞定。

🏠 项目地址:https://github.com/ruilisi/slides2video
🔊 TTS 引擎:豆包语音合成(火山方舟)


🎯 它能做什么?

能力说明
🎬PPT → 视频HTML 幻灯片或 PNG 图片自动转 MP4
🔊AI 语音旁白豆包 TTS 自动为每页幻灯片生成配音
🎭100+ 音色通用/解说/方言/IP 仿音/英语/客服/多情感等分类
📄多种输入格式HTML 幻灯片(Playwright 自动截图)或预渲染 PNG
🔧断点续跑支持--skip-screenshots/--skip-audio跳过已完成阶段
🎵无缝音频独创 PCM 二进制拼接技术,消除 AAC 编码器 ~23ms 间隙

🚀 5 分钟上手

第一步:安装依赖

# 安装 ffmpegbrewinstallffmpeg# 安装项目依赖npminstall# 安装 Playwright 浏览器(仅 HTML 幻灯片模式需要)npx playwrightinstallchromium

第二步:配置豆包 API Key

  1. 登录 火山方舟控制台
  2. 体验中心 → 语音模型 →开通语音模型(Doubao-语音合成)
  3. API Key 管理 → 新建 API Key,复制Access Token
  4. 应用管理 → 创建应用,复制App ID

在项目根目录创建.env文件:

DOUBAO_APP_ID=your_app_id DOUBAO_ACCESS_TOKEN=your_access_token DOUBAO_VOICE=zh_male_shaonianzixin_moon_bigtts # 可选,默认少年梓辛

📎 直达链接:https://console.volcengine.com/ark/region:ark+cn-beijing/openManagement?tab=TTS

第三步:准备项目文件

ppt/ my-project/ scripts.json ← 旁白文案(必填) index.html ← 幻灯片(可选,用于 Playwright 截图) slide_01.png ← 预渲染图片(可选,有则跳过 Playwright) slide_02.png

scripts.json 格式

// 简单数组模式["第一页旁白内容。","第二页旁白内容。","第三页旁白内容。"]// 带音色覆盖模式{"voice":"zh_male_jieshuonansheng_mars_bigtts","scripts":["第一页旁白内容。","第二页旁白内容。"]}

也可以用scripts.txt,一行一页,空行忽略。

第四步:生成视频

nodegenerate-video.mjs ppt/my-project

输出:ppt/my-project/output.mp4🎉


🔍 核心原理揭秘

四阶段流水线

整个生成过程分为 4 个阶段,层层递进:

阶段做什么输出
Phase 1截图或复制幻灯片 PNGtmp/slide_NN.png
Phase 2调用豆包 V3 API 生成 TTS 音频tmp/slide_NN.pcm(24kHz PCM)
Phase 3编码每页短视频片段(libx264 + AAC)tmp/clip_NN.mp4
Phase 4拼接视频流 + 无缝拼接音频 → 最终封装output.mp4

无缝音频黑科技

这是项目最硬核的技术细节。如果直接拼接 AAC 音频流,每个片段之间会产生约 23ms 的编码器延迟间隙,听起来就是"咔咔"的爆音。

slides2video 的解法:

  1. 从每个 clip 中提取音频为原始 PCM(44.1kHz)
  2. 二进制拼接所有 PCM 数据(无损、无间隙)
  3. 最终封装时一次性编码为 AAC
┌──────────┐ ┌──────────┐ ┌──────────┐ │ clip_1 │ │ clip_2 │ │ clip_3 │ │ video+AAC│ │ video+AAC│ │ video+AAC│ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │ │ ▼ ▼ ▼ PCM_1 +──────► PCM_2 +──────► PCM_3 ← 二进制拼接 │ ▼ ┌─────────────────┐ │ 一次性 AAC 编码 │ │ + 视频流拷贝拼接 │ └────────┬────────┘ │ ▼ output.mp4 ← 无间隙!

图片解析优先级

  1. 预渲染 PNG 优先:如果slide_01.png ~ slide_NN.png全部存在,直接使用,无需 Playwright
  2. Playwright 截图兜底:如果缺少 PNG 但有index.html,启动无头 Chromium 截图

HTML 幻灯片需要提供一个goTo函数供脚本调用翻页:

window.goTo=function(i){slides.forEach((s,j)=>s.classList.toggle('active',j===i));cur=i;updateDots();};

🎭 音色大盘点

100+ 音色,按场景分类。这里挑最实用的介绍:

🏆 热门推荐

音色 ID名称最佳场景
zh_male_shaonianzixin_moon_bigtts少年梓辛/Brayan ⭐默认推荐,通用讲解
zh_male_yuanboxiaoshu_moon_bigtts渊博小叔知识讲解首选
zh_male_jieshuonansheng_mars_bigtts磁性解说男声 ⭐视频解说首选
zh_female_shuangkuaisisi_moon_bigtts爽快思思/Skye中英双语场景

🗣️ 方言音色

音色方言
四川话男/女声四川话
东北话男/女声东北话
陕西话男/女声陕西话
河南话男/女声河南话
粤语男/女声粤语
上海话男/女声上海话
台湾话男/女声台湾腔

👑 IP 仿音

鲁班、诸葛亮、曹操、西施、王昭君、貂蝉、杨贵妃——让你的 PPT 视频瞬间有了"历史人物"的味道。

🌍 英语音色

Adam、Anna、Bob、Clara 等 12 种美式英语音色(1.0),以及 Tim、Dacey、Stokie 三款 2.0 多语种音色。

查看全部音色:

nodegenerate-video.mjs --list-voices# 全部nodegenerate-video.mjs --list-voices 男# 按关键词筛选nodegenerate-video.mjs --list-voices 解说# 找解说类音色

⚡ 实用技巧

指定音色

# 用磁性解说男声nodegenerate-video.mjs ppt/my-project--voicezh_male_jieshuonansheng_mars_bigtts

断点续跑

跑了一半失败了?不用重来,跳过已完成的阶段:

# 截图和音频都有了,只重新编码+拼接(Phase 3+4)nodegenerate-video.mjs my-project --skip-screenshots --skip-audio# 截图有了,重新生成音频+编码+拼接(Phase 2+3+4)nodegenerate-video.mjs my-project --skip-screenshots

每个项目不同音色

scripts.json中指定 voice 字段即可:

{"voice":"zh_female_tianmeixiaoyuan_moon_bigtts","scripts":["大家好,欢迎来到今天的分享。","接下来我们看第二部分..."]}

⚖️ 优缺点分析

维度评分说明
🎯 易用性⭐⭐⭐⭐⭐一条命令出视频,零配置脚本
🔊 音色丰富度⭐⭐⭐⭐⭐100+ 音色,方言/IP/英语全覆盖
🏗️ 架构设计⭐⭐⭐⭐四阶段流水线清晰,断点续跑贴心
🎵 音频质量⭐⭐⭐⭐⭐无缝拼接技术解决 AAC 间隙问题
📚 文档质量⭐⭐⭐⭐README 详尽,音色表完整
🖥️ 跨平台⭐⭐⭐依赖 ffmpeg + Playwright,macOS/Linux 友好,Windows 需适配
🎨 可定制性⭐⭐⭐音色可选,但暂不支持自定义背景音乐、转场动画等

💡 适合谁?

  • ✅ 需要把 PPT/幻灯片快速转成讲解视频的职场人
  • ✅ 做在线课程、培训视频的教育工作者
  • ✅ 需要批量生成产品介绍视频的运营团队
  • ✅ 想用 AI 配音代替自己录音的"社恐"开发者
  • ✅ 需要方言/特色音色做短视频的自媒体创作者

⚠️ 注意事项

  • 需要豆包 TTS API 权限(火山方舟控制台开通)
  • TTS 调用有费用,具体看火山方舟定价
  • 目前仅支持静态幻灯片,不支持动画/转场效果
  • Windows 用户需自行安装 ffmpeg

📚 总结

slides2video 解决了一个很实际的问题:PPT 讲解视频的制作成本太高。以前要录音、对时间轴、剪辑,现在写好文案、选好音色,一条命令出成片。

技术上最亮眼的是无缝音频拼接——把 PCM 二进制拼好再一次性编码 AAC,彻底消灭了 AAC 流拼接时的 23ms 间隙。这种对细节的较真,才是好工具该有的样子。

100+ 音色是另一个杀手级优势。从普通话到方言,从解说风到 IP 仿音,覆盖了绝大多数中文视频场景。特别是"渊博小叔"和"磁性解说男声"这两个音色,真的很好听。

推荐指数:⭐⭐⭐⭐

扣一星是因为目前还不支持背景音乐、转场动画和自定义分辨率,期待后续更新。


📢 项目地址:https://github.com/ruilisi/slides2video
💬 你平时做 PPT 视频是怎么配音的?评论区聊聊!


标签:#PPT转视频 #豆包TTS #AI配音 #slides2video #火山方舟 #Node.js

http://www.jsqmd.com/news/729090/

相关文章:

  • DASH技术:LLM确定性训练的革命性突破
  • 前端表单构建器:声明式配置与组件化架构实践
  • 数据零件库:构建覆盖所有细分行业的数据要素“标准工业体系”
  • 树莓派4迷你NAS套件:扩展性与散热优化实践
  • CXL vs. PCIe 5.0 vs. NVLink:下一代AI服务器该选谁?深度横评与选型指南
  • Dify 2026缓存性能瓶颈诊断工具链首发:5分钟定位Key倾斜/序列化膨胀/连接池争用(含CLI命令速查表)
  • 保姆级教程:全志A133 Android 10.0平台GPS模块移植实战(以WT-11-AK为例)
  • 嵌入式智能系统技术解析与实战应用
  • AI 术语通俗词典:轮廓系数
  • 构建你的“第二大脑”:技术人知识管理终极方法论
  • TMS320C6678 DSP中断配置避坑指南:CSL与SYS/BIOS两种方法实战对比
  • FactArena框架:大语言模型事实核查的全流程评估
  • 2026成都涵洞钢模板技术解析:成都钢模板租赁/成都防撞墙钢模板/成都隧道涵洞钢模板/四川圆柱钢模板/四川墩柱钢模板/选择指南 - 优质品牌商家
  • 元认知学习法:为什么高手学新技术总是比你快?
  • 别只盯着‘农旅融合’:用Python和数据分析,我帮老家果园多赚了30%
  • 用STM32F103C8T6给树莓派DIY一个智能温控风扇,附完整代码和PCB文件
  • conda 虚拟环境 python ,torch,torchvison 版本选择
  • [Android] 小柚市场app v2.3.0.8安卓版TV版
  • 别再傻傻分不清:SAP MM中MRP Type与MRP Profile保姆级配置指南与避坑要点
  • 告别卡顿!在IMX6ULL上优化LVGL性能的几条实用配置建议
  • 如何高效管理Steam成就:Steam Achievement Manager完整使用指南
  • RK3588 Android12内核编译踩坑实录:从‘缺少clang’到成功烧录的完整解决流程
  • Conductor-for-all:打破技术栈限制,构建通用工作流编排平台
  • 图片去背景色的方法有哪些?2026年最全工具对比指南
  • 恒定功率RF发射系统设计与DC-DC转换器优化方案
  • AI 术语通俗词典:调整兰德指数(ARI)
  • R 4.5正式版CNV流程重构实录:Bioconductor 3.19+cnvKit 1.5+GATK4.4全栈适配避坑清单
  • RulePlanner:基于强化学习的3D芯片布局设计规则统一框架
  • 告别DMP,从原始数据开始:手把手教你用STM32CubeMX+HAL库驱动MPU6050
  • 压缩机灰铁液压油泵ACF 080K4 IVFE