By popular demand (both people), here's how the video for “The Ballad of Sir Clive Sinclair” was made. Also available in PDF format.
First, there's an overview of shooting suitable footage, and using Image To ZX Spec, the conversion software. Then, it digs into Sir Clive's specifics, with a touch of unimpressive behind-the-scenes trivia.
If it's all too much, and you just want some easy pictures in a ZX Spectrum or other retro style, then get Retrospecs instead.
Go for black, white, primary, and secondary colours.
Wear plain clothes, or ones with simple, high-contrast patterns.
Use accessories like sunglasses to highlight features.
Film against a plain, evenly-lit surface.
Add new backgrounds later.
Alternatively, direct them towards this sequence from Dire Straits' “Money For Nothing”. The conversion loses detail, but the key forms of a person and guitar survive.
Attend the filming yourself, then you can catch problems as they happen. I didn't, and missed some points on the list, yet still salvaged an acceptable result.
I found two main problems with the otherwise lovely Image To ZX Spec:
It was fussy about importing videos.
Version 2.0.1 silently dropped and shuffled output video frames.
However, the developer has now released a new version that fixes the frame shuffling problem. It's also much faster than version 1.4, by taking advantage of multi-core processors. As for importing videos, that relies on third-party libraries, so might work absolutely fine depending on what format you use.
If all else fails, simply convert your video to a still image sequence and use version 1.4.
Standard Definition is good enough, because the end result will be a 256 by 192 pixel video with up to fifteen colours. Good lighting is more important than high resolution.
If you're filming lots of different scenes, keep them as separate video files for the conversion process. This will make it easy to tailor brightness and contrast.
The ZX Spectrum display format is a high-resolution (256 by 192) monochrome bitmap with a low-resolution (32 by 24) colour overlay. Pixels are coloured as 8 by 8 cells, which can each contain up to two colours from a palette of eight.
Each cell can use a set of bright colours, lighter shades of the ordinary palette. This is set per cell, so increases apparent chunkiness where bright and ordinary cells meet.
Dithering gives the appearance of more colours at the expense of detail. Image To ZX Spec has several options, including none. It's up to you what work bests for each scene.
I received a single video file to convert. It began with hands typing at a keyboard, faded to some Sinclair BASIC captured from an emulator, then cut to the song.
Fading doesn't work with eight colours. So, I left filtering until later, leaving this fade as the transition between natural and pixelated.
Modern scaling methods generally smooth the transition between pixels, favouring low-frequency colour variations. Sharp, palletised pictures upset them. The first picture is a lossless .png, yet ten times smaller than the fuzzy-edged .jpg version.
Eagle-eyed viewers may have noticed that the text pops into focus towards the end of the introductory fade. To avoid this, don't mix normal and pixelated footage until the final edit.
To persuade the video compressor that pixels were meant to be chunky, I upscaled each raw converted frame with a batch processor. Disabling interpolation and using an integer scale factor ensured crispness.
The ZX Spectrum has a native picture ratio of 4:3. The video was shot in 16:9, which mapped neatly to 256 by 144 pixels. In theory, it could run on real hardware, with the subtitles and introduction removed.
Here, Chris Jerden-Cooke is flanked by two Biffo clones. His high frequency shirt pattern becomes a shimmering monochrome mess, though contrasts nicely with the striped one. Note how the trouser stripes, despite being only slightly thinner than the shirt stripes, are lost in translation like the rubber-keyed prop.
You need to get close for detail to show, which is why I like this scene. A similar shot of the Spectrum being played like a keyboard would have helped establish it for the wider shots.
Fortunately, the performers had more than enough energy to read clearly at low resolution. Like Chris here, on the threshold of headbanging with enthusiasm. He also wrote a guitar part for a song with no guitar, rather than risk unconvincing strumming.
If you have time to hand-tweak an image, for example, when making a loading screen, dithering can give much better results than flat colours. There's no such luxury with 4,135 frames, so generally I chose stylisation over noisy detail.
The exception was most greyscale images. With a stable colour overlay, there was room for fine-grained noise elsewhere. Ordered dithering seemed the best balance between shimmering and shading.
I returned a video which mixed bright and normal cell colours sparingly, using them for emphasis at dramatic moments like this. They were somehow changed back to a constant brightness level, and probably for the better.
Mixing cell types highlights the low-resolution colour overlay. It might work as an occasional effect, though Image To ZX Spec seems quite sensitive to dark spots.
Cell brightness can be mixed more effectively on a black background, because the bright and normal palettes share a common black. Hence fifteen colours, rather than sixteen.
The still background images have some flickering pixels. These are worst with foreground movement, so probably result from whole-frame threshold averaging. To avoid this in your video, convert the background images separately for compositing later.
Pans were less obviously flickery, because indecisive pixels are harder to spot in motion. Image To ZX Spec can convert images to any size, so there's scope to make oversized conversions for panning (with the speed at an exact multiple of the upscaled pixel width.)
I should have seen this coming, and specified that brown is not a primary colour. The background absorbed filth more readily than any machine, so it had to be recoloured in a less healthy hue.
Ironically, a real ZX Spectrum renders red as reddish-brown, due to a combination of noisy RF conversion and CRT characteristics.
To ensure the line-work of Cs 7 to 15 was clear, contrast was set at the threshold of introducing background noise. This left Chris almost a silhouette, but looked acceptable. Again, compositing the converted drawings later would have been better.
In the final section, a small light bloom on the green screen was blown out of proportion in conversion. Lowering brightness lost too much detail, so the affected frames were individually retouched before processing.
The conversion was kind to rough edges. Small, but obvious footage cut lines disappeared completely, and fuzzy chromakey edges were averaged and quantized to oblivion.
Holes in clothing, sunglasses, and elbows were also less obvious after conversion. There was also no need for precision work when retouching the light bloom.
After preliminary work, learning the software and creating some test footage, conversion of the final video took five days. It would have gone faster with planning the backgrounds in advance, and attending filming to catch any problems with a fast preview conversion.
Still, it was worth the effort for the music, and those performances. Beside, a throwaway idea of my own accidentally led to something more ambitious...