The Sound of Bells

Home Page Next Previous Up

Simulation of bell sounds

There are two objectives in attempting to simulate bell sounds; to prove through successful simulation that all the factors determining the sound of a bell have been understood; and to allow 'thought experiments' in bell tuning without the need for recourse to a tuning machine. I originally posted details of a simulation developed for a presentation to the London branch of the Institute of Acoustics in December 2001. This simulation, of a Mears bell of 1859, had certain deficiencies but details are still online. I have now developed a better simulation of another Mears bell dating from 1904 which is described below. This simulation (and the previous one) can be used as the basis for experiments. Several examples are provided further down the page. The partials file used in the simulation can be downloaded from there.

How wavanal simulates bell sounds

Wavanal provides facilities to simulate bell sounds, and was used to create a number of the sound files on this website. The sounds are synthesised from a set of partials, each with an amplitude envelope. The wavanal documentation explains how the amplitude envelope of partials is modelled in wavanal. In brief, each partial has five parameters: its frequency, the initial or splash amplitude, the maximum tail amplitude, the time at which the tail amplitude reaches its maximum, and the rate at which the tail amplitude decays from this maximum. For simplicity, a single parameter sets the splash decay for all partials. The diagram below shows the effect of these parameters on the amplitude envelope of the partial:

partial amplitude envelope

Setting the correct values for the various parameters requires a certain amount of work. I have now developed an approach which gives satisfactory results. The latest simulation is the best I have yet produced.

Developing a simulation

Both the simulation I developed for the IOA presentation, and the latest, (of the second at Lyminge in Kent) are of non-true-harmonic bells. This is a deliberate choice, as I have found it more difficult to simulate old-style bells. (In a true-harmonic bell, a certain amount of confusion as to the octave of the sounds is permissible). The various parameters for each partial were initially estimated from a graph of the partial envelopes produced by wavanal. The values were repeatedly refined by creating a bell waveform, using wavanal to find the partial envelopes, and comparing with the original bell waveform. It took 11 iterations to produce the results presented here.

Not every partial present in the original recording is present in the simulation. Of course, all the loudest are there. I also made special efforts to include all the higher partials which contribute to generation of the strike note. In the previous simulation, I experienced problems because I discovered that the recorder had overloaded during the initial splash of the bell's sound. I chose this recording of Lyminge second to simulate because it was a good quality recording of an old-style bell with hardly any initial overload.

The basis of the simulation is the setting of the parameters for all the significant partials so that the envelope of the simulated partial's intensity over time matches as closely as possible that in the original recording. I plotted the original and the simulated envelopes against one another and adjusted the parameters for the best fit. The example below is the nominal of the Lyminge bell - 'org' is this partial in the original recording, 'sim' is the simulated version:

partial amplitudes compared

One of the problems I have experienced in simulating bell sounds is that they sound thin and computer generated. (My recording of the bell at La Vinzelle, which was taken with a very gentle clapper blow indeed, also has this 'computer generated' sound even though it is a real bell, which might give some clues as to the cause.) Based on experiments with simulations, I now believe that four factors affect this:

The first point is obvious. The second was arrived at heuristically, and is presumably due to the difficulty in estimating amplitude via fourier transform over very short time intervals. The third - the presence of doublets - is of some interest. No bell is devoid of doublets, and the addition of doublets to a simulation seems to increase the richness or plumminess of the sound. The last - intensity and distortion - was a chance discovery. The recording of the Lyminge bell showed a slight degree of overload lasting for the first 400ms. The simulation, despite the strengthing of the high partials and the addition of doublets, did not have the same initial impact as the recording. When I increased its amplitude by 140% with a waveform editor, to gave the same duration of initial overload, the 'impact' of the sound was much closer to that of the recording.

This addition of distortion might not seem to have a scientific basis. However, some work done by Steve Ivin recently on simulation of bell sounds suggests that there is a significant noise component in the splash of a bell. Adding overload to the splash is a crude way of simulating this.

Here are four sound files showing the various stages of the simulation. The three simulated sounds are pretty similar through cheap PC speakers but sound rather different when played via a hi-fi. I have compressed them as mp3 files to make them smaller, and they may have lost something compared with the originals:

The final effect is slightly too doubletted in the tail, I think due to the fact that the two halves of the doublets should decay at different rates. The final simulation, though still not perfect, provides a very good basis for further experiments.

Experiments with the simulation

Here is the partials file used to create the simulation: lym2t11.par. Right-click the link to download it to your hard drive. This file can be loaded into wavanal using the 'read partials' button, and the simulated sound created using the 'create waveform' button, accepting the default values for the parameters.

The frequencies and amplitudes of the partials can be edited to create the effect of different tuning styles and other effects in the bell. Here are some examples:

Elsewhere on this site I go into some detail into the source of the 'secondary strike' heard in big bells. As further confirmation of the cause of this effect, I edited the basic simulation file by dividing each frequency by 3.2, which is equivalent to dropping the pitch of the bell by an octave and a minor sixth. In the real world this would increase its weight by several tonnes!. In the resulting simulation, the secondary strike at roughly 250 Hz can be heard clearly above the strike derived from the nominal at 204 Hz.

There are many other experiments possible. If you are interested, I suggest you download the partials file and try for yourself.


Last updated January 27, 2002. Site created by Bill Hibbert, Great Bookham, Surrey