
这里没有照片,也没有录音:一切都是用代码做出来的
像素与声音实验室
手机上的每一种颜色、每一张图片、每一个声音,归根结底都只是一大堆数字。自己试试:改一改数字,然后看看、听听会发生什么。
三个数字调出颜色
屏幕上的每个点,其实都是三盏小小的灯:红、绿、蓝。0 到 255 之间的三个数字,决定每盏灯有多亮。你看到的每一种颜色,都只由这三个数字组成。
放大看一个屏幕点
rgb(255, 148, 71)
动画里的颜色
256 × 256 × 256 = 16,777,216 种不同的颜色,只靠三个数字。
由方块组成的图片
一张图片就是由这些点组成的一张大表格。点少了,你会看到方块;点多了,图片就变得平滑。点任意一个方块,看看它的三个数字。
你选中的方块
比如一帧 Full HD 画面(1920 × 1080,不是上面的视频)有 2,073,600 个方块:压缩前是 6,220,800 个红、绿、蓝数字。它们小到你的眼睛再也看不出方块。
用规则画画,用时间做动画
没有人画了 540 张单独的图。只有几条规则,说明每一刻每样东西在哪里、是什么颜色。电脑每秒把这些规则运行 30 次,每次拍下一张快照。拖动时间,或者按播放。
这些规则,以及它们此刻的答案
- 帧
- 太阳高度
- 天空顶部
- 灯笼
- 星星
同样的规则,写成代码
540 帧中的 6 帧。动画就是这些图片一张接一张快速播放。点其中一张,跳到那一刻。
用公式做出的声音
声音就是空气在振动。扬声器按照一串数字把振膜前后推动:每秒 44,100 个数字。这里的数字是用公式算出来的,直接送到你的扬声器。没有录任何东西。
内的波形
放大看前 24 个数字:每个点就是一个数字
音符
波形
公式
什么都听不到?把音量调大。在 iPhone 上,请确认静音开关已关闭。
三行讲完整个故事
- 图片:每个点三个数字(红、绿、蓝)。
- 动画:几条随时间变化的规则,每秒运行 30 次。
- 声音:每秒 44,100 个数字,推动扬声器前后振动。
这个页面也是这样运作的:实验里的每一张图、每一个声音,都是此刻在你自己的设备上算出来的。
常见问题
这段动画是用 AI 视频生成器做的吗?
不是。没有用任何视频生成器。每一帧都是用普通代码画在 HTML canvas 上的:天空用渐变,山用形状,太阳的轨迹用一个公式。然后把这些帧保存成视频。AI 视频生成器的原理不一样:它们根据从海量视频中学到的规律,直接画出像素。
什么是像素?
数字图片里最小的点。在屏幕上,每个像素是三盏小灯:红、绿、蓝,它的颜色用 0 到 255 之间的三个数字来保存。
电脑怎样发出声音?
它向扬声器发送一串数字,通常每秒 44,100 或 48,000 个。每个数字说明扬声器振膜在那一刻该移动多远。用公式算出这些数字,你就得到了一个没人录过的声音。
在 AI 出现之前,人们能做到这些吗?
能,而且已经有几十年了。1957 年,贝尔实验室的马克斯·马修斯编写了 MUSIC,这是最早用电脑制作音乐的程序之一。1995 年,《玩具总动员》成为第一部完全用电脑动画制作的长片。每一款电子游戏也都在用代码画画面,每秒很多次。
需要安装什么吗?
不需要。任何现代浏览器都能运行,手机也可以。如果在 iPhone 上听不到声音,请检查静音开关是否已关闭。