
78clip
A shellac record, spinning, for the timeline.
macOS · Python 3, ffmpeg, ImageMagick · runs from a checkout
78clip takes one argument, an Internet Archive identifier from the Great 78 Project, and returns a video ready for X: the record's own label scan, turning clockwise at a true 78 rpm, over the audio of that exact disc. Everything comes from the item's metadata. It uses the full-resolution label photograph, and the transfer the George Blood engineers marked as preferred out of the several they made with different stylus sizes. Title, performer, label, catalog number and year are parsed from the catalog record, and an all-caps title is set in proper case. The disc spins up like a turntable, holds speed, and slows to a stop as the audio fades, so the label is readable again at the last frame. By default it opens on a moment of needle-drop crackle before the band comes in, looped from the record's own lead-in groove. A whole side runs through the run-out crackle and stops where the sound does, not where the file ends. Most US recordings from 1947 to 1972 are still under copyright, so the default is a 40-second excerpt that links back to the archive.
Features
- One argument: an archive.org identifier or a /details/ URL, and the label, audio and credits all come from the item's metadata
- A true 78 rpm, rendered at 120 fps and blended to 30, so the label blurs like a real spinning record instead of strobing
- Spin-up, steady speed and spin-down are one continuous angle function, with the stop timed to the audio fade
- Crackle-only open: the record's own lead-in groove is looped for as long as --lead asks, then crossfaded into the music
- Square (1:1) and vertical (9:16) layouts, and long titles scale down to fit the frame
- Themed by the label itself: the dominant color of the scan sets the background, the glow behind the disc and a tint in the type, so a red 4 Star plays on oxblood and a blue Puritan on navy
- Picks the stylus transfer the Great 78 engineers preferred, which is the file with a readable name among the several MP3s
- --full keeps a whole side through its run-out groove and trims only the digital silence after it
- H.264 with faststart, so it uploads to X as-is, with a warning when a video runs past X's 2:20 non-Premium limit