CLCTN · SIDE QUEST · MUSIC UNDERSTANDING × SHADERS · 19 SEP 2026
Yes. And the animation is the least valuable thing it gives you.
Music Understanding can absolutely drive the groove sheen — Apple names audio-reactive animation as a use for instrument activity outright, and a beat grid is exactly the "one number" the
shader page said to drive the effect from. It fits almost suspiciously well.
But the same framework, run once at add-time, writes BPM and musical key onto every record in the collection — and for the crate-digging half of your audience that is a real feature, not a flourish. Apple's own closing list names organising a catalogue by tempo or key before it names anything visual. Section 04 is the one worth your time.
00 · THE VERDICT
{{ v.tag }}
{{ v.t }}
{{ v.b }}
01 · WHAT IT OUTPUTS, MAPPED TO SHADER INPUTS
Six analysis areas. Four of them could plausibly drive something on screen; two of them should.
ANALYSIS
WHAT YOU GET BACK
WHAT IT COULD DRIVE
VERDICT
{{ o.name }}
{{ o.gives }}
{{ o.drives }}
02 · THE BLOCKER — WHERE DOES THE AUDIO COME FROM?
CLCTN is a catalogue. It currently plays nothing, owns no audio files, and has no player. Everything on this page is downstream of changing one of those three facts.
The session initialises from an AVAsset or a custom audio provider yielding PCM buffers. Both require audio you can actually read — which is a bigger ask than it sounds for a record collection, where the whole point is that the music is on a physical object in the room.
{{ s.name }}
{{ s.feas }}
{{ s.b }}
THE CATCH
{{ s.catch }}
03 · THE RIGHT PATTERN — ANALYSE ONCE, ANIMATE FROM THE GRID
The instinct is to treat this as a realtime audio visualiser. It isn't one, and that's an advantage. Analysis is a batch await analyze() over an asset; only loudness has a streaming API, delivering a value every 100 ms — which is 10 Hz, far too coarse to drive a 120 Hz shader directly.
So do what Final Cut does: analyse up front, keep the beat grid, and drive the shader from the known timestamps against the playhead. You get zero latency, perfect predictability, and the ability to anticipate a beat — start the sheen 80 ms early so it peaks on the downbeat, which is what makes it feel musical rather than reactive.
SKETCH · BEAT GRID → SHEEN ANGLE
SHAPE OF IT, NOT COMPILABLE
{{ code }}
{{ p.k }}
{{ p.t }}
{{ p.b }}
04 · THE BIGGER IDEA — TEMPO AND KEY AS CATALOGUE FIELDS
THE PART THAT ISN'T A SIDE QUEST
"124 BPM, A minor" is a search field, not an animation.
DJs and crate diggers are a meaningful slice of the vinyl audience, and the way they actually use a collection is to build sets: everything between 122 and 128 BPM, in a compatible key, that they haven't played in three months. No consumer catalogue app knows that about a physical record — the data simply doesn't exist in any release database with any reliability.
Run the analysis once, on whatever audio you can reach at add-time, and store beatsPerMinute and the KeySignature ranges as ordinary fields on the item. Every result is Codable, so the whole analysis serialises to JSON and sits next to the record forever. It costs nothing at render time and it works when nothing is playing.
Apple's own closing pitch lists "organise music catalogues by tempo or key" ahead of any visual use. When the framework authors name your product category first, that is worth more than a clever shader input.
{{ m.k }}
{{ m.t }}
{{ m.b }}
Worth saying plainly, though: this is a vinyl-and-CD-only feature in an app that also catalogues board games, comics and sneakers. It deepens one collection type at the cost of not generalising at all — which is a legitimate thing to do once, for the category you care most about, and a bad habit if it becomes the pattern.
05 · WHAT IT COSTS, AND WHAT TO CHECK FIRST
06 · WHAT I'D DO
RECOMMENDATION
{{ postureLine }}
And the budget note, since this is the second side quest in a row: a beat-locked sheen does not add a fourth effect to the whimsy budget. It upgrades placement 01 — the item-detail hero — from an ambient drift to a musical one. That's the only reason it clears the bar.
Source: the WWDC 2026 session transcript you attached (Music Understanding, Computational Music Team). Related:
Metal Shaders for the effect this would drive,
On-Device ML Ideas for the wider "Apple already ships it free" pattern this is another instance of. Anything about Apple Music playback and PCM access is my inference, not stated in the session — verify before planning around it.