Skip to content

Carillon bell inventory

ambiscape carillon answers a musical question a swinging-bell rhythm analysis cannot: which bells did a carillon play? A carillon is a tuned, chromatic set of cast bells played from a keyboard, so the object of interest is the set of distinct strike notes — the instrument's range in use, its tuning, and the pitch-class centre of the music.

ambiscape carillon <session-folder> --t0 60 --dur 3600   # needs the [music] extra

Writes carillon.json (detected bells with note names, frequencies and cents, range, pitch-class profile, strike count) and carillon.png (the bell-salience inventory with note labels, over a pitch-class profile).

Bell-salience inventory: template-matched strike notes with their note labels, above the folded 12-bin pitch-class profile of the recital.

Why naive pitch tracking fails

A struck bell is inharmonic. Its principal partials sit at fixed ratios to the strike note (the prime):

partial ratio interval
hum 1/2 octave below
prime 1 the note
tierce 6/5 minor third above
quint 3/2 fifth above
nominal 2 octave above

The loud tierce and nominal make a naive pitch tracker report notes a minor third or an octave too high. carillon instead does bell-template matching: for every candidate strike note it sums the energy at all five partial positions, so a true strike note — which has energy at all of them — outscores any single partial. Accumulated over the onset frames of a whole recital, the peaks of that salience are the bells that were played.

The minor-third tierce is the bell fingerprint: an octave-down "hum ghost" or a tierce/quint ghost of a real bell lacks its own tierce, so a genuine-tierce gate removes them cleanly (validated on synthetic bells in the test suite).

Caveats

  • Distant / soft / masked bells are missed. Salience falls toward the noise floor in the treble; a bell struck rarely, or buried under the chord above it, may not clear the floor. The inventory is a lower bound on the instrument.
  • Tuning cents are relative to A4 = 440 equal temperament. A consistent offset (e.g. a historic carillon tuned flat, or in meantone) shows as a systematic cents deviation across the detected bells.
  • Runs on the W channel resampled to 22.05 kHz, in chunks, so an hour-long recital is fine.