◀ VibeCruiser

bql mv

A free generative art piece — play it in your browser, no install. 《八千里路明月照》— 纯 Canvas 2D 实时水墨 MV,零图片素材。. 一个纯 Canvas 2D 实时绘制的水墨 MV:零图片素材、零第三方前端依赖,16:9,完整 2:53。 在线预览(静音演示) · 验收预览图 山水、云气、月宫、梅枝、仙鹤、旅人、湖面、小舟、天灯、芦苇全部由代码实时生成,没有一张图片素材。 7 个章节、两条主副题字、片尾字幕、进度条、全屏与音量控制。 音频包络驱动月晕、呼吸与节拍粒子;支持本地音源,也支持缺少音源时的静音演示。 针对长时间播放做了帧间稳定性处理:静态颗粒、循环粒子边界淡出、Canvas 同步合成、DPR 上限。 需要 Python…

by @Yenefa · Yenefa/bql-mv on GitHubLANG JavaScriptHOSTED ON YENEFA.GITHUB.IOUPDATED 27 Oct 2026

Vote and save it — free account with email or sign in with GitHub

Made this, @Yenefa? See how many people played it → or use email

Controls: Arrow keys · Space · Mouse · Tap

▶ Play full screen ▲ Vote: free account with email ▲ Or sign in with GitHub

GitHub may ask you to sign in, then to let VibeCruiser “Verify your GitHub identity” and “Act on your behalf”. We only read your profile and email, and never post anything.

Open the live demo Source on GitHub

From the README

一个纯 Canvas 2D 实时绘制的水墨 MV:零图片素材、零第三方前端依赖,16:9,完整 2:53。

在线预览(静音演示) · 验收预览图

山水、云气、月宫、梅枝、仙鹤、旅人、湖面、小舟、天灯、芦苇全部由代码实时生成,没有一张图片素材。 7 个章节、两条主副题字、片尾字幕、进度条、全屏与音量控制。 音频包络驱动月晕、呼吸与节拍粒子;支持本地音源,也支持缺少音源时的静音演示。 针对长时间播放做了帧间稳定性处理:静态颗粒、循环粒子边界淡出、Canvas 同步合成、DPR 上限。

需要 Python 3(仅用于本地静态服务器;页面本身不需要构建)。

本仓库不包含歌曲录音文件。 这是出于音乐版权考虑,而不是代码依赖。

缺少 audio/song.mp3 时,页面会自动进入静音演示,完整画面和镜头仍然播放,并显示提示。 如果你拥有该录音的公开使用或发行权,把音频保存为 audio/song.mp3,刷新页面即可带声播放。 请不要向本仓库提交未获授权的录音。 env-data.js 中是为画面节拍预计算的响度包络,不是歌曲录音,也无法还原录音。

原曲信息:《八千里路明月照》,词 阿仁,曲 黄泯国,演唱 泽国同学。录音版权归原权利人所有。

进度条可拖动;鼠标静止数秒后控制条自动隐藏。

MV 代码与生成视觉:Yenefa。 原曲:词 阿仁 / 曲 黄泯国 / 演唱 泽国同学。

Read the full README on GitHub →

Built something like this? Submit your vibe — free account, takes a minute. How listing works.

More like this

Made this?

Claim it: create a free account, then press CLAIM THIS in the cruiser. Put the badge below in your README or on your demo page first; that link is how we know it's yours.

Your project is on the cruise, loaded live from your own site. Put the badge in your README or on the demo page: it shows your live play count, it links back to this page, and everyone who lands here is one click from running the real thing.

On VibeCruiser

How listing, the badge and claiming work →