C.W.K.
Stream
Lesson 01 of 04 · published

Two Tiers of Analysis

~12 min · tier-a, tier-b, spectrum, guitopia

Level 0Cold Ash
0 XP0/33 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"Audio analysis isn't hard or easy. It's a ramp — and you build on the gentle end."

The Spectrum, Not the Monolith

The fatal mistake is treating 'analyze the audio' as one big undifferentiated problem of fixed difficulty. It isn't. It's a spectrum, and the two ends behave completely differently:

Tier A (automatic, mature)        Tier B (semi-automatic, rough)
--------------------------        ------------------------------
tempo / beat grid                 note-for-note solo transcription
key                               (every note of a lead, exactly)
chord progression
sections (verse / chorus)
stem separation (Demucs)

-> solved MIR; sits in the        -> even Capo does this semi-automatically;
   engine's heart                    Pippa proposes, human confirms; never
                                      a hard dependency

Tier A: Solved Enough to Build On

Tempo, key, chords, sections, and stem separation are mature music-information-retrieval. Capo is the living proof that audio → chords/key works well enough to ship. So Bonfire reuses mature open source (librosa, madmom, essentia, Demucs) for these and puts them in the engine's heart. They're not perfect — that's what Tier 5's human-in-the-loop lesson is about — but they're solid enough to be load-bearing.

Tier B: Real, but Never Load-Bearing

Note-for-note transcription — naming every pitch of a fast lead — is genuinely hard. Even Capo does it semi-automatically: you pick notes off a spectrogram. Bonfire's stance is that Tier B is allowed to exist as a Pippa-proposes / human-confirms helper, but the app's value must never depend on it. The day a core feature requires perfect Tier B output is the day the app becomes un-shippable.

The Lesson Guitopia Paid For

Bonfire's dead predecessor, Guitopia, conflated the tiers. It aimed its ambition at audio-sync and pitch-detection — Tier B work — and in six days shipped none of it. The difficulty it bet on was the difficulty that froze it. Bonfire starts from the opposite end: build everything valuable on Tier A, and let Tier B be a bonus that can fail without taking the app down.

Code

The analysis spectrum·text
Tier A (automatic, mature)        Tier B (semi-automatic, rough)
--------------------------        ------------------------------
tempo / beat grid                 note-for-note solo transcription
key                               (every note of a lead, exactly)
chord progression
sections (verse / chorus)
stem separation (Demucs)

-> load-bearing; engine's heart   -> optional; Pippa proposes, human
                                     confirms; never a hard dependency

# Guitopia bet the app on Tier B and shipped nothing in 6 days.

External links

Exercise

Take any feature you want to build that depends on 'understanding' some input (audio, images, text, sensor data). Split the understanding into a Tier A (mature, reliable) and a Tier B (cutting-edge, flaky). Now ask: does your headline feature stand on Tier A or Tier B? If it's leaning on Tier B, you've found your Guitopia risk.
Hint
Tier A is 'a library does this reliably today.' Tier B is 'a paper does this sometimes.' Headline features on Tier B feel ambitious and ship never; on Tier A they feel modest and actually ship.

Progress

Progress is local-only — sign in to sync across devices.
Spotted a bug or have feedback on this page?Report an Issue
💛 by Pippawarm

Comments 0

🔔 Reply notifications (sign in)
Sign inPlease sign in to comment.

No comments yet — be the first.