Food Spectrogram
A tool that turns one audio recording of food being made or eaten into a printable A4 poster. The disc is a real frequency analysis: time runs clockwise, pitch runs centre to rim, brightness is loudness.

The brief
My flatmate cooked almost every night. I would be at my desk with my headphones off and the flat would fill with this steady, unhurried sound: oil starting to move, a knife finding a rhythm on the board, a lid going on, the long quiet stretch where something is left alone to cook. It was delicious and it was soothing at once, and those two things do not usually sit together. After a few weeks I noticed I was listening to cooking far more often than I was watching it, while every piece of food media I could think of was built the other way round. Recipe videos, mukbang, restaurant reels: the camera points at the plate and the sound is garnish. So I turned it over. Instead of watching someone cook, what if you watched the frequency? Built during Unit 7 of an exchange programme at Chelsea College of Arts, University of the Arts London.
The challenge
The first version drew live, reading the spectrum once per animation frame while the clip played, and that broke it in two ways. The rotation advanced by a fixed amount per frame assuming a steady 60fps, so on a laptop running at 30 the disc only got halfway round before the audio ended: the poster was a by-product of frame rate, the same recording gave a different result every time, and there was no way to get a specific one back. And the disc had no structure. Frying, chewing and room tone are broadband noise, putting energy into every frequency at once, so a raw spectrogram of them is a solid wash. It looked like something, but you could not point at part of it and say what happened there.
How I ran it
- 01Moved analysis off the clock: the file is decoded and run through a Hann-windowed 2048-point FFT into 1440 slices before anything is drawn. Same file in, same poster out, on any machine. Playback became optional theatre rather than the mechanism.
- 02Subtracted a noise floor per frequency band, measuring the level each band sits at most of the time, the hiss of the room and the rumble of a fryer, and removing it. What is left is events: the sizzle, the bite, the clatter. This is the change you can actually see.
- 03Separated rendering from analysis so the same poster can be drawn at any size, which is what makes the print export real rather than a screen grab.
- 04Stopped the disc rotating as it drew, so time now reads clockwise from twelve o'clock and every file is oriented the same way.
- 05Set the headline to fill the measure so a series hangs together, with limits: above 104pt a short title opens its letter-spacing instead of growing, below 52pt it breaks to a second line balanced by width, and a block-height ceiling scales everything down before it can reach the disc.
What I managed
- Concept & art direction
- Audio analysis (FFT)
- Typographic system
- p5.js build
- Print export pipeline
- Poster series
A deterministic engine that returns the same poster from the same file on any machine, exports true A4 at 300 dpi, and produces a series where the differences are differences in the food.
- Deterministic output: the same recording produces the same poster on any machine, so a series can be compared honestly.
- True A4 at 300 dpi, up from a 72 dpi screen capture.
- Five palettes, four for black stock and one Riso set for uncoated paper.
- Runs in the p5 web editor and as a single self-contained HTML file with p5 and both typefaces embedded, so it works offline with no build step.
- Dropping p5.sound for the Web Audio API removed the main obstacle to upgrading, since p5.sound is not bundled in p5 2.x.
- Orbit Trap grew out of this. Cooking is the harder audio-reactive problem, with no tempo to lock to and no kick to anchor on, and solving it here is what made the real-time version possible.
See it running
The full walkthrough: pick a recording, set the title, watch the disc draw in sync with the clip, then export at 300 dpi. Worth turning the sound on.















Have a project like this?
I’m available for project management and delivery work. Tell me what you’re building and let’s map it out.