Skip to content
Mechanical Pianist Turns MIDI Into a Robot-Hand Concert Film

Mechanical Pianist Turns MIDI Into a Robot-Hand Concert Film

Details

Title
Mechanical Pianist Turns MIDI Into a Robot-Hand Concert Film
Published

What it is

The Mechanical Pianist places two porcelain-and-chrome robotic hands in front of a piano, then lets them perform Satie, Chopin, Joplin, or any MIDI file you bring. Fingers settle onto individual keys, cyan joints flare with each strike, and a virtual director cuts between warm close-ups, overhead views, and shots inside the exposed piano action. This is not the usual cascade of glowing piano-roll bars. You watch the physical performance itself, complete with moving keys, hammers, dampers, strings, pedals, and the occasional impossible stretch the robot admits it cannot reach.

Chris Simpkins built the open-source TypeScript project as three connected systems: musical interpretation, physical performance, and cinematic presentation. Beam searches assign every note to a hand and finger before playback; motion planning and inverse kinematics convert that fingering into wrist paths, joint poses, and key contact; Three.js renders the result through WebGL with volumetric light, depth of field, motion blur, reflections, and a music-aware camera director.

You can import a MIDI file, play the robot live from a computer or Web MIDI keyboard, inspect the source, or render the performance to MP4 in the browser using WebCodecs. It is part music visualizer, part robotics simulation, and part concert cinematographer.

How it’s made

Technology
WebGL
Framework & Tool
Three.js
Interaction
Audio
Subject
Music

Enjoyed it? Pass it on.

Sharing is the simplest way to thank a maker. Your post credits Chris Simpkins.

Post it on

Copy post text

If a composer opens empty, copy this text. For long posts, split it across posts and keep every maker’s credit.

WebGL / WebGPU

A home for the cross-platform GPU community. Independently run, open to contribution.

CommunityNewsProfiles
AboutAboutLegalSite index

An independent community site, not affiliated with The Khronos Group or the W3C.