Consonance And Timbre
: Intro
: The Plomp-Levelt Model Of Consonance, From Helmholtz To Sethares
: Rational Consonance
: The Many Dimensions Of Timbre And The Consonances Of 12-EDO
: Designing Timbres To Match Consonant Scales
: Some Families Of Timbres
> Piecewise Linear Timbres
> Stretched Spectrum Timbres
> Equal-Temperament Timbres
> Timbres Of Metal Plates And Metal Bars
> Bohlen-Pierce Timbres
> Drum Timbres
: The Harmonic Entropy Model Of Consonance
: Chord Consonance
:: Intro
A psychoacoustic models of consonance is a mathematical model that describes which combinations of sounds, played together, people will find consonant. There are two important ones that we're going to look at.
The main one is the Plomp-Levelt model. It extends an earlier model due to Helmholtz, so we'll start with that. We'll also touch briefly on the Harmonic Entropy model of consonances created by Paul Erlich.
:: The Plomp-Levelt Model Of Consonance , From Helmholtz To Sethares
I haven't read original works by Hermann von Helmholtz, but most of his work was presented in one very well received and still highly praised book called "On the Sensations of Tone as a Physiological Basis for the Theory of Music", which was published in 1863. His model, I understand, starts conceptually with the observable fact that when two notes of similar frequency are played together, there can be a noticeable change in volume over time, called "beating", and this beating has a frequency given by the difference of the frequencies that are being played together. As the frequencies of the two tones get closer, the beating gets faster and starts being perceived instead as a kind of dissonant roughness, which then disappears as the frequencies get even closer. Helmholtz conjectured that dissonance and consonance observed at specific ratios of notes are due to this beating and roughness, and specifically that the overtones of complex tones can beat against each other to produce dissonance or line up to produce consonance. I've seen a graph due to Helmholtz that maps dissonance or consonance as a function of the ratio between the two tones, and I'm not sure how he calculated it, but it looks a lot like modern psychoacoustic dissonance curves that are computed in software, so well done to him, however he did it. It's definitely something into which I need to look.
In the 1960s, Reinier Plomp and Willem "Pim" Levelt published an extension to Helmholtz's model that used physiological facts about the ear, in particular the frequency response of the basilar membrane in the cochlea, to better numerically model how beating arises at different pairs of frequencies. Due to their psychoacoustic modelling, we now have so-called Plomp Levelt dissonance curves, which model dissonance between pairs of single frequency pure tones. Their curves just rise quickly and fall back down more gradually - one bump - because they just model dissonances between simple pure tones. However, you can use their curves to get a curve very similar to the one due to Helmholtz which is shown above, but now with more physiological grounding, by combining the Plomp-Levelt dissonance value between every pair of overtones among two complex tones separated by a given frequency ratio.
All of that was a little vague, I know; I haven't told you enough to draw any curves or predict any dissonances. For that, we're going to introduce one more name: William Sethares investigated the dissonance curves that arise between complex tones from inharmonic instruments, like bells and xylophones. He also provided some code that parameterizes all the Plomp-Levelt curves of different frequencies, so that it's like there's just one curve which is automatically translated or stretched or compressed in order to model the basilar membrane response simply at any pair of frequencies. This probably reduces the physiological accuracy of the model a little, but a) isn't not like this stuff is precise enough that there are actual meaningful numerical units of dissonance, and b) we're going to discover in sort order that the exact curve isn't all that important.
I translated Sethares's code to Python which you can find here: ...
:: Rational Consonance
Let's see what the model does and then we'll have some fun with it. For a harmonic instrument, the partials are called harmonics and they occur at integer multiples of the fundamental frequency. Let's model the dissonance curve of a instrument with 10 harmonics, when two notes that it plays are played against each other:
Since this is a dissonance curve, the low points are frequency ratios of high consonance (for our harmonic instrument). The dissonance curve function requires you to specify both the frequency and the amplitude for partials, and I chose to let the partials die off in amplitude like 1 / (1 + i), but other decay functions produce similar curves. If you use fewer harmonics, the curve has fewer bumps, and as you add on more harmonics, the old low points pretty much stay where they were, and new harmonics just contribute shallower bumps and dips.
Let's look at the region between 1/1 and 2/1 a little more closely:
For the labels on the X axis, I just used ratios that had small numerators, and small denominators, and small sums of numerator and denominator. Almost all of these ratios happen to correspond to dips, except 11/8 and 11/7, which makes perfect sense since we only used 10 harmonics of our instrument to calculate the dissonance curve.
I don't take the magnitude of the dips too seriously. When you listen to a justly tuned Sbm7, at 7/4, its not obviously more consonant than a just major third, tuned to 5/4, despite what the graph shows. However, the location of the dips, at just frequency ratios, I do take seriously: harmonic instruments sound good in concert when their notes are separated by just intervals, and this is why we compose in just intonation.
The model isn't doing much so far: if you've reached this chapter, then you were already sold on just intonation. The cool thing is that we can use the model to find consonances for any any other instrument spectrum that we might want. It will turn out that the consonances have a simple form and we don't actually need to calculate the whole curve to find them, but we're going to keep using the curve till we've figured that out together.
:: The Dimensions Of Timbre And The Consonances Of 12-EDO
The characteristic sound of an instrument, its timbre, is a function of lots of things. So far we've just looked at the placement of partials and assumed time-constant amplitudes, with a hyperbolic decay of amplitude between partials. This model is detailed enough that we can analyze harmony, but in general, the partials could have time-varying amplitude, perhaps swelling, sustaining, and decaying once, or even oscillating. Our time-constant amplitudes are effectively looking at the steady-state behavior of an instrument. We could also specify the initial phases of the partials; a large part of the shape of a waveform is determined by where the crests of partials line up constructively and where they interfere. One common model of an instrument assumes that all the frequencies are excited at first, and different partials decay faster the farther they are from the vibrational modes of the instrument - the partials. For some instruments, you might have repeated excitations, constantly injecting energy into frequencies that aren't vibrational modes. We could even change the placement of partials over time. There's a lot that goes into the timbre of an instrument, and we won't cover a tiny fraction of it, but looking at the placement placement of partials is easy and tells us a lot about harmony, so that's how we'll continue.
When we look at timbres together, we'll mostly look at ones that can be specified in terms of the fundamental frequency. Most instruments besides software synthesizers have a timbres that are different for different sounded pitches, because the sounds are influenced by the body of the instrument rather than just the primary oscillating element. For example, in the human vocal tract, the vocal folds of the larynx act as harmonic oscillators, but the timbral character we identify as a vowel is a modification made later down the line - the cavities of the throat and mouth, squeezed into different shapes, act as a set of resonant audio filters with their own resonsnat frequencies not tied to the frequency being produced by the vocal folds. In research on voices acoustics, vowels are often specify by three "formants", which are just the resonant frequencies of three audio filters (with strong damping determined by the material characteristics of the soft tissue in the vocal tract). There's a similar if not identical situation in e.g. how the resonant cavities in the body of a guitar or violin alter the sound that would be produced by just the strings.
Suppose you want to find a timbre that makes 12-EDO tuning sound more consonant. All of western civilization knows that the steps of 12-EDO are fairly consonant for harmonic instruments, with somewhat dodgy thirds, but what if we could do better by making a somewhat inharmonic instrument to play 12-EDO more consonantly? Consonance combines the timbre of the instrument and the displacement between tones sounded in concert, so we can optimize either one. The obvious thing to try is to mistune harmonics the same way that 12-EDO does and then see what dissonance curves arise. I'll use the same 1/(1 + i) decay model, but now the partials will be tuned like this:
[440 hz * 2^(round(12 * log2(harmonic)) / 12) for harmonic in range(1, 10 + 1)]
Here's the dissonance curve that we get:
The labels on the X-axis are now located at steps of 12-EDO, like "4\12" means 2^(4/12) times the fundamental frequency. It worked! Our timbre makes most of the 12-EDO steps consonant. There aren't really dips for 1\12 or 11\12, but 1\12 isn't particularly consonant even in 12-EDO, but the height of the graph at 11\12 is much lower than at 1\12, or even at the tuned tritone, X = 6\12, so it might not be a local minimum, but it's being ranked as somewhat consonant, as we'd expect. I think everything is coming along nicely.
I haven't proven it, and I don't know how to, but this suggests to me that the location of consonances, i.e. local minima in the dissonance curve, will be at ratios of the partials, even when the partials don't occur at integer multiples of the fundamental frequency.
To recap: just intonation works well for harmonic instruments, because their complex tones have reduced beating and roughness when they're separated by rational frequency ratios. Also higher harmonics are generally weaker, so we expect that that higher prime limit ratios will generally be less consonant. In addition to just intonation working well for harmonic instrument timbres, there will be non-just scales that work well for a given inharmonic timbre, and inharmonic timbres that work well for a given non-just scale.
:: Designing Timbres To Match Consonant Scales
Can we design non-just scales to go with inharmonic timbres? Easily: look at ratios of the partials, or roughly equivalently, look at local minima of the dissonance curves. Those are the tones you can use in your scales, melodies, and chords.
Can we design a timbre to go with a given non-just scale? I believe in us, but it will require some thought. Scale degrees will be found at ratios of partials, but you could have ten partials, and each scale degree will only be a ratio of two. How do you figure out the potentially irrational partials from a scale?
I'm not sure. I know that it could be a lot worse: when I first thought about constructing timbres to match non-just scales, I thought that finding the right tuning for the partials would be a complex optimization problem that required calculating the dissonance curve over and over with different parameters. Will Sethares and company did something like this to design their hyper-piano. But for finding a timbre to match a given scale, we just care about the consonances, which are ratios of partials, so we shouldn't need the full form of the dissonance curve.
Here's a mathematical description of the problem: we have a set of distinct real valued consonances N, which are >= 1, and also include 1/1. We want to find the smallest set M of real numbers >= 1 such that every number in N is a ratio of two elements in M.
If we pick consonant values N uniformly in some range, there's no guarantee that we can simplify the set, but if a scale N was generated from ratios of partials M, then we might have a chance.
I don't know how to find M, but here are some heuristics.
1) First, add into M all the elements from N.
2) If an element of M equals the ratio of two other elements in M, that can be thrown out.
3) If two elements of M have a common product with another two elements of M, then we can add the common product to the set and remove one element from each of the pairs.
These aren't very powerful heuristics. It might provide some insight to take logarithms and work with these things additively instead of multiplicatively.
Ah! I thought of some structure that we can leverage for inference. A scale might not exactly have an octave as a period, like Bohlen Pierce scales use 3/1 instead of 2/1, and stretched-octave timbres have slightly larger or smaller octaves - but if there is a period for the scale, that does us a world of good for identifying partials. The period should be our first partial, and other partials should be higher than it. Stacks of multiple periods may also be partials.
If we have a period, then heuristic 2 lets us throw out period complements from the scale. Here's a slight extension to heuristic 3 in light of periods: Try multiplying every element through by {1 period, 2, periods, 3 periods, ...}. Also try taking the reciprocal of every element and then multiplying through by {1p, 2p, 3p, ...}. If you generate an element more than once in those two procedures, that's probably a partial.
For some scales and instruments, it might be worth assuming a distribution of partials something like the harmonic series, i.e. uniformly distributed in multiplicative space. The closer the distribution of inharmonic partials is to being harmonic, the more likely it is that the familiar just consonances will have analogues among the inharmonic consonances. Like you might get pseudo-P4 and pseudo-P5 ascending in that order. Suppose we can assume a nearly uniform distribution of partials in multiplicative space, and you have identified a few partials higher than P, but there are still some remaining consonances from the original set N that are less than P. One thing you could do in this is case is to conjecture the existence of some partials based on the spacing of ones you already know, then see if their ratio approximately gives you one of your remaining consonances, and if so, then perhaps you do some regression to find more exact placements of those inferred partials whcih are not too far from a uniform distribution and which reproduce the consonance when you take their ratio.
Suppose we have a logarithmically equal temperament over a period P, so that all the consonances and partials have the form
P^(i / K)
for varying integers {i} and a fixed division {K}. Will our heuristics find partials for this system? If we find this structure in N, can we do something to speed up our inference of the partials?
...
:: Some Families of Timbres
Let's investigate lots of timbres. We'll look at
Piecewise linear timbres, namely the saw, triangle, square, trapezoid, sigmoid, and cycloid waves,
Bell-like stretched spectra, including the hyper-octave timbre,
Some EDO timbres, and and also equal temperament timbres with non-octave periods,
A timbre for a metal plate, which we'll see has partials at square roots of integers, and a timbre for a suspended metal bar that is free at both ends,
Bohlen Pierce timbres
Drum timbres, which I don't know much about, but supposedly they're given in terms of modified Bessel functions, and I'll tell you what I can find
Our dissonance curves have so far compared an instrument to itself, at a displacement. In this section, we'll also compare some different timbres against each other, to find, e. g., what ratios are consonant when you play a harmonic instrument against a bell.
:: Piecewise linear timbres:
There are piecewise linear waveforms that are very commonly used for software synthesizers: the square wave, the triangle wave, and the saw wave. We're going to look at these in some details, since timbre and consonance are so closely linked, and since these are mathematically simple timbres. These timbres can also be used as inputs into methods for synthesizing other timbres, e.g. you can start with a saw wave and apply band pass filters similar to get something more organic. They're useful timbres to know about.
Actually, we're going to consider a broader family of piecewise linear waveforms that have a common parameterization: a ramp up time, a high-hold time, a ramp down time, and a low-hold time. By looking at various combination of those we get the following waveforms
They are Square, Triangle, Saw, Sigmoid, Regatta, Cycloid, and Trapezoid. We could also generate plenty of asymmetric variations of these, if we were to use unequal parameters. I consider two waveforms equivalent if they're related by a horizontal and/or vertical flip, and it should be noted that these waveforms are considered to continue infintely and regularly in time. I think the time-domain construction of these waveform is pretty clear from the image above, but I'll still give a concise textual description. We'll model our waveforms by 4 shape parameters, [rise, hold high, fall, hold low], which can take values of 0 or 1,
The triangle wave is invariant under inversion and reversal, so it just has one description:
[1, 0, 1, 0]
It rises, it falls, and it doesn't hold flat at a high or lor low signal level.
The square wave also has only one description in this parameterization:
[0, 1, 0, 1]
It holds high and it holds low. The saw wave can be described by
[1, 0, 0, 0] or [0, 0, 1, 0].
It's all rise or it's all fall.
The sigmoid wave can be given by
[0, 1, 1, 1] or [1, 1, 0, 1].
In one version we skip the ramp up, and in one version we sip the ramp down.
The regatta wave has the most possible descriptions of the waveforms presented here:
[0, 0, 1, 1] or [0, 1, 1, 0] or [1, 0, 0, 1] or [1, 1, 0, 0]
High values for any holding parameter and an adjacent ramping parameter can specify the curve.
The cycloid wave has two possible descriptions:
[1, 0, 1, 1], or [1, 1, 1, 0]
And the trapezoid wave only has one:
[1, 1, 1, 1]
Hopefully the time-domain construction of these waveforms is now eminently obvious, but what is their description in the frequency-domain? how do we create them by additive synthesis of sine waves?
We need to specify for each of them the frequencies of the partials, the amplitudes of the partials, and the phases of the partials. Let's start with the frequencies.
The saw, sigmoid, and regatta waves are harmonic, with spectral peaks at [1, 2, 3, 4, 5, ...] times the fundamental frequency. They sound pretty identical, and that's interesting to me; whatever differences there are in the amplitude and phase of their partials have very little effect the sound despite changing the waveform. We'll have to investigate more generally whether different changes to amplitude and phase can make a large difference to the audible sound. At the very least, this lends some validity to investigating harmony just in terms of the spectral peaks. The regatta waveform is the only one that's highly imbalanced from top to bottom: this asymmetry is known as a DC offset in signal processing, and removing it can make other audio processing tasks easier, such as getting a desired amplification without clipping.
The square, triangle, and trapezoid waves are only made of odd harmonics, [1, 3, 5, 7, ...]. While most wind and brass instruments are harmonic, the clarinet has these odd-only harmonics. More generally, an air column which is closed at closed at both ends or open at both ends has a harmonic series for its partials, whereas an air column which is closed on only one end has odd harmonics. A trombone would have odd harmonics like a clarinet, but the wide bell and mouth piece modify things significantly. Trapezoid and triangle waves happen to sound pretty identical; so far the new waveforms I've introduced haven't given us any new sounds. The square wave sounds hugely different from the triangle and trapezoid though, so this tells us that phase and amplitude sometimes matter audibly. We'll have to figure out when.
The cycloid wave only has harmonics that aren't divisible by 3: [1, 2, 4, 5, 7, 8, 10, 11, 13, 14, 16, 17, ...]. This felt a little arbitrary to me when I first saw it, but the previous family of timbres had harmonics that weren't divisible by 2, so it's not that irregular. For another comparison, we could combine a triangle wave with another triangle wave an octave up to get a waveform with harmonics not divisible by 4.
: Phases and amplitudes of piecewise linear waveforms
...
::> Stretched Spectrum Timbres
In 1970, Frank Slaymaker published "Chords from Tones Having Stretched Partials", in which he documented his investigations of timbres that are stretched or compressed relative to a harmonic series. His stretching happens in the exponent. At the low end, he considered an octave that was narrowed to
(2/1)^(log(3)/log(4)) ~ 1.73205
Other frequency ratios are altered by the same exponent. This low-detuning of the octave interested him because it makes the fourth partial, instead of being tuned to 4 times the fundamental, narrowed to be tuned to
(4/1)^(log(3)/log(4)) = 3/1
three times the fundamental. He investigated other stretching parameters also, with his highest detuning of the octave at
(2/1)^(log(4)/log(3)) ~ 2.39804
which instead causes the 3rd partial to be widened to
(3/1)^(log(4)/log(3)) = 4
four times the fundamental. I think it's natural to scale just harmonic timbres and just intonation scales this way, but Slaymaker himself worked with stretched 12-TET scales.
I've also seen slaymaker's math expressed in terms of the value of the tuned octave. For example, if you want an octave that is tuned to 2.1f, instead of stretching every just ratio by an exponent
S = log_2(2.1)
we could think of all ratios P being stretched like
2.1^log_2(P)
This doesn't change any of the stretched values, since
P^log_2(2.1) = 2.1^log_2(P)
but you might see it written this way in other sources. What do these timbres sound like and what scales can we find that would allow a harmonic timbre to play consonantly with a Slaymaker timbre?
...
:> Equal-Temperament Timbres
...
:> Timbres Of Metal Plates And Metal Bars
I've heard that an ideal metal plate (presumably one that is square with uniform thickness) has partials at the square roots of successive integers. I think this should depend on how the plate is clamped or suspended, and I'll try to figure out where this model comes from and add more details. Regardless of the accuracy of this model for metal plates, this is an interesting sort of inharmonicity, because it still includes all the integer harmonics (e.g. harmonics 1, 2, 3, ... make appearances as sqrt(1), sqrt(4), sqrt(9), ...), but the integer partials will die off a lot faster than they do for harmonic instruments. I expect this will also have a much dirtier sound than a harmonic instrument, since we get e.g. 16 partials within the first two octaves instead of 4. I think it's illustrative to consider the consonances get when a harmonic instrument plays against an instrument with an inharmonic timbre.
I get two different curves whether I 1) sweep a harmonic spectrum past the square root spectrum or 2) sweep a square root spectrum past a harmonic spectrum. I didn't expect there to be much difference. I can't help but wonder if there's a bug in my code, but I haven't found it.
The two curves have different numbers of local minima. Their minima coincide where
i / sqrt(j) = sqrt(j) / k
for small integers {i, j, k}. Between 1/1 and 2/1 we could write these as:
[1, sqrt(6)/2, sqrt(2)/1, sqrt(9)/2, sqrt(10)/2, sqrt(3)/1, 2]
or equivalently as
[1, 3/sqrt(6), 2/sqrt(2), 3/sqrt(4), 5/sqrt(10), 3/sqrt(3), 2]
So if you want to write music with one scale that can be played by an ensemble of both harmonic instruments and instruments with a square root timbre, a scale like this might be the way to go. In fuller generality, two two dissonance curves have plenty of mismatched minima, and maybe we could treat the two curves as giving us distinct scales for the two instruments timbres. I'm not sure if that would actually sound good, but it's a matter for investigation. Or maybe you could compose justly intoned melodies for the harmonic timbre and square-root-intoned melodies for the square-root timbre and try to make sure that the harmonies between them always come from a consonant set like the one above.
: The Unclamped Metal Bar
Next, consider a long metal bar vibrating and not clamped anywhere to prevent motion. Perhaps it is gently suspended on top of some legs. If it is much longer than it is wide, we can hope to ignore any side-to-side bending and rotation around its length when describing its vibrational modes. George Gibson of the University of Connecticut gives the frequencies of the partials for the vibrating metal bar as:
[1, 2.76, 5.40, 8.93]
It's my understanding that the first partial is closer to an octave for less-stiff material, and that the value of 2.76 is something like the upper limit of stiffness. A metal bar resonates under its own stiffness whereas a flexible string resonates in tension. We can imagine instruments along this continuum of stiffness and tension - materials that are somewhat stiff and require some tensioning. Gibson doesn't give a derivation of this series, but we're going to find one, and hopefully we'll then be able to generalize it to different stiffnesses, or at least find the values for more partials. The series might be derivable from Euler–Bernoulli beam theory?
...
In "Relating Tuning and Timbre", William Sethares gives these and higher frequencies for an ideal beam which is free to vibrate at both ends:
[f, 2.758f, 5.406f, 8.936f, 13.35f, 18.645f, 24.82f]
and attributes the numbers to Fletcher and Rossing's, "The Physics of Musical Instruments" (1991). I don't know how these numbers are derived, but if I fit a quadratic curve to the first three data points,
y = 0.445x^2 + 0.423x + 0.132
then that model continues to agree very closely with the next four.
Without even plotting the dissonance curve for this instrument, we can guess that a scale made from ratios of its partials will sound decent:
1.0 _ 1 / 1
1.3311879860552427 _ 24.82 / 18.645
1.3966292134831462 _ 18.645 / 13.35
1.4939570277529095 _ 13.35 / 8.936
1.652978172401036 _ 8.936 / 5.406
1.8591760299625468 _ 24.82 / 13.35
1.9601160261058737 _ 5.406 / 2.758
2.086504028648165 _ 18.645 / 8.936
2.469478357380688 _ 13.35 / 5.406
2.758 _ 2.758 / 1
2.7775290957923007 _ 24.82 / 8.936
3.2400290065264685 _ 8.936 / 2.758
3.4489456159822423 _ 18.645 / 5.406
But let's plot the dissonance curve anyway for comparison.
...
If we sweep a harmonic spectrum against the metal bar timbre, instead of sweeping the bar against itself, the pairwise contribution of dissonances between partials in the two sounds gives us this dissonance curve:
...
Gibson also gives a description of the spectrum for a U-shaped metal bar, i.e. a tuning fork:
[1, 5.3]
Not much data, but it's pretty intriguing. Tuning forks have a very pure sounding tone because they don't have any spectral peaks that are <= 5 times the fundamental frequency.
...
Finally, Gibson describes vibrations on a rectangular section of a thin 2D plane, which I'll call a sheet or membrane. I think this is supposed to be a flexible surface in tension, not a stiff surface. If both the length and width support independent vibrational modes, these frequencies will combine like their Euclidean norm to give the frequency of the combination mode. Let me say that again differently; on a vibrating 2D membrane, there are component vibrational modes that are aligned with the length and width of the membrane, and general vibrational modes are made from combinations of these, and we can even calculate the frequency of the combination mode from the component modes. If we have simultaneous vibrational modes at frequencies {n} and {m} along orthogonal dimensions, then we get a combination mode with frequency
f_(n, m) = sqrt(n^2 + m^2)
If the sheet is square, then the partials associated with the length and width of the rectangle will have the same fundamental frequency, but that's not the case for general rectangles. Let's suppose a square sheet and see what frequencies we get for pairs different pairs of values {n, m}. I'm not sure if {n} and {m} should include zero. I think so, and if so then the partials are the square roots of
[0, 1, 2, 4, 5, 8, 9, 10, 13, 16, 17, 18, 20, 25, 26, 29, 32, 34, 36, 37, 40, ...]
Those are numbers that are the sum of two squares. If we only allow {m} and {n} to be greater than or equal to one, then the partials are the square roots of
[2, 5, 8, 10, 13, 17, 18, 20, 25, 26, 29, 32, 34, 37, 40, ...]
Those are numbers that are the sum of 2 non-zero squares. The first sequence has all the squares, like [1, 4, 9, 16, 25, ...], so after taking the square root, we have all of the usual integer harmonics. The latter sequence only has a few squares: [25, 100, 169, 225, 289, 400, 625, ...]. These are square numbers which are sums of 2 distinct nonzero squares. But you should be able to have vibrations on one axis and not another, so I'm pretty sure that's not relevant.
There's a neat visualization of modes on a vibrating sheet in tension: when you have standing waves with fixed ends, you also get line with no vibration where the sinusoids cross the axis, so to speak. If you have a standing wave along the length of a membrane with a frequency twice that of the fundamental in that dimension, that wave doesn't contribute any motion to the very middle line, and a wave with three times the fundamental frequency is associated with two equally space nodal lines on the interior of the sheet that don't move, et cetera. If you draw a line across the sheet dividing the length, then the vibrations in each segment will be in opposite directions, one above the plane and one below. In general, you can visualize the combination of vibrational modes, one for each axis, by drawing a gid of lines that don't move, and each alternating segment will move contrary to its perpendicular neighbors.
On his page, Rod Nave of Georgia State University gives his own frequencies for the combination modes of a rectangular membrane whose length is 1.41 times its width. If we count modes (a, b) such that {a} corresponds to the number of nodal divisions along the length and {b} corresponds to the number of nodal divisions of the sheet along its width, then we Rod gives frequencies as:
(0, 0) -> f_1
(1, 0) -> 1.41 * f_1
(0, 1) -> 1.73 * f_1
(1, 1) -> 2.00 * f_1
(2, 1) -> 2.38 * f_1
(1, 2) -> 2.71 * f_1
(2, 2) -> 3.00 * f_1
(3, 2) -> 3.37 * f_1
He says we can find details in John Backus's 1977 "The Acoustical Foundations Of Music". He also comments that he's never heard a rectangular drum. I think we can do a little more to make these numbers legible. Please hold.
The 1.73 figure for mode (0, 1) appears to be
sqrt(1^2 + 1.41^2) = 1.72861
And none of the numbers make any sense.
...
...
On his university page, Rod Nave of Georgia State University gives formulas for the fundamentals and higher partials of thin bars that are clamped at one end or free at both ends.
For a thin bar clamped at one end, the fundamental frequency is given by
f_1 = 0.162 * (a/L^2) * sqrt(Y/d)
where
a = bar thickness
L = bar length
Y = Young's modulus of elasticity for the material
d = density of material
But we aren't told the units for those. If we assume the thickness and length are in meters, and Young's modulus is in {Newtons per meter^2}, and the density is in {kilograms / meters^3}, the units don't cancel out to be dimensionless, but maybe the scalar constant is supposed to have a dimension. I guess it doesn't matter much for investigations of harmony.
Higher partials are given in terms of the fundamental:
f_n = 2.81 * (n - 1/2)^2 * f_1
Using this formula, for {n} ranging over [2, 3, 4, 5], we get partials that are
[6.3225, 17.5625, 34.4225, 56.9025]
times the fundamental frequency, although the page lists slightly different partial frequency ratios:
[6.27, 17.55, 34.39]
If we assume he used a more precise scalar constant of 2.808 instead of 2.81, then the calculated and listed ~17x and ~34x partials match, but the first listed partial frequency ratios still doesn't match, which would require a scalar constant more like 2.787. Pretty weird.
For a bar that is free at both ends, the fundamental of the free bar is given by Nave as:
f_1 = 1.028 * (a/L^2) * sqrt(Y/d)
and the higher partials are given by
f_n = 0.441 * (n + 1/2)^2 * f_1
Using this formula, for {n} ranging over [2, 3, 4, 5, 6], we get partial frequency ratios that are
[2.75625, 5.40225, 8.93025, 13.34025, 18.63225]
And here at least the page lists the same partial frequency ratios as we derive from the formula:
[2.76, 5.40, 8.93]
If we ignore the scalar constants, the two formulas for frequency ratios of partials actually produce the same thing.
[2.25, 6.25, 12.25, 20.25, 30.25]
since e.g. (2 + 1/2) equals (3 - 1/2), although we skip the 2.25x term for the clamped bar.
In Sethares's "Tuning, Timbre, Spectrum, Scale", he gives the frequencies of partials for an ideal metal bar like a glockenspiel as
[f, 2.76f, 5.4f, 8.93f]
and compares these to a measured partials from a single instrument:
[f, 2.68f, 5.11f, 8.11f]
....
:> Bohlen-Pierce Timbres
There are two Bohlen Pierce scales: one is a 7-limit just scale with no even harmonics and one is an equal temperament version of that which sounds almost identical due to the shocking accuracy of 13 equal division of the decade at modelling prime harmonics 3, 5, and 7. Timbres that don't use even harmonics, like clarinets and triangle waves, are natural candidates for playing Bohlen-Pierce music. If we wanted to be really sassy, we could also ignore harmonics that aren't 7-limit, e.g.
[1, 3, 5, 7, 9, 15, 21, 25]
But given that higher harmonics are progressively quieter, I don't think this would make much of a difference to the tone of the instruments, and even if it did, we can still play 5-limit just intonation with harmonic instruments, so why not play Bohlen-Pierce music on instruments that have harmonics at [11, 13, 17, 19, 23, ...]? It's fine. All the same, let's sweep a harmonic timbre against a Bohlen-Pierce timbre and see the consonant minima in the combined dissonance curve:
...
:> Drum Timbres
We're going to look at a mathematical model of an ideal drum with a circular head and uniform density.
We talked a little bit about vibrations on a 2D rectangle: you get component vibrational modes in both directions, and combination modes are counted as combinations of the components. On a circular membrane, we don't count the component vibrational modes as being aligned to the length and width of the membrane; instead we have modes that separate the membrane into sectors, like pie slices, and modes that separate the membrane into concentric rings. The second set of modes is symmetric around the axis, and you'll sometimes see analyses of drums restricted to the simpler axis-symmetric case that doesn't have any pie slices, but we're going to cover it all.
Just like before, the lines of division show nodes of zero motion, and alternating segments move in alternating directions. Mode (1, 2) has {one} line dividing the pie in half, and {two} rings, which form a center core and an exterior ring. Mode (3, 1) has {three} lines cutting the pie into 6 sectors and the second coordinate describes the bulk motion up and down, with just {one} concentric region.
The frequencies ratios of the combination modes have a pretty simple form, but we have to talk briefly about Bessel functions to explain it. Bessel functions are curves that were basically invented to describe membrane vibrations, and they look a lot like sine waves, but instead of repeating unchanged, they decay in strength while oscillating. Bessel function oscillate, and in oscillating they cross the x-axis over and over. Unlike sine waves, the spots where they cross the x-axis, the zeroes of the function, don't happen with a regular period.
That's the qualitative overview of Bessel functions. We'll look at their specific form in a second. It's a little complicated. But regardless of the complication of how you would calculate the values of a Bessel function or the location of its zeroes, you should know that the partials of a drum are just given by zeroes of Bessel functions. That part is very simple. If you know the zeroes, you've got the partials. And you can just look them up in tables. Even if the math of Bessel functions looks intimidating to you, it doesn't really matter; you just use the zeroes, which people tabulate.
A Bessel function has a parameter {a} called its order. There are Bessel functions of many kinds, but we only need to look at Bessel functions of the first kind. The Bessel function of order {a} can be can be defined with an infinite sum:
J_a(x) = Sum m=0 to infinity of ((-1)^m / m! * Gamma(m + a + 1)) * (x/2)^(2m + a)
or by this integral when we restrict ourselves to integer order {a}:
J_a(x) = 1/pi * integral [0, infinity] cos(a * t - x * sin(t)) dt
Myself, I just use the besselj function from the SymPy library. I'm pretty sure SymPy should be able to solve for the zeroes, but I couldn't figure it out after a few minutes, so I just wrote some gradient descent code to find them.
Here are the first few zeroes of the Bessel function (of the first kind) of order 0:
[2.404825557695772768621632, 5.520078110286310649596605, 8.653727912911012216954199, 11.79153443901428161374305, 14.93091770848778594776259, 18.07106396791092254314788]
The first number, 2.405...., is the first zero associated with order 0. We associate it with mode (0, 1), which has a single concentric region going up and down, but no axis-asymmetric sectors. This is also the smallest zero positive zero of the Bessel functions, so we treat it kind of like a fundamental for the drum, in that other partials are usually specified in reference to this frequency. We'll represent all the frequency ratios of all the drum partials partials are Bessel function zeroes divided by this fundamental zero, the first zero of J_0(x).
When we divide through by 2.405..., these are the scaled zeroes of order 0:
[1.0, 2.2954172674277, 3.59848467395812, 4.90328057321237, 6.20873213057255, 7.51450096248397]
And those are the frequency ratios for vibrational modes that have indexes
(0, 1) (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), ....
Easy. The zeroes of order 1, scaled by 2.405 are:
[1.59334050569511, 2.91729545511722, 4.23043912790524, 5.54039850985307, 6.84899160280851, 8.1568737689496]
Technically there's also a zero at x=0 for all orders >=1, but it's conventional to ignore those. Anyway, these scaled zeroes of order 1 are associated with vibrational modes
(1, 1), (1, 2), (1, 3), ...
And so on. In general, the frequency of mode (m, n) is the {n}th zero of the Bessel function of order {m}, divided by the first zero of J_0(x) as always. Let's look at the frequency ratios for all the vibrational modes that are less than or equal to 5 times the fundamental and have coordinates less than 6.
...
I have no idea what the magnitudes or phases of the partials are like. But that's fine. We can still investigate the harmony. Is there any scale that sounds good with a drum? In addition to not being harmonic, these partials are pretty densely packed.
...
I said at the start of this section that the head of our ideal drum had uniform density. If we get rid of that assumption, the frequency ratios of partials stop falling exactly at zeroes of bessel functions of the first kind of integer order. Instead we'd have to solve some differential equations. Fortunately, it takes a lot of variation from uniform density to get a significantly different tone, so the Bessel function model is pretty good, regardless of density variations. Unfortunately, there are a hundred other facts influencing that timbre of a drum and the Bessel function model doesn't stand up to all of them as well. And we know this intuitively, because a timpani sounds different from a conga, which both sound different from a bodhran; this one mathematical model can't produce all the drum sounds, unless perhaps some combination of magnitude and phase information, along with formant-like acoustical filters could give us the lion's share of the variation in heard drum sounds, but I doubt it. If you strike a timpani in different radii, or strike in once spot and dampen another spot with light pressure from your hand, you can preferentially excite different vibrational modes. I hear that the usual spot where timpani players strike, which dampens the (0, 1) mode and strengthens the (1, 1) mode, would mathematically produce strong partials separated by a factor about 4/3 (which would be fairly consonant), but due to various couplings and non-linearities of the instrument, the strong partials are actually separated by a ratio that's close to the even more harmonic 3/2. This is just to say that the intricacies of the construction of drums can have a huge impact on the frequencies of partials, changing them by at least a factor of 9/8.
:: The Harmonic Entropy Model of Consonance
:: Chord Consonance