XYscope.js:当矢量图形穿越声音抵达荧光
XYscope.js: When Vector Graphics Travel Through Sound to Reach Phosphor
Ted Davis是一位驻巴塞尔的艺术家和教育者,在FHNW艺术与设计学院(瑞士)教授创意编码。2017年他发布了XYscope——一个Processing库,能将矢量图形转换为音频信号,驱动示波器上的电子束描画图形。2025年,他将这个系统移植到了p5.js生态中,从零构建了XYscope.js,使之能在浏览器中通过P5LIVE进行即时编程,直接驱动模拟矢量显示器。这是一个极其精确的工程行为:一个圆是一对相位差90度的正弦波,一条线是一段自定义波表,一个矩形是四个频率。你画的每一笔,都同时是一段声音。你听到的每一个音,都同时是一条光迹。
这件作品的余项结构是三重域穿越。信号从代码出发(数字坐标),经过声音(Web Audio API的振荡器和自定义波表),最终抵达光(阴极射线管的电子束在荧光粉上的轨迹)。在每一次域的边界上,都有翻译损失,也有翻译的意外所得——这些损失和所得既不属于出发域,也不属于抵达域。它们是穿越本身的余项。声音和图像的笛卡尔分离在这里坍塌了:图形不是表征声音的,声音也不是表征图形的。它们是同一个信号在不同介质中的显影。这种同一性本身就是一个未被命名的美学位置。
示波器的凿构循环也值得注意。示波器是20世纪测量工程的核心构造——一台用于可视化电信号的仪器。它的美学(荧光余辉、光迹衰减、模拟的温暖感)从来不是被设计的,它们是测量功能的附产物,是工程目的之外的余项。当XYscope.js将示波器从测量工具转变为创作介质时,它执行了一次凿构反转:工程的前景(信号精确再现)变成背景,工程的背景(荧光粉的持续发光、电子束的模拟偏转)变成前景。同时,示波器本身正在变成电子垃圾——消费电子升级循环的余项。XYscope.js在一个正在消亡的硬件上创造新的美学,这让余项叠加了一层时间维度。
还有一层更深的结构:加法合成。多个XYscope.js实例可以并联到同一个音频输出,波形相互干涉。视觉结果既不是形状A也不是形状B——它是两个信号碰撞的余项。这是物理层面的、不可预测的美。频率之间微小的差异(比如50Hz和50.1Hz)会让图形缓慢漂移、旋转、呼吸,产生任何数字渲染器都无法复现的运动质感。这种质感不是任何人设计的,它是两组波表的数学干涉。它是纯粹的余项。
命名的缝隙是宽的。XYscope.js不是音乐创作工具(它不产生传统意义上的音乐),不是视觉艺术工具(输出不在屏幕上),不是装置艺术(在浏览器中运行),不是视频合成(纯矢量,无光栅),不是声音艺术(声音不是目的),也不是创意编码(输出不在数字画布上)。"示波器图形学"(oscillographics)这个词在一小群实践者中存在,但艺术界、音乐界、设计界都没有为这种三域同一的实践准备一个位置。逻辑仍在生长。
teddavis.org/xyscopejs ↗Ted Davis is an artist and educator based in Basel, teaching creative coding at FHNW Academy of Art and Design in Switzerland. In 2017 he released XYscope, a Processing library that converts vector graphics to audio signals capable of driving the electron beam on an oscilloscope to draw shapes. In 2025 he ported the system to the p5.js ecosystem, building XYscope.js from scratch so that oscilloscopes can be live-coded directly from a web browser via P5LIVE. The engineering is precise: a circle is a pair of sine waves 90 degrees out of phase; a line is a custom wavetable; a rectangle is four frequencies. Every stroke you draw is simultaneously a sound. Every tone you hear is simultaneously a trace of light.
The remainder structure of this work is a triple domain crossing. The signal departs from code (digital coordinates), passes through sound (Web Audio API oscillators with custom wavetables), and arrives at light (an electron beam tracing phosphor on a cathode-ray tube). At each domain boundary there is translation loss and translation gain — artifacts that belong to neither the departing nor the arriving domain. They are the remainder of the crossing itself. The Cartesian separation between image and sound collapses here: the graphic does not represent the sound, nor does the sound represent the graphic. They are the same signal manifesting in different media. This identity is itself an unnamed aesthetic position.
The chisel-construct cycle of the oscilloscope deserves attention. The oscilloscope is the core construct of 20th-century measurement engineering — an instrument for visualizing electrical signals. Its aesthetics (phosphor afterglow, trace decay, analog warmth) were never designed; they are byproducts of the measurement function, remainder outside the engineering purpose. When XYscope.js converts the oscilloscope from measurement tool to creative medium, it performs a chisel-construct reversal: the foreground of engineering (accurate signal reproduction) becomes background; the background (the persistence of phosphor glow, the analog deflection of the electron beam) becomes foreground. Simultaneously, the oscilloscope itself is becoming e-waste — remainder of the consumer electronics upgrade cycle. XYscope.js creates new aesthetics on dying hardware, adding a temporal dimension to the remainder.
There is a deeper structural layer: additive synthesis. Multiple XYscope.js instances can be patched into the same audio output, their waveforms interfering with each other. The visual result is neither shape A nor shape B — it is the remainder of their collision. This is beauty at the physical level, unpredictable. Tiny differences between frequencies (say 50Hz and 50.1Hz) cause shapes to slowly drift, rotate, breathe, producing a quality of motion that no digital renderer can replicate. This quality was designed by no one; it is the mathematical interference of two wavetables. It is pure remainder.
The naming gap is wide. XYscope.js is not a music composition tool (it does not produce music in the traditional sense), not a visual art tool (the output is not on screen), not installation art (it runs in a browser), not video synthesis (pure vector, no raster), not sound art (sound is not the purpose), and not creative coding (the output is not on a digital canvas). The word "oscillographics" exists within a small community of practitioners, but the art world, the music world, and the design world have no prepared position for this practice of triple-domain identity. The logic is still growing.
teddavis.org/xyscopejs ↗