一台1990年代初松下发售的桌面式数字音视频混合台,原本只打算卖给婚礼摄像师和有线电视工作室,帮他们在S‑VHS录像带上切A/B卷。这台叫做WJ‑MX50的机器有两条母线、四路信号输入、287种划像图案、一路色键、一路下游键、八组事件记忆,还带一个摇杆。它的全部行为都被那一本40页的操作手册规定得清清楚楚——哪个按键会闪烁、哪些效果互相排斥、一次自动淡入淡出可以在0到510帧之间完成,步长是2,既不是1也不是5。
这是松下给它规划的用途。不是我们用的用途。进入21世纪后很多年,这台机器还跟着我们出现在techno俱乐部的舞台上,一连几个小时充当现场VJ设备。四路输入中的两路接的是跑VJ软件的电脑,其余几路根据场地条件接数字视频播放器或静态画面。电脑负责生成素材,但真正的表演发生在MX50的操控面板上。这样用的时候,它就不再是编辑工具,而变成了一件乐器:推子是弹奏的,不是设定的;摇杆配合底鼓的节奏把马赛克块摔向屏幕四角;把转场时间拧到最小,Auto Take按钮就成了一颗打击乐按键。这是一种极其强调互动的视觉表达方式,互动到观众老是把正在操作面板的我们当成DJ,或者当成某个现场表演组合。没有谁会把一个只盯笔记本屏幕的VJ认成什么人。
![]()
所以当我决定在浏览器里复现这台设备时,问题从来不是“能不能让它看起来像MX50”。问题一直是“能不能让它做起来像”——逐个功能块、逐次指示灯闪烁都一致,因为一件乐器的灵魂在行为里,而二十年的肌肉记忆是一位毫不留情的评测者。手册成了规格说明,我的双手成了验收测试。最终产物是web‑mx‑50:纯TypeScript,视频路径走WebGPU,混音部分用Web Audio,没有框架,没有打包工具,源码约5700行。这篇文章只写复现过程中那些有意思的部分,视觉美化不在其列。
第一件工作不是写代码,而是读手册,一直读到手册在脑子里不再是一本说明书,而变成一个数据结构。MX50的功能表看起来庞杂,但其实可以很干净地拆解开,因为硬件本身就是按固定顺序串联的功能块:信号源→母线指派→色彩校正→数字效果→混合/划像→下游键→淡出→节目输出。这个顺序不是实现细节;它是可观察的真实行为。下游键位于效果之后,所以一个标题叠加在马赛克效果上仍然锐利;淡出排在最后,所以你可以把视频画面淡出,让标题继续留在输出里。因此第一个架构决定就是……
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.