All posts by Rich

Da man... really...

Drilling the Holes

The last lengthily post described the method and results for the rough tuning of our 44 bars and described a few challenges that we encountered along the way. Here we are going to describe the process of determining the suspension hole locations and the actual drilling.

To simplify construction of the xylophone, it would be best to have the cord that suspends the bars follow a straight line; this allows straight support rails and straightforward placement of the suspension posts. Also, all of the commercial instruments that we inspected were built with straight suspension cords.

Having measured all of the node locations using the salt method, we were able to assess how linear the node locations were and how much they would deviate from a straight line. The next plot shows these results.

Hole locations with linear trend lines
Hole locations with linear trend lines

The symbols are the measured node locations from the front and rear ends of each bar (we define “front” to be the bar ends that face the player). There is clearly a gentle deviation from linear, but it is modest, so I chose to ignore it. Doing otherwise would force me to mount the suspension posts along a curve, which would obviously complicate construction.

Of course, the holes must be drilled at an angle relative to the bars. To figure out the hole angles, I wrote a little code to plot the locations (as if you were looking down on the instrument). I left 1/4 inch spacing between the bars, which might be a little tight for mounting posts, but I can space them a bit more later if needed (this, of course, affects the angle slightly, but the change is negligible). The following figure shows the output of this code.

Bar and hole locations
Bar and hole locations

There is a lot going in this figure, so let me explain. The plot basically shows the location of the bars’ ends and posts in physical space. The blue solid lines show the locations of the natural bar ends. The red lines give the same info, but for the sharp bars (also called the accidentals). As you can see, the front edge of the sharp bars overlaps the back end of the natural bars. This is allowed, as the rear bars are elevated. In general, it is desirable to have the accidental bars as far forward as possible to minimize the reach needed by the player. The asterisks show the measured node locations for each bar, and the dashed line is the best linear fit through the node locations. If you look carefully, you will note that the solid lines (the bar end locations) are a bit wiggly. This is because I shifted each bar for and aft (actually Matlab did it) to split the difference between the best-fit line and the node locations. I did this to minimize the distance between the linear fit and the true node locations. Aesthetically, this is somewhat undesirable (i.e., the bars ends are not perfectly lined up,) but results in more bar sustain, since the damping due to the mounting string is minimized.

The hole angles that I computed from Matlab were

Natural front hole angle (deg): 10.4
Natural back hole angle (deg): 2.3
Sharp front hole angle (deg): -2.2
Sharp back hole angle (deg): -10.5

Jack and I started marking all of the computed node offsets on each bar, but this got pretty tedious. In the end, we laid them out carefully on a piece of craft paper that had markings for the horizontal locations and then empirically adjusted the bars to get the best fit to a straight line. Here are a bunch of photos showing the layout and alignment to the penciled node locations:

The yellow thread was stretched between two posts to establish a perfectly straight line. As noted above, we visually scooted each bar to try to minimize the distance between the yellow thread and the penciled node marks. When we got them sufficiently aligned, we laid down a 4 foot straightedge aligned with the thread and marked the compromise hole locations on each bar.

Finally, at the top of the page is a picture of the drilling operation. We faced a 90 degree cast iron angle block with a piece of 3/4 inch melamine that had lines for the 2.2 deg and 10.5 deg marks drawn on it. We clamped on a stop block aligned with the marks to keep the bar from sliding down the melamine as the holes were drilled. For the 10.5 degree holes, we used a center drill to start the holes to avoid bit wander and then finished the holes with a 3/16 inch drill bit. Here is a photo of all of the bars with the drilled holes:

All bars with drilled holes
All bars with drilled holes

The red lines near the holes of each bar correspond to the computed node locations. The agreement is between these computed locations and the drilled hole locations is generally quite good.

In the next post, we will move forward with the fine tuning after which we will have almost completely finished bars!

Rough Tuning 44 Bars

In the last post, Jack and I turned all of our blanks into shaped bars by cutting and sanding a bit proud of the computer-generated profile line. Now we had to “rough tune” them in preparation for drilling the suspension holes. I had previously noted that drilling the holes had almost no effect on the frequencies for our maple test bar. However, I did a quick test on a much shorter bar and found a significant “flattening” of the fundamental mode. We decided to rough tune each of the bars to about 50 cents sharp to pre-compensate for the hole drilling.

Temperature and Humidity

In our correspondence, Dr Entwistle and I speculated about the affect of temperature and moister content on the sonic properties of the bars. Rodney suggested that perhaps friction heating resulting from the drum sander might affect the spectral measurement. This was a good point, so I decided to do a quick temperature sensitivity experiment.

First, I took one of my prismatic Rosewood bars and measured the spectral characteristics at room temperature to establish a baseline. The fundamental was at 1868.0 Hz at a thermal equilibrium temperature  of 18.1 C. I let it soak in the fridge overnight, and measured the cold temperature at 1.0 C. I then removed the bar from the fridge and quickly measured the fundamental to be 1884.8 Hz. I was surprised that the frequency didn’t change more. This is only about a 0.9% change (15 cents) for a 17 deg decrease or about 1 cent/deg. This result was good news, because it suggested that I did not have to worry too much about bar heating during the tuning process.

Moisture content was a different story. The process of developing the tuning process, and the mechanics of tuning 44 bars took months. I purchased the Rosewood in January of 2015, and finished the tuning in October – about 10 months. During this period, I noticed a consistent pattern; whenever I left weeks or months between spectral measurements, I would notice a significant sharpening of the bar frequencies. I suspected that this was due to wood dry-out over time. You may recall me noting that the vendor who provided the wood stated that he had recently received the shipment of Honduras Rosewood – it had not been in Albuquerque long prior to my purchase. I can only speculate where the wood came from, but it is likely that it was from a climate that was more humid than the arid desert of Albuquerque. New Mexico has a typical relative humidity that is typically 10 or 20%, so we are more dry than just about anywhere.

When I first got my Rosewood in January, I measured the density of a couple of prismatic test bars. To establish the density, I weighed the bars and accurately measured the dimensions. This yielded the following densities.

January 2015
rho1 = 1081.7 kg/m^3
rho2 = 1082.1 kg/m^3

Just today I re-weighed the bars and re-calculated the densities as

February 2016
rho1 = 1042.4 kg/m^3
rho2 = 1041.9 kg/m^3

This is about a 4% decrease in density over 13 months. Wow! This will certainly have an affect on the bar frequencies.

I guess the lesson is that one should properly season the wood to their local climate prior to tuning these bars. (Anectodally, Dr Entwistle suggested letting the bars acclimate for a year or so prior to shaping them, but I was just too eager to get to cutting!) In any case, I lucked out in that the bars got sharper, rather than flatter over time. Recall that it is much easier to decrease the modal frequencies than it is to increase them. This would have been a serious mistake if I lived in a more humid climate, such as Florida. This is another big “lesson learned” for those of you out there who may be attempting to build your own instruments.

Back to Tuning…

First, we re-cut the three bars that were sonic outliers. This was not a big deal, but did involve all of the familiar steps (ripping, planing, jointing, sanding, etc.). It’s so much faster the first time when you are doing it in volume! We also printed new labels and got them adhered to the bars. The frequency response on these new “blanks” was in family with the bars around them, so we were comfortable moving forward with shaping.

In our first run at tuning, we got 20 done. We were shooting for about 50 cents sharp on both the fundamental and first partial. The graph below shows the current state of our first 20 bars.

Modes for the first 20 rough-tuned bars.
Modes for the first 20 rough-tuned bars

As you can see, the first and second partials are well behaved for most of the bars. The third partial, which we decided not to tune, wanders around similarly to other xylophones that we had  spectrally measured.

Note that as the bars got shorter, the computer-generated bar shape became less accurate. As you can see on bar 16, 18 and 20, the second partial is tuned about perfectly (not 50 cents sharp, as targeted). This is not due to my tuning, but rather because the second partials for these bars were already closely tuned directly after band-sawing the shapes ~2 mm proud of the computed profile. To tune these bars, I removed wood only at the center of the bar to minimize the affect on the second partial. As you can see in the following photo, these bars shapes have deviated quite a bit from the computer prediction.

First 20 rough-tuned bars
First 20 rough-tuned bars

Over the subsequent weekend, Jack and I were able to get the rest of the bars tuned. Here are the tuning results:

Frequency characteristic of all rough-tuned bars
Frequency characteristic of all rough-tuned bars

The fundamental on all bars was pretty good except for bar 29 (my A6 bar,) on which I must have daydreamed while sanding, thus making it a bit flat. I thought that I might need to fix that bar, but that turned not to be the case since the moisture dry-out sufficiently sharpened the bar prior to fine tuning. The second partials above bar 21 (C6) were mostly flat even with the +2 mm rough sawing. However, I was not concerned, because this is consistent with other xylophones that I measured. For example, here is the tuning for the Kori xylophone  that I measured:

Measured spectral tuning graph for Kori xylophone.
Measured spectral tuning graph for Kori xylophone

As you can see, for the bars above C6 the second partials for this xylophone are whacky or too quiet to measure.

Here are photos of all of the bars, rough tuned:

Rough tuned bars 1-10
Rough tuned bars 1-10
Rough tuned bars 11-20
Rough tuned bars 11-20
Rough tuned bars 21-28
Rough tuned bars 21-28
Rough tuned bars 23-31
Rough tuned bars 23-31
Rough tuned bars 32-44

The photos show that, starting at bar 18, I had to cut a very narrow notch at the center to yield the desired tuning. As noted above, this is because the rough-sawed shape already had a second partial that was close to the +50 cents desired. As I’ve said previously, the computer predictions start to break down for the shorter bars (as a point of reference, bar #18 is about 11.5 inches long). I don’t think that this is due to inconsistency with a single bar, because the issue seems systematic for all of the “shorter” bars.

Another limitation that I found with the computer results concerns the tuning curves. For example, here is the tuning curve for bar 21:

Tuning curve for bar #21
Tuning curve for bar #21

This curve shows a subtle sharping of the 2nd partial for wood removed at the center. The trend gets more pronounced for the shorter bars. However, I saw no evidence of this when removing wood at the center. I typically saw no change in the second partial with wood removed from the center. As I’ve discussed previously, all of this is likely just a limitation in the approach (i.e., bar theory).

An Improvement?

Later, after doing all of the rough tuning, it occurred to me that I could have modestly improved on my approach to the computer predictions. Specifically, since I performed frequency measurements for each of the Rosewood blanks, I could have used these to compute the modulus for each bar. I could have used this, plus the measured densities for each bar to compute the bar shape for each bar’s paper template. (Recall that I used a single average modulus value and density for all bars.) While I am guessing that this would have reduced variability between the predicted and measured bars, I doubt that it would have significantly improved the systematic issues I saw with the short bars which are most likely the result of the “plate-like” geometry of the shorter bars. Nevertheless, using the per-bar modulus and density seems like a better approach and one that I would recommend.

Wrapping Up the Rough Tuning

Because the computer predictions only approximate the nodal locations for bar, Jack and I used the “salt method” to determine the actual node locations. Here are a few photos. First, is a photo of the salt results for a long bar, including the pencil marks I drew through the salt “mounds.”

Salt test results for a typical long bar
Salt test results for a typical long bar

Here is one of the shorter bars, before and after strikes with the mallet:

Salt sprinkled on short bar (prior to mallet strikes)
Salt sprinkled on short bar (prior to mallet strikes)
Salt test results (after mallet strikes causing salt to migrate)
Salt test results (after mallet strikes causing salt to migrate)

The salt results for bar #40 were curious – the nodes did not form lines at all, but rather fairly circular clusters as shown here:

Salt results for bar #40
Salt results for bar #40

This one also had an atypical spectrum, as shown here:

Unusual spectrum measured for bar #40
Unusual spectrum measured for bar #40
Zoom of bar #40 spectrum
Zoom of bar #40 spectrum

The zoomed plot shows that there were two modes that were very close together.  Compare this to bar #39, which was typical of the spectrum for most of the short bars.

Zoomed spectrum for bar #39 showing typical results
Zoomed spectrum for bar #39 showing typical results

Bar #39 shows a nice, single discrete fundamental mode.

Dr Entwistle suggested that perhaps the two close modes that were were observing with bar #40 was the result of a torsional mode closely coinciding with a bending mode. We spent a bit of time trying to ring up the torsional modes to test this theory, but found it difficult. The La Favre site showed some torsional mode results, but that was for marimba bars which are substantially wider.

Bar #40 definitely seemed like an outlier. It also sounded a little different than the others – perhaps a little less “bright” than its neighbors. Jack and I considered remaking this bar, but in the end, decided that it wasn’t worth the effort, given the subtle effect.

The Sound

Here is a sound file containing all of the rough-tuned bars:

A few notes on this sound file:

  1. The mallet double-bounced on some of the strikes, which you can hear.
  2. You can hear a “warbling” for the first few bars. This is due to the Doppler effect that result from the bar bouncing on the rubber-bands of the tuning jig after the bar is struck. As an aside, this warble is perhaps a few Hz so I later wondered if it could be broadening my spectral peaks and reducing the accuracy of my spectral measurements. A modification of the tuning jig that utilized e.g., felt strips rather than rubber bands would have addressed this potential issue.
  3. You may also be able to hear the flat A6 bar.

Having rough-tuned all of the bars, I guess if I were going to do this again I might do some sanity checks along the way to identify anomalous bars early to avoid unnecessary work. For example, after cutting each bar to length, but prior to sanding, attaching the label, or rough-cutting the under-shape, I would probably do a quick spectral check and do the salt method. Then, I could reject any bars that were out of family with the rest. For example, I would check for:

  1. A fundamental or second partial out of family with the rest
  2. The double peak in the fundamental (like my bar #40)
  3. Out of family salt results (i.e., weird nodes)

This quick up-front work could save some considerable re-work down the line.

As a teaser, here is a photo of our 44 bars in an approximate lay out. Pretty cool to see it becoming an instrument!

Rough tuned bars laid out in there approximate configuration
Rough tuned bars laid out in there approximate configuration

Shaping 44 Bars

Jack and I were ready to go into production for our 44 Rosewood bars. All of the previous discussion about the maple bar is apropos here too, but I will fill in some details of the construction process.

Our First Two Bars

We made two bars first, the longest and the shortest, so that we could ensure that the math and process that we developed for our maple bar also worked for the Rosewood.

One part of the process that I didn’t show for the maple bar was adhering the paper template to the bar. It is pretty important that this be aligned accurately with the wood, so I developed a technique that used my daughter’s light table. This photo shows the configuration that I used.

Paper template and alignment block on the light table.
Paper template and alignment block on the light table

The picture shows the light table with a piece of window glass on top to extend the flat surface of the table (since the longest bars were longer than the light table), and a large block of wood that we used to align the bar with the template. We sprayed the bar side with 3M adhesive to attach the template. If you’ve ever used this stuff, you know that you only get one chance to align the two pieces – there are no do-overs. So we would put the paper template on the glass face down and then carefully align the wood block to the top edge of the bar profile printed on the paper. We penciled a small center mark on the bar that allowed us to ensure that we had good left/right centering. Then, with adhesive on the bar edge, we would carefully slide the bar down the alignment block, while taking care to align the center marks on the bar and the template. Here is a photo of the bar correctly aligned to the template:

Bar aligned on template
Bar aligned on template

There is not much to see in this photo, because the bar completely covers the printed lines on the paper. Paper was stuck to the bar, we would use a sharp razor to trip the paper flush with the bar. Here is a photo that Jack took of me trimming the template:

Trimming the template
Trimming the template

Blanks and Templates

To say the least, attaching all of the paper templates is a bit tedious, but works well. Here are a couple of photos of the 42 “blank” bars with the templates attached (2 were already shaped as described below).

Long blanks with templates.
Long blanks with templates
Short blanks with templates.
Short blanks with templates

After attaching the templates, the first thing I did was spectrally measure each of the bars to establish a baseline. This is when I discovered that three of the bars were spectral outliers. The following figure details this finding:

Plot showing spectral outliers
Plot showing spectral outliers

This figure plots the error in the fundamental mode (quantified in cents, relative to the desired target frequency). The first and last points corresponded to my F4 and C8 bars which we had previously “rough tuned.” The three bars inscribed by the ellipse are the outliers. Notice that these are “out of family” relative to the rest. Two of the three were actually already flat (relative to the target frequency). For one of the bars (#41) I anticipated there might be a problem, as it had a knot in the center. Here is a picture of that bar:

Bar 41 with the knot in the center
Bar 41 with the knot in the center

Of the other two, one had some slight checking in the end which may have been indicative of a more systematic issue with that chunk of wood. I could find no issue at all with the third bar. Perhaps it had some internal flaw. Here are some photos of those two bars:

Bar #32
Bar #32
Bar #32 showing checking at end
Bar #32 showing checking at end
Bar #37
Bar #37 – No apparent reason for flat mode

In order to determine if perhaps the unusual sonic results for these three bars might be related to density, I weighted each bar and computed the density. The tabulated density values  are in the Excel file included in the previous post and are plotted here.

Density of bar blanks
Density of bar blanks

While the density of bar 41 looks way low, the densities for the other two anomalous bars look “in family” with the rest of the measurements. Further, there are other bars, like 18 and 21 that have low densities but in-family sonic characteristics; so it does not appear that the unusual behavior is related to density variation. As a side note, I wish that I had kept track of which bars came from which boards; I suspect that the bars with low densities all came from the same board.

I ended up making three new bars to replace these funky bars. Luckily, I purchased some extra rosewood – throughout my woodworking forays, I have learned that I consistently underestimate the amount of waste that results during construction and have gotten better at compensating.

In any case, there was a fundamental lesson in this finding: to save effort, it would be wise to do a spectral analysis of each bar just after dimensioning  the blanks in order to identify outliers. In my case, I wasted a bit of time sanding the bar surface smooth and attaching the labels prior to measuring the frequencies.

Shaping the Wood

At the top of this post is a photo of the first band saw cut for our rosewood F4 bar – the longest bar.

Like the maple bar, I sanded a bit proud of the computer generated red bar profile line. Here is a photo of us sanding the bar:

Sanding the F4 bar.
Sanding the F4 bar

This is just a 2 inch drum on my drill press. The white base with the holes is a melamine box that I built to collect dust. This sanding produces a lot of rosewood dust which can cause allergic reactions in some people, so I wanted to capture as much of it as I could. Also, sucking the dust away as we sanded allowed us to more easily see the paper template lines. Here is a full picture of the box:

The sanding rig.
The sanding rig

I left the bar about 50 cents sharp, which was a fraction of a millimeter above the computer prediction line. Out of curiosity, I did the “salt test” on this bar to see verify the node locations. Here is a picture:

You can see that the salt locations match very well with the predictions from the code – super cool!

We cut and tuned the shortest bar, which is a C8, by sanding to about 1 mm proud of the shape line predicted by the Timoshenko code. In this case, I was only about 36 cents sharp. In general, the assumptions underlying the beam theory break down for these shorter bars, so the computer predictions get worse. Dr Entwistle pointed me to a good paper by Oyadiji that described the use of 3-D Finite Element (FE) modeling and “plate theory” (as opposed to “beam theory”) to predict the modal behavior.  However, as I have stated, I was not too concerned about tuning the overtones for the higher bars since they are negligibly affect the timbre. I just needed the code to predict shapes that got me in the ballpark since the final tuning is iterative anyway.

Here is a photo of my longest and shortest bars with the templates attached and the rough shaping complete:

Our longest and shortest bars.
Our longest and shortest bars

Having had success with cutting and measuring the two bars, we set out to fabricate the other 42. We started by roughly cutting the shape on the band saw. This went much faster than I anticipated and only took a couple of hours. I spent another couple of hours on the drum sander with two goals: 1) remove the saw marks  2) sand to a constant distance from the red computer-generated profile. I wasn’t trying to get all bars to have same standoff distance from the red profile but rather, for each bar, I was just trying to maintain a uniform distance from the red profile. This meant that some bars were 1 mm proud of the red profile, and some were 2+ mm proud. In any case, here is a photo of our 41 “good” bars (i.e., we hadn’t remade the three wacky bars yet).

Bars after sawing and rough sanding.
Bars after sawing and rough sanding

Now, the critical step was to spectrally measure each of the bars again to ensure that I had sufficient frequency margin to drill the holes and do the final tuning. As I established on the maple bar, the holes had a nearly negligible effect on the long bars, but holes I drilled on a short blank (a remnant that was shorter than even my C8 bar) demonstrated a +2% change in frequency. Here is the result this second spectral analysis:

Spectral results after rough sawing and uniform sanding.
Spectral results after rough sawing and uniform sanding

As you can see, all of the 41 “good” bars have a fundamental frequency that is higher than the target; this is great! Plotted in red is the ratio of the first overtone (relative to the target frequency). Note that the code to compute this really just searches for the ratio that is closest to 3.0. Consequently, if the first overtone doesn’t have enough energy to measure, then the code will just find the fundamental, which happens typically happens for bar 32 and above.

As we’ve discussed, I really only care about the second partial on the first 25 or so bars. Beyond that, I doubt that the second partial has  enough energy to be audible. Surprisingly, a few of the bars already had a R12 ratio that is < 3.0. This means that I removed a bit too much wood on these bars. During the tuning process, I tried to address this issue, but you will hear more about that later.

Finally, for fun, I will leave you with a wave file that contains the an audio measurement for each bar. Note that the frequencies are not monotonically increasing at this point, since they are just the frequencies that resulted after doing sanding to the uniform offset from the profile. In any case, it is kind of cool to hear the actual bars.


S Olutunde Oyadiji and Raad Ali, “Finite element modal analysis of free-free beams and plates: A study of transition from beam-like to plate-like behaviour,” Twelfth international congress on sound and vibration July 2005

A Bit More Math…

In the previous posts, I described the basic construction and tuning of a maple xylophone bar and promised that we would get into the woodworking next. However, we’ve got to do a bit more math first. Sorry for another bait-n-switch….

Rosewood Properties

As you may recall, the computer code that computes the bar shape requires the bulk modulus, shear modulus, and density to be specified. Apparently I am incapable of learning a lesson and again turned to the internet to provide these numbers. Like many of my previous attempts, I came up empty handed. Considering that all great Xylophones and Marimbas are made of one material – Honduras Rosewood – you might think that someone would have posted the material properties on the internet. If they did, Google and I couldn’t find it. This left me determined to compute them myself.

I did find a range of values for Young’s modulus (aka the bulk modulus) in a paper by Brémaud, et al. Figure 3a of the paper provided Young’s modulus values for  Honduras Rosewood (latin name Dalbergia Stevensonii) that span the range of 17-26 GPa. I am not sure why the range varied so much. Perhaps it is just natural variation in the wood? As an interesting aside, figure 3b of that same paper clearly shows that Honduras Rosewood has the lowest damping coefficient of all of the species evaluated, which the paper suggests is perhaps the most important quality for wood used to construct idiophones- this wood really is special.

But the Zhao paper (and a few others that I found) came to the rescue. Appendix B of that paper, “Calculations for the Mechanical Properties,” provided a formula for calculating Young’s modulus from the fundamental frequency of a prismatic beam constructed from the material. My first job was to whack a Rosewood bar of known dimension and measure its fundamental. I had a couple of rosewood “test bars” that I cut to mess around with, and the longest one was 13-5/64 inches long. Here is the spectrum of that bar.

Spectrum of my longest rosewood test bar.
Spectrum of my longest rosewood test bar

And here is the sound file for your listening pleasure.

From the spectrum, you can see that the fundamental was at about 957 Hz. You can check out the Zhao paper for the details of the equation, but here is the Matlab code to compute the modulus. (Note that the Zhao paper had an error in equation for E where beta_n should have been the constant beta_n*l)

inch2m=0.0254; %Conversion constant

%Compute the young's modulus from bar #1
b=1.501*inch2m; %width
h=0.880*inch2m; %height
L=(13+15/64)*inch2m; %Length

f1=957; %Measured frequency of fundamental
rho = 1082; %Density from measurement of volume and mass (see above)

A=b*h; %Cross sectional area
I=b*h^3/12; %Moment of inertial

E=4*pi^2*rho*A*L^4/I * (f1^2/4.73^4) %4.73 is a constant given by Zhao
%E = 2.396974370897572e+10

The modulus calculated for this bar was 23.9 GPa. I had a second bar that had a length of 9-27/64 inches and a fundamental frequency of 1867 Hz. The calculated modulus for this bar was 23.6 GPa – pretty close to the first number.

Zhao also gave a formula for the calculation of the shear modulus, G, but the torsional frequencies of the bar must be known. It was not clear to me that I could adequately “ring these up” and measure them, so getting the shear modulus using that approach seemed off the table. I decided to take a different tact.

My approach was to do a parametric sweep of the shear modulus using the Timoshenko code to compute the fundamental and first two overtones for a prismatic beam. My idea was that if I had the bulk modulus and density right (density was easy, I just weighed and measured the bar and divided the numbers,) then the only free variable was shear modulus. If I adjusted it until I made the Timoshenko-predicted frequencies match the measured frequencies, then I must have the right value for the shear modulus; right? Here are the results from that sweep for the long and short test bars.

Shear modulus sweep for my long test bar.
Shear modulus sweep for my long test bar.
Shear modulus sweep for my short test bar.
Shear modulus sweep for my short test bar

The red lines on the plots correspond to the measure modal frequencies based on my spectral measurements. This analysis was not entirely satisfying because the no value of G yielded the fundamental frequency – the prediction was always a bit lower than the measured value- however, inspection of the second and third partials suggested that a reasonable value for the shear modulus might be around 4 GPa.

For what it’s worth, I did find a published shear modulus value of 19 GPa for Padauk, a similar wood. This suggests my chosen value of 4 GPa might be too low, but I wasn’t sure what else to do – high values resulted in a very poor match for the overtones in the plots above. For what it’s worth, I computed some bar profiles with different values of G, and they didn’t vary a lot. So perhaps at the end of the day it’s not a big deal, since I knew I was going to have to “hand tune” the bars after roughly cutting to the computed shape anyway. Right or wrong, I forged on with my value of G=4 GPa.

Summary of Computed Results

With the Rosewood material properties estimated, I was able to run the minimizer/Timoshenko code to compute the bar profiles for each of my 44 rosewood bars. As I mentioned in a previous post, the minimizer is sensitive to the initial starting condition, so I seeded my first and longest bar, F4, with the cubic coefficients from the maple bar and watched the minimizer converge. For the rest of the bars, I initialized the minimizer by seeding it with the coefficients from the previous bar, working my way from longest to shortest. In this manor, I was able to leap-frog through the bars and ensure that the minimizer converged.

Here are some summary results from the computed bar runs. First, here are the fundamental frequencies as calculated by the Timoshenko and Euler methods for each of the bars.

Computed fundamental frequency for all bars via two different methods.
Computed fundamental frequency for all bars via two different methods

In every case, the code was able to perfectly converge to the desired fundamental frequency. The plot shows the results for the two methods. As previously noted, the Timoshenko method is generally more accurate, especially for the short bars.

Here are the ratios for the second and third overtones:

Computed ratios for the first two overtones.
Computed ratios for the first two overtones

I found it interesting that the code can’t converge on the 2nd overtone for the short bars. No big deal because the overtones decay so rapidly for the shorter bars, it is doubtful that this effect can be heard. Indeed, when I was tuning the shorter bars, my spectral measurements were not able to measure the overtones.

The Templates Please

The computer run for each bar produces three standard plots. The first is the bar profile plot. An example for bar 10 is shown here.

Profile plot for bar #10
Profile plot for bar #10

You’ve see plots like this before. The top figure has a 1:1 aspect ratio and gives an idea of the actual physical profile of the bar. The bottom figure has a arbitrary aspect ratio to better visualize the shape of the undercut. Also included on the figure are the coefficients for the cubic function that describes the profile curve. I followed Dr Entwistle’s definition for the cubic coefficients where

y=a1*x^3 + a2*x^2 + a3;

In this equation, x is the longitudinal length down the bar where x=0 is the bar center. The variable y denotes the bar thickness corresponding to each value of x. Notice that when x=0, the equation reduces to y=a3, which is the thickness at the center. Also, notice that there is no linear term with x (i.e., no coefficient that multiples x). Setting the linear coefficient to zero forces the cubic function to have zero a slope at x=0. This forces symmetry about the bar middle.

Note that there is nothing magical about using a cubic to represent the bar shape. Indeed, if I were going to build another xylophone, I might mess around with other functional forms to see if I could satisfy additional constraints, like forcing the third partial ratio to be 6.0, or to maximize sustain or volume. However, the cubic is a good compromise in that does a respectable job of providing shapes that mimic what I had seen on other xylophones while keeping the degrees of freedom low (i.e., just 3 coefficients).

The second standard plot that I compute is the tuning curve, which we have discussed at length. For completeness, here is the tuning curve for my #10 bar.

Tuning curve for bar #10
Tuning curve for bar #10

Finally, as described in the maple bar fabrication discussion, I create a full-size paper template for each bar. Here is the template for bar #10:

Template for bar #10
Template for bar #10

A couple of notes about the annotations on this template are in order. The two vertical red lines mark the node locations as computed by the Euler code provided by Dr Entwistle. These are where the holes will be drilled. The vertical blue lines, marked f1, f2 and f3 denote fiducials on the bar corresponding to the tuning curve peaks. The f1 mark denotes the location where the fundamental is most affected by wood removal. Similarly, f2 marks the location where wood removal most dramatically changes the second partial, and f3 corresponds to the most sensitive region for the third partial.

All of these are useful plots, so I have zipped up the three curves for each of the 44 bars into a single file for you to download…I am just that kind of a guy 🙂

Here is the zip file: standard_plots_for_all_44_bars

Note that each of the files is a PDF, including the bar templates. The templates’ PDF files have been created so that they should print full-size. I made these to print on 8.5 x 14 inch paper, which was the largest size that my printer would handle. I am not sure how they will print on a smaller page size, but in any case, you should be able to scale these based on the bar sizes that I provided in the Excel file in the previous post.

In the next post we will actually start cutting Rosewood. (I know, you’ve heard that before. But you didn’t think you could build a xylophone without math, did you?)



Iris Brémaud, Pierre Cabrolier, Kazuya Minato, Jean Gérard, Bernard Thibaut. Vibrational properties of tropical woods with historical uses in musical instruments. Joseph Gril.International Conference of COST Action IE0601 Wood Science for the Preservation of Cultural Heritage, Nov 2008, Braga, Portugal. pp.17-23, 2010. <hal-00808403>



With our newfound knowledge of tuning xylophone bars, Jack and I were prepared to go all in – time to buy the rosewood.

We live in Albuquerque, which is not a large city, so I was prepared for a protracted search for affordable rosewood. I found a few sites online, but all were pretty spendy and mostly catered to users buying small quantities. On a whim, I checked out a local vendor called Albuquerque Exotic Hardwoods (now called World of Wood). To my surprise, they had just received a small shipment of Honduras rosewood! The owner explained that there were some “quality issues” so they were selling it for half price.

Like most woodworkers, I typically seek out stock that has the most interesting grain. I generally build furniture that has simple lines and let figure in the wood provide the interest. In selecting stock for this project, I had to fight that urge and select the most boring planks, since these will typically be the most homogeneous. This nearly killed me, and to own the truth, I bought one extra plank that was highly figured and just too pretty to leave at the store.

I know you are going to ask what the price was, and I’ve racked my brain trying to remember, but I’m afraid those brains cells got displaced by bar tuning math. I can tell you that I spent about $200 total on the rosewood. As noted, the wood had some checks and knots that I had to cut around, so I estimate that had about 30% waste. (But did I mention that the wood was half price?!)

The width of the bars doesn’t greatly affect the timbre, so I sized them to be consistent with what I had nominally observed on commercial xylophones. The Yamaha that provided my sizing template had bar width at 1.5 inches, which was right in line with most other xylophones I had seen. The rosewood boards that I bought were mostly about 5-7 inches wide, so for each board I figured out how many widths I could rip out of each plank and started cutting.

When I began ripping these on my table saw, I got my first surprise; despite selecting boards with pretty straight grain, there was so much internal stress in this wood that after ripping the first six inches or so, the piece against the table saw fence (the 1.5 inch strip I was ripping off) started bending badly against the main plank. This is not uncommon when rippling hardwood, but I’ve never seen it this extreme. It is also a serious problem, because as the wood bends out it tends to push laterally against the blade, causing binding and burning. It can also result in pieces that are thinner than the 1.5 inch width target. Not every cut had this problem, but probably half of them did. I am not sure if this is a common problem with rosewood, but I definitely had to address this challenge. So I did two things. First, I ripped the pieces about 1/8 inch wider than the necessary final dimension to allow for thinning that resulted from the bending board.

My second mitigation was to put a screw in the end so the ripped piece couldn’t bend out too far. I wish I had a photo of this, but I didn’t take one, so here is a cheesy illustration that will hopefully make clear how I addressed this issue.

Screw used to capture bending ripping piece.
Screw used to capture bending ripping piece

Basically, I would rip the board about 8 inches and them drill a pilot hole at a 45 degree angle. Then, I would drive a wood screw to straighten the 1.5 inch part and pull it back toward the main plank. After this, I would restart the rip, but of course I couldn’t cut through the screw, so rather I would plunge the blade into the existing cut past the screw, then finish the rip cut. This process slowed down the ripping tremendously, but it did tame the board so that I could get decent (not great) cuts. Of course, the resulting ripped boards had a gnarly curve to them, but recall that they only needed to straight over the length of the bar (less than 15 inches).

Once I used this technique to rip all of the pieces, I cut out all of the bad chunks. This included knots, splits and checks. This left me with a number of boards that were various lengths, so now I was ready to rough-cut all of my bars from these stock pieces. You can see some of the ripped pieces at the post at the top of this page.

Optimizing Board Usage

With my boards ripped, the next step was to determine the exact lengths for my 44 bars. Recall from a previous post that I chose to use the lengths from a Yamaha instrument I found online. I entered all of the bar lengths from the Yamaha parts list and created the following plot.

Yamaha bar lengths
Yamaha bar lengths

There is a bit of wiggle in the points due to rounding in the published Yamaha data, so I added a linear trend line to average out the “noise,” and used that to compute the lengths for each bar. The bar lengths are contained in this Excel file: bar_lengths

At this point, I had my stock ripped to 1.5 inches, and I had exact lengths for each of my 44 bars. Now many times over the years I have ran into the problem of efficiently cutting a number of lineal pieces from a set of stock material lengths. The classic example of this is cutting baseboard molding where you buy nominally 12 foot boards and chop them up according to your wall lengths. In general, the problem can be solved by trial and error – basically guessing at how to best divvy up the needed pieces into the available stock. However, because the rosewood is just a bit more expensive than baseboard molding (pause here to let the point sink in,) I attempted to be as efficient as possible.

I turned back to the internet to see if I could find some software to help. There were a couple of free programs that I found, but they were pretty cheesy and difficult to use. Ultimately, I ended up downloading a trial version of a program called Cutlist Plus. This software is pretty sweet in that it lets you enter all of your stock lengths and the desired finish pieces, and then computes the optimal assignment of pieces to stock. The program takes some getting used to, but it is very flexible and produces very detailed printouts that make it easy to stay organized. I seem to recall that the trial version is good for month. They have a $39 version aimed at hobbyists, but it only cuts sheet goods (i.e., two dimensional pieces like plywood,) not lineal pieces. The full version is $250, which was too rich for my blood. (Please let me know if anyone out there knows of inexpensive software that performs this function – it would be nice to have it around for occasional use).

After rough-cutting all of the pieces according to Cutlist Plus assignments, I dimensioned each bar to it final size. This included straightening on the jointer and ripping to final width on the table saw. Because I cut each bar a bit long, the final step was to cut each  to its finished dimension. The Excel file above contains a column with the lengths rounded to the nearest 1/32th of an inch. I find that my table saw rule guide is the most accurate and fastest way to cut short pieces like this, and the fractional column in the spreadsheet allowed me to quickly set the length.

As your reward for staying with us this long, here are some photos of our cut pieces!

Rough-cut pieces.
Rough-cut pieces
Rough-cut pieces.
Rough-cut pieces
Final, dimensioned pieces.
Final, dimensioned pieces
Jack checking out his handiwork!
Jack checking out his handiwork!

In the next post, we will show you more of the woodworking steps involved with turning these “blanks” into tuned xylophone bars and a few challenges we encountered along the way.

Making a Friend

I wasn’t done torturing my maple test bar. As previously mentioned, xylophone bars are suspended by strings that pass through holes drilled at the nodal locations. From a practical standpoint, I needed to assess whether drilling the holes would affect the modes. If so, I would have to first “rough tune” the bar, drill the holes, and then finish tuning the bar.

Finding the Nodal Locations With the “Salt Method”

A few sites online, including the La Favre site, suggested using the “salt method” to determining the nodal locations.  This technique has you sprinkle salt on the bar in a random pattern, and then repeatedly strike the bar. Because the bar vibrates minimally at the nodal locations, the salt slowly migrates to the nodes. It’s really cool and sort of magical to watch. I didn’t take photos of the salt method applied to my maple bar, but here are some before-and-after photos of the salt migration for one of the rosewood bars.

Salt randomly sprinkled.
Salt randomly sprinkled
After salt had migrated to the nodal locations
After salt had migrated to the nodal locations

The salt makes pretty clean little lines, clearly marking the location of the nodes. (As a brief aside, the lines are rarely perpendicular to the long axis of the bar – they are almost always angled. This is just due to the wood grain, which the MEs would refer to as “the non-isotropic nature of the material.”)

Jack and I used the salt method to determine the locations of the nodes for our maple bar and drew lines with a pencil though the middle of the salt lines. However, the results were surprising – the nodal locations determined by the salt method did not align with the “n1” locations predicted by the the tuning curves (refer back to the figure containing the bar template).

Recall that my n1 marks correspond to the location where the tuning curve crossed zero; that is, removing wood here has no effect on the modal frequency. I speculated that these zero-crossing points might be coincident with the nodal locations, reasoning that since wood removed here does not affect the fundamental, it might also identify the nodal locations. However, as noted above, that was not the case. Here is a photo with annotations showing the difference between the predicted and measured nodal locations.

Nodal location mystery.
Nodal location mystery.

The measured and computed node locations differed by about 1 cm. This disturbed me, because up until this point, all of the computer predictions had been spot on.

Making a Friend

So I went back to literature to see if I could find some clues. The Zhao paper that provided the original version of the beam software referred to a function called Drilled_Hole_Predictions.m.  A comment in the code indicated that this function would calculate the necessary location of the holes. However, the source code for this particular function was excluded from the appendix of the Zhao paper. As I have previously mentioned, comments in the source code indicate that it was derived by code written by Dr. Rodney Entwistle of Curtin University of Technology in Perth, Australia.

So I sent Dr. Entwistle a note explaining the mission that Jack and I were on and asked if I might trouble him to provide the missing function. To my great surprise, Dr Entwistle replied quickly and was very interested in our project! Being an amateur woodworker himself, and a father to four boys, I think he identified with the challenge that Jack and I had undertaken. So “Rod” and I begin a long series of correspondence that provided not only the node location function, but countless invaluable insights and pointers. Most importantly, his enthusiasm and continual encouragement kept me motivated to finish this project, even when it got tedius. Indeed, much of the material in this blog is the result of insights provided by Rod. I feel very lucky indeed to have found not just an expert who was willing to aid our pursuit, but a like-minded engineer that was a “geeked out” as I was by this engineering journey!

Back to the node location mystery. Rod pointed out that the nodal locations are not coincident with the zero-crossing computed by the tuning curves, and provided a function that computes the deflected shape of a beam. This code essentially computes the magnitude of deflection as a function of the longitudinal beam location. I used Rod’s code to compute the deflected shape curve for my maple bar, as shown in the following figure.

Deflected shape curve for the maple bar.
Deflected shape curve for the maple bar

The two red circles mark the zero crossings – the point where the transverse beam deflection is zero (for the central axis of the bar). Relative to the longitudinal bar center, this gives the nodal locations at +/-116.3 mm. The locations that I measured, base on the salt method, were at +/- 115 mm, yielding a difference of only about 1 mm! This remarkable agreement indicated that I was indeed on the right track and ready to move forward with my rosewood bars  all thanks to Rod, his code, and his excellent guidance!

One More Gift From “The Giving Bar”

With renewed confidence afforded by the excellent correlation between the predicted and measured nodal locations, I was ready to proceed with a final experiment on my maple bar. At the top of this post, I discussed needing to assess the sensitivity of the bar frequencies to drilling the suspension holes. After the lengthy side trip into computing and measuring nodal locations, we were finally ready to perform that experiment.

I spectrally measured my bar before and after drilling the holes so that I could assess whether it had an effect on the modes. I made the holes 3/16 in diameter, which was based on the cord that I chose to suspend the bars. (You’ll hear more about the mechanics of the woodworking, the cord, and other material choices later). The top of this post contains a photo of the hole, so you can get a sense of its location and scale.

Here are the results of the spectral measurements just before, and after, the holes were drilled.

Stats before the holes were drilled.
Stats before the holes were drilled
Stats after the holes were drilled.
Stats after the holes were drilled

The spectral analysis shows that the fundamental frequency did not change at all, but the second partial got a bit flatter. This finding suggests that I could mostly ignore the hole effects when making my rosewood bars. However, just to be safe, I ended up cutting and tuning all of the rosewood bars a little sharp, then drilling the holes, and then performing the final tuning.

Done With Math

It seems like I have said this before, but at this point I felt like I was ready to actually begin making the rosewood bars. The maple bar experience was invaluable to bolstering my intuition and understanding of the fidelity of the math and the tuning process. I apologize if all of the previous discussion of Timoshenko beam theory, bending modes, and spectral analysis gave you a headache. If you are still with me, the rest of the posts will be your reward! We are about to build a xylophone!

Verifying the Tuning Curves

March 6, 2015

If the tuning curve was right, removing wood from the ends of the bar would raise the frequency of both the first and second modes. So I decided to test this theory, thinking that it would come in handy if I overdid the sanding on one of my rosewood bars. So I began removing wood from the ends to see if the bar would get sharper.

It had been a few weeks since I tuned the bar, so before I started hacking on it, I remeasured its modes on the tuning station. Here was the result:

Bar stats after a few weeks.
Bar stats after a few weeks

Weird. The fundamental had only changed a couple of cents, but the second mode got flatter! Not sure what happened here. I am speculating that it was a change in humidity, but I am not sure. Temperature can also affect the frequencies, but only weakly (more on that later). I measured the frequencies a few times and they were consistent, so it wasn’t a problem with the software. In any case, with the baseline re-established, I started removing wood from the ends. I measured the partial frequencies m times along the way. After my last sanding session, I took the following photos of the bar ends.

Wood removed from end
Wood removed from end.
Wood removed from end

I removed a little over 2 mm of wood from both ends. This wood removal resulted in the following new modes:

Modes after removing wood from ends.
Modes after removing wood from ends

Cool! Both the first and second partial frequencies increased quite a bit-  just as the tuning curves predicted.

More Tuning Curve Verification – Notching the Bar Center

The previous experiment verified that the tuning curves accurately predicted the sonic effects of removing wood from the ends of the bar. As previously noted, the curves also predict that wood removed from the  center of the bar will flatten the fundamental frequency, while having minimal impact on the second partial. Since this is crucial to my tuning approach, I set out to verify this prediction.

Like the previous experiment, my approach was to incrementally remove wood with the drum sander, while frequently measuring the affects on the partials. Previously, I had been using a 1-1/2 inch diameter sanding drum when removing wood. Here, however, in order to localize the wood removal, I used a 1/2 inch diameter sanding drum. All told, I removed about 2.5 mm of wood resulting in a pretty deep “notch” at the bar center. Here is a photo of the final bar and the resulting frequencies.

Notch cut to assess wood removal at the bar center.
Notch cut to assess wood removal at the bar center
Final sonic results for maple bar.
Final sonic results for maple bar

To summarize, the fundamental frequency dropped by 20 cents, and the second partial stayed about the same (the change of 1 cent was smaller than the measurement precision). Remarkable – the math accurately predicted the physical behavior of the bars…again!

The following figures graphically demonstrate the effect of these two experiments.

Frequency effects of removing wood from the bar ends.
Frequency effects of removing wood from the bar ends.
Frequency effects of removing wood from the bar center

Each figure contains two graphs that plot frequency as a function of the spectral measurement number (i.e., in integer that increments each time I measure the frequencies on the tuning station). The top graph of each figure quantifies the frequency ratio for the second partial and the bottom contains the frequency ratio of the fundamental. Both ratios are relative to the desired frequency, which for this F4 bar is 350.8 Hz.

These plots qualitatively confirm the tuning curves predictions. For example, on the top figure, you can see that as I remove wood from the ends, both the fundamental and overtone frequencies increase. On the bottom figure, where wood is being removed form the center, you can see that only the fundamental gets flatter – the overtone stays more/less the same.

Cutting First Wood

In the previous post, I described the math and software used to compute the undercut shape for a maple test bar. That was step 1. In this post I will describe step 2, which is actually cutting the bar out of wood.

Making the Bar

The first step in the process is cutting a piece of maple to the correct dimensions. I selected a piece of boring, straight-grain maple and cut it to the dimensions of the Yamaha F4 bar. After cutting, I measured the bar to record the exact dimensions:


In order to shape the wood so that it conformed to the computed shape, I printed a full-scale paper template directly from Matlab. I’ll spare you the mundane details, but it took some trial and error to get Matlab to print precisely in full scale and to compute a calibration factor for the printer.  Here is the template that I made:

Full-scale paper template for maple test bar.
Full-scale paper template for maple test bar.

There are lots of lines on this bar, so let me elaborate a bit. The first thing you might notice is that there are multiple profile curves. The red curve is the cubic that the software computed. The other curves are included as index lines, so I could precisely determine how close I was to the red line as I was cutting the wood. They are spaced exactly 1 mm apart.

There are multiple vertical lines that warrant description. The vertical red lines labeled “n1” were intended to mark the locations of the nodal points (aka nodes) of the fundamental vibrational mode.  However, I will discuss later that this location is incorrectly marked – the actual nodes are over 1 cm away from these lines. The other vertical lines, marked an1, an2 and an3, were intended to locate the anti-nodes of the higher modes. Anti-nodes are the location where the bar deflects maximally in the transverse direction (i.e., perpendicular to the long axis of the bar). However, this terminology is erroneous – while these lines do correspond to a useful physical fiducial, they do not mark the anti-nodes. I’m afraid we have to go back to the vibration theory to flesh this out further.

“Tuning Curves” and Such

LaFavre and pretty much all of the papers do a great job discussing the vibrational modes of wooden bars. For each longitudinal mode, there is a point about which the bar bends. At this location, the bar exhibits no up and down motion as it vibrates. This fact is critical, and practical, in that it dictates the location of the mounting points for the bar. Theoretically, one could clamp the bar rigidly at exactly this point and there would be no damping of the bar due to the clamps. In practice, xylophones and marimbas suspend the bars on a string that passes through holes that are centered on the nodal locations in an attempt to minimize damping due to the suspension strings. My “n1” markings on the templates were intended to be the nodal locations of the fundamental, but were rather marking an important fiducial determined by “tuning curves” that I had computed. Let’s talk a bit more about the tuning curves, since these are critical to actually tuning the bars.

If you look back at Bork’s original paper (cited earlier), you will see plots that look kind of like this one:

"Tuning curve" for maple test bar.
“Tuning curve” for maple test bar.

This is an example of what I call a “tuning curve” plot, which was created by basically following Bork’s approach. These curves quantify the effect of removing material from the bar at various points along its length. Consider the top plot first. On the y axis, I am plotting the ratio between the unmodified fundamental frequency (i.e., the bar frequency prior to removing material) to the fundamental frequency that would result if I removed a very small amount of material at various points along its length (as plotted along the x axis). By inspection of the plot, the curve shows that the most effective way to “flatten” (reduce) the frequency of the fundamental mode is by removing material at the at the locations denoted by the two vertical lines. The middle plot shows the effect of material removal on the second mode, and the bottom plot shows the effect on the third mode.

Why is this curve important? Well, as the Bork, Zhao, and other papers note, the math that determines the bar shape only gets you part of the way to a perfectly tuned bar. This is due to limitations of the math and assumptions that we make about the wood that are not completely accurate (e.g., homogeneity, isotropy, etc.). These curves are used during the bar shaping process to tweak the frequencies of the various partials. So the steps to tuning are:

  1. Compute the bar shape using the math.
  2. Fabricate a bar per the computed shape, but cut proud of the computed thickness profile.
  3. Measure the frequency of the partials.
  4. Consult the tuning curves to determine where to remove wood.
  5. Remove a tiny bit of wood at the indicated locations.
  6. Repeat 3-5 ad nauseam (or at least until the bar is sufficiently tuned).

In step 2 above, the word “proud” is taken from the woodworking vernacular and means making a cut that is bit thicker or wider or longer than the final desired dimension. In this case, we cut a little proud so that we have extra material to remove as we are tweaking the bar tuning – it’s much easier to remove wood than to add it…

The tuning curve above illustrates some very important facts about bar tuning. First, notice that the most sensitive way to make the fundamental flatter is to remove wood at +/- 58.3. Removing wood at +/- 65.9 is the fastest way to flatten the second partial. Importantly, notice that there is large overlap of the curves for the first and second partials. This is unfortunate, because it means that removing wood in this area of the bar affects both the first and second partials simultaneously, making it difficult to independently tuning the partials.

However, all is not lost. Looking carefully at the curves, you can see that removing wood from the very center of the bar weakly flattens the first mode, but has negligible affect on the second partial. Bingo – we have a way to independently tune the partials! Notice that this finding is consistent with Bork, and indeed he suggests the following tuning approach  that we basically followed:

  1. Carefully remove wood from the region around +/- 60 mm until the second partial is about right.
  2. Remove wood from the bar center until the fundamental is perfect.

The tuning curves whisper one final secret to tuning. Notice the slight sharpening that occurs in all three modes when wood is removed from the ends of the bar? Well, this characteristic can be exploited if too much wood is inadvertently removed from the mid-portions of the bar. Here is another photo of the bars from the Kori xylophone I checked out.

Undercuts of Kori bars illustrating that material was removed form the ends of some bars, presumably to raise the frequency of the bar.
Undercuts of Kori bars illustrating that material was removed form the ends of some bars, presumably to raise the frequency of the bar.

Notice that some of the bars have “chamfers” at the ends? This is presumably to sharpen the bar modes.

In general, I would suggest caution when exploiting this sharpening trick; as the tuning curves illustrate, and my experiments supported, the frequencies change is a very weak function at the bar ends; a great deal of wood must be removed to appreciably sharpen the bar.

Apologies are in order for the epic discussion above, but do feel that it is necessary to really understand the underlying motivation for the hands-on tuning of the bars. Your reward for staying with me thus far is the following section where I actually cut the bar (really, no bait-n-switch this time!)

Making the Bar (No Kidding)

February 15, 2015

As I mentioned above, I printed a paper template of the computed bar shape and attached it to my hunk of maple. Here is a photo of the bar with the template attached.

Maple bar with template at tuning station.
Maple bar with template at tuning station

At the top of the photo you can see a microphone sitting on its mount (a Kleenex box). The microphone is connected to a computer so that when the bar is struck, the frequencies of the modes can be determined. The bar is sitting on our hand-crafted “tuning jig,” which supports the bar during the spectral measurement. Two rubber-bands, which are ideally placed at the nodal locations for the fundamental, suspend the bar.

Our first sonic measurement was for the prismatic “blank,” and the second was with the template glued on (as shown in the picture) – we wanted to see if the paper template and adhesive affected the bar frequencies (they didn’t). To measure it, we put the bar on the tuning jig, gave it a whack, recorded it, and analyzed the spectral modes. For reference, here is the spectrum of my bar blank .

Spectrum of blank maple bar.
Spectrum of blank maple bar.

The analysis found two modes – the first was at 798.9 Hz and the second was at 3685.3 Hz. (It also found a little false mode at 300.1. bit that is just an artifact of the analysis and should be ignored). The target frequency for this F4 bar was 350.8 Hz, so I had a long way to go to get it tuned.

Next, I cut out the profile on the band-saw, as shown in the following photo.

Bar after first band-saw cut.
Bar after first band-saw cut

(For those of you wanting to see more photos and explanation of the woodworking mechanics, please stand by. I will sort of gloss this over in the next few posts and focus on the practical realities of the math, and will later post details on the woodworking mechanics).

It may be hard to tell from the photo, but I made the first cut 3 mm proud of the computed red line. My intention of cutting way proud of the computed curve was to build some intuition regarding the sensitivity of the bar modes to wood removal. After this first cut, Jack took the bar back to the tuning jig and measured the frequency modes. After that, I used a drum sander to sand down to the 2 mm proud line and again measured the modes. After repeating the sanding and measuring steps on the 1mm line, we started the final tuning. Here is a table of the cut depth and the corresponding fundamental frequency.

Standoff (from red line)Fund Freq
+3 mm798 Hz
+2 mm415 Hz
+1 mm374 Hz
+0.5 mm360 Hz
Frequency modes for increased wood removal.

This was looking encouraging; we were only about 0.5 mm proud of the computed red line, and we were only about 10 Hz sharp. At this point, we alternated between the sander and the tuning station in a effort to “walk in” to the desired. However, we could not reliably measure the frequency of the second partial. For example, here is a power spectral density (PSD) plot after we had taken a few shaves with the sander.

PSD with bar struck at center.
PSD with bar struck at center

This data was collected by striking the bar at the center. There are strong first and third partials, but the second partial is not measurable. By accident, we hit the bar off the center – more toward one of the ends. Interestingly, we now measured energy in all three partials, as shown by the the next plot.

PSD with bar struck off center.
PSD with bar struck off center

After discovering this, we routinely hit the bars off center to ring up energy in the second mode. (I found out later, after talking with some percussion professionals, that this knowledge is not wasted on xylophone players who are taught to hit the bar at a point that is just off center in order to yield the best timbre. However, I bet they don’t now why…)

Here were the resulting stats for this strike.

Analysis stats for bar struck off center.
Analysis stats for bar struck off center

The is pretty good – the fundamental was at 352.0 Hz, which was just 6 cents sharp. The 2nd partial had a ratio of 3.016 and was 9 cents sharp. The 3rd partial, which we had decided we were not going to tune, happened in at a ration of 7.122.

Since the bar was still sharp, we continued sanding toward the profile. For this bar, the first and second partials were both sharp, so we removed wood mostly evenly across the full center portion of the bar. After a few more light sandings, we ended up with the following stats:

Stats after final sanding.
Stats after final sanding

At this point, the fundamental was spot on, but the second harmonic was a bit sharp. Given the tuning curve above, there is really no way at this point to flatten the second mode without also flattening the fundamental. On the subsequent bars, I followed my tuning algorithm more carefully (i.e., bring the second partial into tune, or perhaps a tiny bit sharp, and then remove wood at the center to tune the fundamental) rather than just removing wood even with the fiducial lines. Here are a couple of photos of the final “tuned” bar.

The final tuned bar.
The final tuned bar

It may be hard to tell from the picture, but the final cut is a small fraction of a mm above the computer prediction – I was pretty stoked! The math seemed to work!

Here’s a picture of Jack with our masterpiece:

Jack proudly holds our tuned maple test bar.
Jack proudly holds our tuned maple test bar.

Putting the Math to Work

Finding the beam theory papers was just a baby step to designing my own bars. What I needed was software to apply the math. It may have been possible to write the software from the math in the papers, but software like that can be very difficult to write and debug, especially given my very tenuous grasp on the mechanical engineering concepts that underlie it. My breakthrough moment was when I found a masters thesis on the web that was written by Mingming Zhao. The paper, called “Automatic multi-modal tuning of idiophone bars,” utilized the standard beam theory to compute the bar shapes, but most importantly, the appendix contained the actual Matlab code that applied the beam theory!

Comments in the code indicated that is was a modified version of software written by Dr Rodney Entwistle. So I looked up the Entwistle paper too, which is cited below along with a web link. This paper provided some excellent background and context for the Zhao paper.

I started by copying the Matlab functions from the PDF file of the Zhao thesis to discrete files. To confirm that I had copied the code correctly, my first task was to verify that I could repeat the results from the paper. The following is a code snippet that was modified from code in appendix G.1 of the paper. It demonstrates the convergent nature of the algorithm. It takes as arguments the target frequency (300 Hz), the desired ratios for the 2nd and 3rd partials (4.0 and 9.8), the undercut functional form (cubic) and a seed for the iterative algorithm. Here is the run and the program output (captured in Matlab comments).

bar_props.E = 17.96E9;
bar_props.G = 6.75E9; 
bar_props.rho =  837.187565; 
bar_props.width = 0.06; 
bar_props.d0 = 0.01915; 
bar_props.bar_length = 0.3; 
close all;
[test_coeffs{1},test_reqs{1}]=main('ploton',true,'bar_props',bar_props,'selected_frequency',300,'overtone_ratios',[4;9.8],'profile','cubic', 'coeffs',[6;0.3;0.003]);
%E=1.796e+10 G=6.750e+09 rho=837.2 width=0.06000 d0=0.01915 length=0.30000 profile=cubic
%seed_coeffs = [6.000000000000; 0.300000000000; 0.003000000000]
%=== Loop number: 1
%   freq_new = [129.86691; 4.53455; 12.17812]
%   freq_new = [129.86691; 4.53455; 12.17812]
%   freq_new = [129.86705; 4.53455; 12.17811]
% delta freq = [170.13310; -0.53455; -2.37811]
%=== Loop number: 2
%   freq_new = [319.67484; 4.13737; 10.36343]
%   freq_new = [319.67484; 4.13737; 10.36343]
%   freq_new = [319.67518; 4.13737; 10.36342]
% delta freq = [-19.67482; -0.13737; -0.56343]
%=== Loop number: 3
%   freq_new = [299.01530; 3.97747; 9.66143]
%   freq_new = [299.01530; 3.97747; 9.66143]
%   freq_new = [299.01562; 3.97746; 9.66142]
% delta freq = [0.98471; 0.02253; 0.13857]
%=== Loop number: 4
%   freq_new = [299.96624; 3.99930; 9.79651]
%   freq_new = [299.96623; 3.99930; 9.79651]
%   freq_new = [299.96656; 3.99930; 9.79650]
% delta freq = [0.03378; 0.00070; 0.00349]
%=== Loop number: 5
%   freq_new = [299.99992; 4.00000; 9.80000]
%   freq_new = [299.99992; 4.00000; 9.80000]
%   freq_new = [300.00024; 4.00000; 9.80000]
% delta freq = [0.00009; -0.00000; -0.00000]
%final freqs = [299.99991; 4.00000; 9.80000]
%coeffs = [10.308557568566; 0.322686204614; 0.006247284721]

In the highlighted line at the end, you can see that the algorithm converged to the desired final frequency and ratios in just a handful of iterations. It also provided the  coefficients to the cubic that provided the desired overtones.

The graphical output from this run is at the top of this post. The two figures show the computed bar shape with the bar lying upside down (i.e., with the undercut at the top of the plot). The top figure has an aspect ration of 1:1, and the bottom figure zooms the y axis to better show the curve shape. There are multiple profile because the figure redraws the computed profile after each iteration of the converging algorithm. The line corresponding to the most broad undercut came from the final iteration of the code.

This was pretty exciting! I finally had working code that could predict modal frequencies as a function of a specified bar shape.

Using the Code To Design My Bars

As previously stated, I had decided to design my bars to conform to the “double minimum” shape that I had observed on most of the commercial xylophones. To gain experience, I set out with the following plan in mind:

  1. Use the software to design a “double-minimum” bar.
  2. Fabricate a “test bar” out of some inexpensive wood (i.e., not Rosewood) that conformed to the computed shape.
  3. Measure the frequency modes of the test bar to evaluate the accuracy of the predictions.

Step 1 – Designing My Test Bar

I chose a cubic function for the undercut profile. The choice was motivated by the fact that the cubic profile could realize the desired double-minimum shape, but the parabola would have limited the shape to a simple arch shape. The math that computes the bar shape required information about the material type. The code needs the following parameters:

  • Young’s modulus (E) – This is also sometimes called the “bulk modulus” and can be thought of as the stiffness of the wood.
  • The shear modulus (G) – This is harder to describe, but I found a good description here. To quote “the shear modulus is harder to talk about, but easiest to demonstrate: take a thick stack of paper (like a phone book) and with your hand on the top, push horizontally. The layers of the stack will shear and the top of the stack will move while the bottom stays put. All objects can be thought of as layers of material. How easily will these layers separate from each other? The shear modulus relates how the top layer of a material will move in relation to the bottom layer.”
  • The density (rho) – This is just the mass divided by the volume of the material

I measured the density directly, by measuring a prismatic section of the wood and weighing it. I computed the density as 650 kg/m^3.

The moduli were harder to come by. I found the following reference in the Orduna-Bustamante paper previously cited: “N . E. Molin, L-E. Lindgren, and E. V. Jansson, ‘Parameters  of violin plates and their influence on the plate modes,’J . Acoust.S oc.A m. 83,
281-291 (1988). Ratios of Young’s modulus in the longitudinal direction to the shear modulus are reported as E/G=22.1 for spruce wood and E/G = 6.9 for maple wood.”

OK, so given Young’s modulus, I could compute the shear modulus. I found a value of E=12.6 GPa here. I found a second reference here that gave E=12.6 Gpa. So I split the difference and set E=12.5 Gpa.

The algorithm to compute the bar profile needs a “seed” to start its iteration. I used a photograph of the Yamaha bar to compute coefficients of a cubic that approximated the bar shape. However, there was a snafu; the algorithm failed to converge to a solution. It uses a fairly basic Newton-Raphson method of minimization to approach the solution. I am not sure why, but this had some problems. I could have probably worked out why this was the case, but I rather chose to use a Matlab minimizer called fmincon that I was familiar with. An advantage of this minimizer is that you can set constraints on the minimization, like disallowing solutions that yield a bar that is too thin. With the code modified to use fmincon, the algorithm converged! Here is the code that I ran:

%20150207 - Design for longest bar (made of Maple)
%Properies from PPT file (Maple Wood Properties)
wood_props.E = 12.5e+9; %
wood_props.G = wood_props.E/6.9;  %
wood_props.rho =  650;*wood_props.G))-1; %Poisson's ratio

Comment='Bar #01 (Maple)';
close all    
[coeffs,freqs,inputs,opt_results]=main('ploton',true,'bar_props',bp,'selected_frequency',bp.frequency, 'coeffs',results.coeffs, ...
    'number_of_elements',num_elements, 'opt_method', results.inputs.opt_method,'lb',,'ub',results.inputs.ub,'weights',results.inputs.weights);

%delta freq = [0.00016; -0.00005; -1.51121
%final freqs = [350.81548; 3.00005; 7.51121
%coeffs = [40.559582736574; -3.643168079495; 0.015502032584]

The highlighted line shows that the algorithm gave frequency ratios for the overtones of 3.00005 and 7.51121. The first overtone was dead on, but the second overtone failed to achieve the desired ratio of 6. I tried many variations of the minimizer, but could not coerce it to yield the desired value of r3 (shorthand for the ratio of the third partial to the fundamental). I don’t know why this is the case. Perhaps it is not possible to yield the desired overtone ratio with a cubic function. In any case, as previously stated, I decided to forgo tuning the third overtone, so I didn’t work this problem further.

Here is a figure illustrating the shape of the resulting bar.

Shape of resulting F4 bar.
Shape of resulting F4 bar.

The red profile in this bar corresponds to Maple. The blue profile was computed using the properties of Rosewood. I plotted both to assess the difference between the two materials.

Yee-haw! This seems kind of reasonable. Next step – make the bar out of wood. You’ll hear more about that in the next post (if anyone is still with me…).



Entwistle, R.D. and McGrechan, S.R. 2007. Geometric Shape Identification for Multi-Mode Tuning of Percussion Instrument Bars. Proceedings of the 14th International Congress on Sound and Vibration. Cairns, Australia, 9-12 July 2007.

Zhao, Mingming. 2011. “Automatic multi-modal tuning of idiophone bars,” Masters Thesis,  M.Phil. Curtin University, School of Civil
and Mechanical Engineering, Department of Mechanical Engineering

Stone, B. 1992. “The receptances of beams, in closed form, including the effects of shear and rotary inertia,” Journal of Mechanical Engineering Science 206 (2): 87-94.

Determining the Bar Shape

In the previous few posts, we spent considerable time analyzing the sound produced by commercial instruments to answer practical questions regarding tuning requirements. We came to the conclusion that  we wanted to tune the fundamental frequency to an accuracy of 2 or 3 cents, that we might not be able to accurately tune the 2nd partial on the shorter bars and that we shouldn’t worry too much about tuning the 3rd partial, since most of the commercial instruments had 3rd partial ratios that deviated greatly from the ideal value of 6.

Next, we turned our attention to the very practical problem of bar shape determination. Pictures of xylophone bars that we found online showed a wide variety of undercut shapes, as shown in the collage at the top of this post. We found examples of bars that had simple “bridge” shaped undercuts like that shown on the LaFavre site (i.e., a flat bottom with rounded ends), single scallop undercuts, double scallop undercuts, etc.. The marimbas mostly seemed to have a simple bridge shaped undercuts, but the xylophones tended to have multiple curves, at least for the bars in the lower register. We also noticed that, in general, as the bars got shorter, they all tended to use a simple single curved undercut (as opposed to multiple scallops).

The Literature

Uncertain of how to move forward, my son and I turned to our old friend – the internet. Ideally, we would find a simple formula or recipe that would allow us to deterministically shape our bars, given our 1:3:6 desired tuning ratios. Initial searches seemed encouraging. One of the first papers I found was by Orduna-Bustamante (citation below). That paper described tuning of beams to a 1:3:6 ratio by using a undercut that was defined by a simple parabola. This seemed to be the answer that I was looking for: a simple functional form of the undercut that yielded the tuning ratios I was looking for. However, I had two concerns. First, I couldn’t understand why almost all of the xylophones that I found had multiple scallops for the undercut, rather than just the simple parabola described in the paper. I mean, if a simple shape will do, why all of the fuss to cut the more complex shapes. The second concern that I had with the results is that the author stated that they were typically only good for thin beams – those that had a thickness to length ratio of < 1/30. Given that my longest bar was about 15 inches, this meant that the thickness could only be 1/2 inch. It wasn’t clear to me at the time if this was the thinnest part of the bar, or the overall thickness. In any case, when you consider that my shortest bar was about 5 inches, this meant that the math was accurate only if the bar was somewhat less than 3/16 of an inch thick. The instruments I saw and inspected had bars that were much thicker than this.

Incidentally, the Bretos papers that are cited below also indicated that a parabolic undercut could achieve a specific 1st to 2nd partial tuning ratio. It even went a little further and provided a family of graphs that demonstrated that any number of parabolic curves could obtain a specific 2nd partial ratio. That is, one could trade the width and depth of the undercut to achieve a specific ratio. If different parabolic shapes could achieve the desired ratio, then it begs the question about which shape is “best.” This got me thinking about the other properties of the bar that might be affected by the undercut shape. These are properties like:

  • The frequencies of the higher overtones
  • Overall amplitude of the bar for a given strike impulse
  • Relative amplitude of the different tones produced by the bar (e.g., the ratio of the amplitudes between the 1st and 2nd partials)
  • The rate of decay for the fundamental and overtones
  • The tonal qualities of the bar as a function of where the mallet strikes the bar
  • The bar thickness (e.g., some solutions may yield impractically thin bars)

Bottom line: it seemed like I had to understand the relationship of the bar shape to all of these bar properties, or just try to mimic what I had seen on other instruments – the double undercut shape. So I dug my heals in and went back to the literature.

Beam Theory

Remember in a previous post when I caveated my comments by noting that I am not a musician? Well I am not a mechanical engineer either, so the following discussion may be worth what you paid for it…

I kept looking. Along that way, I found some more papers that described computing bar modes based on the shape of the undercut (some cited below). They all discussed “beam theory” which is a mechanical engineering topic that can be used to predict the vibrational modes of long thin objects.

The mechanical engineers (MEs) define a prismatic beam as a long object (relative to its thickness) that has a uniform cross section.

Prismatic beam
Prismatic beam


Not a beam!
Not a prismatic beam

There is mathematical theory that describes how beams respond to external forces and how they vibrate. The two main theories are called Bernoulli-Euler beam theory and Timoshenko beam theory. Both of these are analytic techniques that can accurately describe bending and vibrational modes in beams. Both make simplifying assumptions, so only provide an approximation to the true vibrational modes. They also require that the beams be slender and long in order to accurately predict the vibrational properties. The Timoshenko theory considers some second order effects, so is more accurate in some situations.

But What About Non-Uniform Beams?

Many of the papers that I found that describe the tuning of xylophone bars are based on Bernoulli-Euler or Timoshenko theory. However, as noted above, this theory only works for prismatic beams of uniform cross section. Of course, a shaped xylophone bar has a varying cross section, so how can this theory be used to predict the vibrational behavior of these bars? It turns out that bars of varying cross section can be approximated as a series of end-to-end prismatic beams of varying thickness. The theory can model each of the little prismatic segments accurately, and then other math is used to describe the connections between them. This technique is generally referred to as receptance sub-structuring in the ME literature.  If enough short segments are utilized, the thickness steps between the bars can be minimized, resulting in a good approximation to a smooth undercut. The bottom line is that, while this theory has some limitations, it can provide a good estimate of the vibrational properties of shaped xylophone bars. As you will see in subsequent posts, this is the basis of the approach that I used to determine the shape of my xylophone bars.



Chaigne, A., and Doutaut, V. 1997. “Numerical simulations of xylophones I. Time-domain modeling of the vibrating bars,” J. Acoust. Soc. Am. 1011, 539–557.

J. Bretos, C. Santamaria, and J. Alonso Moral. “Tuning process of xylophone and marimba bars analyzed by finite element modeling and experimental measurements,” The Journal of the Acoustical Society of America, 102(6):3815-3816, 1997.

J. Bretos, C. Santamaria and J.A. Moral, “Finite Element Analysis and Experimental Measurements of Natural Eigenmodes and Random Responses of Wooded Bars used in Musical Instruments”, Applied Acoustics, 56, 141-156 (1999).

Orduna-Bustamante F., “Nonuniform beams with harmonically related overtones for use in percussion instruments,” Acoustical society of America, Vol. 90, No. 6, pp 2935-2941, 1991.