mexicat/pdoom-video
Code-rendered music video for "I'm Upping My P(doom)"
它解决了什么
它提供了一个系统,用于创建生成式、代码渲染的音乐视频,其中每一帧都是歌曲时间的确定性函数。这确保了实时浏览器预览和高分辨率离线导出(最高4K60)保持一致。
它是如何工作的
该项目结合了音频分析和TypeScript/three.js渲染器:
- 音频分析:Python工具(使用Demucs、Whisper和CTC强制对齐)分析歌曲,生成词级歌词时间轴和音频数据(BPM、节拍、起始点和响度包络)。
- 渲染引擎:基于TypeScript的引擎,使用three.js、Bun和Vite构建,根据锚定到歌词行和节拍网格的时间轴渲染场景。它包含后期处理效果,如泛光、光晕和颗粒。
- 导出管道:无头Chrome实例(通过Playwright)渲染帧,帧通过WebSocket流式传输到ffmpeg进行最终视频编码。它具有复杂的运动模糊系统,可根据运动强度自适应采样子帧。
适用人群
数字艺术家、创意编码者以及对生成艺术、同步视听可视化和高保真代码驱动视频制作感兴趣的开发者。
亮点
- 确定性渲染:保证实时浏览器预览和最终4K导出之间的一致性。
- 自适应运动模糊:一种采样系统,根据每个32x32块的子帧数调整,以优化渲染速度,同时在快速运动中保持视觉质量。
- 自动音频同步:集成管道,用于音源分离和强制对齐,实现精确的单词同步卡拉OK排版。
- 高分辨率支持:原生4K渲染,每一层和着色器都以物理分辨率渲染,而不是放大。
相关
- 项目
- 项目
- 项目
- 项目
- 项目