Signal and Sensation

A Drum Has No Note

Tap a membrane anywhere and watch which of its modes you reached. Hit the centre and you can only reach three of sixteen.

Open fullscreen →

What it is

A circular drum. Tap anywhere on it.

The sound is modal synthesis, one decaying sinusoid per vibration mode, with the amplitudes decided entirely by where you tapped. The colours are the membrane’s actual displacement, summed over every mode still ringing. It re-strikes itself if you leave it alone.

The bars on the right are the sixteen lowest modes, labelled by how many diameters and how many rings stay still, with their frequency as a multiple of the lowest.

How it works

A membrane’s mode (m, n) vibrates at a frequency proportional to the nth zero of the mth Bessel function, and its shape is J_m(zero · r)·cos(mθ). Striking a point excites each mode in proportion to that shape’s value there, so a mode with a node where you hit it doesn’t get excited at all.

The zeros come out of bisection on a numerically integrated Bessel function, checked against the tables to five decimals. The ratios they give are the reason a drum is a drum:

mode 0,1 1,1 2,1 0,2 3,1 1,2
ratio 1 1.593 2.136 2.295 2.653 2.917

Not 1, 2, 3, 4, 5, 6. Fit the eight strongest modes to the nearest harmonic series, trying every assumption about which harmonic the lowest mode could be, and you’re left with a mean error of 49 cents. Half a semitone.

A string scores 0. Even the deliberately inharmonic mass-spring chain from day 41 scores 25. A drum is nearly twice as far from having a pitch as a thing built not to have one.

What surprised me

Where you hit it doesn’t just change the tone, it changes how many modes exist.

struck at modes reached, of 16
the centre 3
40% of the radius 15
80% of the radius 16

Every mode with m > 0 has a nodal diameter, and every nodal diameter passes through the centre. So a centre strike is physically incapable of exciting any of them. Not faintly, exactly zero. The only modes left in the lowest sixteen are the three radially symmetric ones.

That’s why a centre tap sounds hollow and almost pitched, and an off-centre tap sounds like a drum. The off-centre tap has five times as many partials in it.

The same mechanism runs the other way too. Each mode has its own nodal circles, so there are radii that silence specific overtones. The second radial mode has a node at 0.4356 of the radius, and striking exactly there removes it while leaving the fundamental at full strength. A drum is a filter you play by aiming.

The bug worth recording was in my Bessel zero finder. J_m(0) = 0 for every m ≥ 1, so the numerical integral near the origin is a tiny number whose error changes sign, and the scan read that as a zero at x ≈ 0. The consequence was an order-8 mode sorting below the fundamental and calling itself the lowest mode of the drum.

Every real first zero satisfies j_(m,1) > m, so starting the scan at m fixes it. A test asserting no zero exists below the order keeps it fixed.

Then I got the table wrong in the other direction. I asserted J₈’s first zero was 11.0864 and it’s 12.2251. 11.0864 is J₇’s. The orders in the standard table run one row ahead of where I reached for them, and only the code was right.

What I would do next

Load the membrane with air, which is what makes a timpani a tuned instrument rather than a thump. The coupling drags the (1,1), (2,1) and (3,1) modes into near-integer ratios with each other, and I want to watch the harmonic-fit number fall as I turn the loading up.