Tag Archives: xylophone

Making the Legs – and Wrapping It Up

Most of the commercial xylophones that we checked out had simple metal support frames and wheels.  Additionally, almost all include a mechanism to raise the height of the instrument. Although practical, the aesthetics of these frames leave a lot to be desired.

While we could have welded up a frame and then had it powder coated, we decided to make ours out of wood, mostly because we wanted it to look good.

We did have some requirements for our frame:

  • We wanted it to look good!
  • It had to be stout enough to last for years.
  • The height needed to be adjustable as Jack grows. (Although we didn’t need a rapid adjustment method like you’d want if you were trying to accommodate different musicians.)
  • The assembly had to come apart – we assume this instrument will follow Jack when he grows up and moves away.

We considered whether it needed rollers, but at the end of the day, decided we didn’t need them since the instrument would be used in our home, and including them would require a more bulky frame.


We don’t have many photos of the construction process for the legs, since it is pretty straightforward woodworking. If you’ve gotten this far in this process, I assume you have the skills to bang out the legs. However, there are a few comments on the construction that may be noteworthy.

First, we were concerned about the integrity of the legs as they attach to the frame ends. Recall from the previous posts that the frame ends have big-ole mortises that receive the legs. Here is a zoom of the mortise in the long frame end.

Zoom of leg mortise in end frame
Zoom of leg mortise in end frame

The idea was to make the frame stiles so that they slipped tightly into the mortise, and then use bolts to attach the leg to the frame. So we cut the mortises first, and then sized the legs to fit. Even though the frame ends are thick maple, there is a long lever arm on the legs that puts considerable force on this joint. We addressed this in two ways. First, as shown in the photo, there are 8 bolts that hold each leg on. Although a bit unorthodox, I have found that machine threads hold pretty well in hardwoods, as long as you are careful not to over-tighten the bolts. So I tapped 1/4-20 threads into each hole using a bottoming tap. This gave about 3/4 of an inch of threads for each of the 8 bolts. When all the bolts are snugged up, the integrity of the joint is really good. We considered using metal threaded inserts, but the bolts all seemed to snug up solidly so that seemed like overkill. If this were a traveling instrument that required frequent assembly and disassembly we definitely would have opted for them.

When we fabricated the legs and bolted them on, there was quite a bit of left-right sway in the instrument. We kind of expected this because the legs only slip into the mortise about 1.5 inches (i.e., 1.5 inches in the upward direction). Even if the legs were glued in to frame ends, the wobble wouldn’t have been reduced, since it is the result of natural flexing in the maple end pieces. So the second thing we did was to add corner braces. Here’s a picture of what I am talking about – it shows the brace at the right end of the instrument:

Right-end corner brace
Right-end corner brace

Man, these braces did the trick! No more wobble – the instrument was rock solid. The braces are bolted in with countersunk 1/4-20 screws as well, so are removable. The to end of each brace is bolted to a spanner block between the rails. Very straightforward, but effective.

This photo also shows our approach to height adjustment too. Basically, the lower leg assembly slides into a channel contained of the upper leg assembly. The channel was built by attaching two rosewood stiles to the ambrosia maple leg. It seemed a bit gratuitous to use Honduras rosewood for these leg components, but it was wood that was leftover after making the bars. Plus, aesthetically, it nicely tied the legs into the rest of the instrument. Here is another picture of one of the legs that shows the upper and lower leg assemblies:

Leg with height adjustment channel
Leg with height adjustment channel

…and another photo of the leg assembly that more clearly shows the channel:

Close up of upper leg assembly
Close up of upper leg assembly

This photo also shows the 8 bolts that attach the upper leg to the frame end. I wasn’t thrilled with the placement of the outer two bolts which happened to land on the joint between the rosewood and maple. I considered routing out the rosewood material around these bolts so that they sat flush with the maple, but didn’t get around to it; although it looks a cheesy, the bolts are functional and hold snugly. Plus, these bolts are not visible from the top of the instrument – you have to get under it to see them. Further, removing this wood without causing a bunch of tear out would be tricky, so I decided it was best to leave it be.

The feet

We don’t have a lot of photos of the foot construction either. Again, this was pretty standard woodworking, and there are lots of ways to fabricate the feet. Nevertheless, there below are a few tidbits that might be generally useful.

We wanted the feet to be removable from the lower leg, which complicated the design a bit. Mechanically, the lower leg is fastened to the foot via a deep mortise in the foot that accepts the lower leg. This mortise needed to be deep enough to provide front-back stability in the instrument. Aesthetically, we wanted to avoid corner braces on the leg bottoms, so that means that the mortise must support the full torque of this joint. The maple we chose for the legs wasn’t thick enough to support these deep mortises, so we created to stacked design shown in the photos. The top and bottom pieces of the foot were made separately, and then glued together. Then, we added the large mortise to the laminated foot. We were very careful to make the mortise as tight as possible to avoid wobble in this joint. Here is a photo of the lower-right foot:

Close-up of lower-right foot
Close-up of lower-right foot

The photo also shows the means for bolting the foot to the lower leg. Using a forstner bit, we drilled holes in the inside of the foot that were large enough for the heads of our 1/4-20 pan-head screws. Then, we drilled through-holes in the lower leg tenon, and tapped the back side of the foot to receive the screws. This approach allowed the screws to pull the leg tenon snugly against the foot, allowing for a pretty secure joint.

The last thing we did was to attach 1/4 inch thick heals to the ends of each foot. These were from rosewood scraps that we had laying around, and allow better stability on an uneven floor.

Wrap It Up

That’s pretty much it. Maybe it wasn’t 613 steps to build this thing, but it was a lot!

I hope this info is useful to someone out there. Like I said in the introduction, the whole point of writing all of this up is to fill the information gap that I experienced; hopefully this does that!

Someone asked me if a person could build a xylophone given the information on this site. I hadn’t thought about that particular question before, however, after pondering it for a bit, I think the answer is “yes!” Clearly, this is not a step-by-step guide, but if you have woodworking skills, I believe there is enough info here to make the bars. Recall that I included PDFs for all 44 bars, so you could print these and replicate my bars with a little care.

I did not include the Matlab-based bar tuning software, because very few folks have Matlab, so I think there is such a limited audience for that. However, my computer-based tuning method was a little unorthodox anyway. Most commercial builders use a strobe tuner on their bars. For example, check out this How It’s Made video showing how Malletech makes their bars.  Notice the guy switching back and forth between the tuner and the sander? Looks familiar doesn’t it….

Anyway, that’s about it. If you find this info useful, please leave a comment – I’d love to hear about your own efforts and will try to help if I can.

Happy building!

Rich and Jack

(But mostly Rich)



Tuning the Tubes

The resonator tubes are an important part of the xylophone. They boost and shape the sound produced by the bars. There is lots of information on the web about resonator tubes, so I won’t repeat that, but I will discuss our approach to making, mounting, and tuning the tubes.

The Physics

It is not hard to find info about “quarter wave stopped resonator tubes” on the web (in musical parlance these are sometimes called “stopped pipes.”) This is the type of resonator tube that is used for xylophones and marimbas These tubes basically resonate at a fundamental frequency of c/4L, where L is the length of the tube and c is the speed of sound. In simple terms, the tube boosts the bar sound amplitude by utilizing the normally wasted downward-directed sound energy in a way that boosts the upward facing energy (which is what you mostly hear). It shapes the sound too, because it does not boost all frequencies equally. In particular, it only boosts the fundamental and the odd harmonics. Because xylophone bars are tuned to a 1:3:6 frequency relationships, the fundamental and second partial will be boosted, but the third partial will not. This is another reason why I wasn’t too concerned about tuning the 3rd partial – its already puny energy is swamped by the boosted energy of the first two partials. Additionally, while we haven’t discussed it much, real xylophone bars “ring up” not just the “transverse modes” that dominate the sound, but also lesser “longitudinal” and “torsional” modes. Because these modes are not typically odd harmonics of the fundamental, they do not get amplified. So, at the end of the day, when tubes are added to the instrument, you mostly hear the fundamental and the second partial – all the other frequencies get dwarfed.

Tuning the tubes is done by adjusting a movable stopper that effectively changes the length of the tube. This is what determines the length L in the equation above. So you might think that tuning the tubes is just a matter of computing the tube length via the equation above and then setting the stopper to that length (I did,) however, like most equations from physics, the formula above is only approximate. It is very accurate under certain conditions, such as when the tube length to diameter ratio is large and the sound input to the tube is a “plane wave.” However, neither of these assumptions is true for the xylophone. In particular, the shorter tubes have a relatively low length-to-diameter ratio; and the sound wave coming off the bar is likely not planar, since the bottom of the bar is curved.

Dr Entwistle pointed me to a book called “The Physics of Musical Instruments,” by Rossing and Fletcher (ISBN-13: 978-1441931207,) that had some interesting comments about xylophones and ¼ wave resonators. In the section on resonator tubes, they note that the resonant frequency of the tube is a weak function of the distance between the tube end and the bottom of the bar. However, they state that “As yet, the theory describing the coupled bar-resonator system has not been worked out in detail,” which basically means that there is not a simple equation to compute the actual stopper position as a function of the desired frequency.

Additionally, the Rossing book describes a few topics of practical importance. First, the it describes something referred to as the “end correction factor.” It turns out that the equation above must be tweaked somewhat due to the fact that the standing wave in the tube does not end exactly at the pipe mouth but is rather a bit beyond it. The more accurate equation for the resonator frequency is f =c/[ 4(L+0.61r)], where r is the radius of the tube. I found other references to the end correction online and there appears to be some debate in the literature over the correct value of the correction factor (i.e., the value of 0.61).

As noted above, the book notes that the tube frequency is affected by the spacing between the tube end and the bar bottom. I had already seen that some xylophones allowed for adjustment of the height of the tube assembly (i.e., the assembly of all of the tubes locked together into a rigid structure) to compensate for temperature changes. It makes sense that if the tube-bar spacing is less than the 0.61r factor, then it will affect the tube resonance since the bar is effectively serving as a stop at the top of the tube.

At the end of the day, it became clear that the bars must be tuned in situ to obtain accurate tuning. However, I couldn’t resist the urge to check out the physics, so I did a few experiments and built some tuning curves that I hoped might at least guide the resonator tuning. However, in the spirit of full disclosure, I must note that I mostly ignored the results from this effort and just tuned the tubes by ear! Nevertheless, I will describe these experiments, if for no other reason than to perhaps save others the folly of this endeavor. You can safely skip this section without regret if you just want to git-er-done…

Tuning the Tubes

I started out by doing experiments with a piece of PVC as I awaited the delivery of the aluminum. I was particularly interested in verifying the resonant behavior of the tubes as a function of spacing distance to the bar. It wasn’t clear to me how to establish the correct tube-bar spacing. Intuitively, it seemed to me that the best coupling might result from close spacing, so that the spacing would be dictated by physical constraints, like avoiding contact if the bar should sag.

In order to start my experiments, I needed a value for the speed of sound. The speed of sound is a function of the density of the air, which is a function of the temperature. I found an online calculator here that computed the velocity. During my experiments, I measured the temperature at 19.2 C, and the the online calculator gave me a velocity of 343 m/s.

I must admit that I struggled a bit with how to find the resonant frequency for my PVC resonator pipe. I fabricated an adjustable stop and set it to yield a 15.0 cm tube. Per the standard 1/4 wave calculation (with a 0.61*r end correction,) the computed frequency was about 525 Hz. I experimented with several methods of exciting the bar. I tried whacking the end of the tube, and attempted to measure the impulse, but the resonance died out rather quickly. Here’s an example where you can see that the pulse dies out in about 25 ms:

Measured decay of 15 cm tube after being whacked.
Measured decay of 15 cm tube after being whacked.

I did some decayed sinusoidal fitting to this, but wasn’t able to get accurate results. Ultimately, I used a small speaker to excite the tube as shown in this photo:

PVC tube with small speaker used for excitation
PVC tube with small speaker used for excitation

The tube was excited by the speaker at the right, and the resulting audio was recorded with the microphone.

Next, I tried exciting the tube with white noise. Interestingly, you could easily hear the “coloring” of the noise due to the modes. This gave PSD plots like this:

PSD of white noise response.
PSD of white noise response.

However, I found that identifying the peaks was unreliable. Ultimately, I wrote some Matlab code to generate and play a frequency sweep while recording the response. Here is an example of one of the PSD curves:


PSD of 15 cm tube excited with frequency sweep.
PSD of 15 cm tube excited with frequency sweep.

This is what the recording sounded like for this tube:

The code identifies the peaks (which of course correspond to odd harmonics). However, the first peak (the fundamental) was always a bit broad and had a sort of “shoulder” to it, which made me doubt it. So I wrote a little algorithm to find an the optimal “least common factor” for all of the identified peaks. The higher harmonics had generally broad peaks so I also ignored them, and only used the lower modes. In general the setup was somewhat fickle and the quality of the peaks that I got was a strong function of the microphone and speaker placement. In any case, here is some data for my 15 cm tube:

Temp = 19.2 deg C

>> ResonatorTune(500, 'res=15.0, spc=3.0')

res=15.0, spc=3.0 -

Fund: 509.0

, Error (Hz): 5.9, NumModes: 2

   Mode 1: Error (Hz): +10.6

   Mode 2: Error (Hz): -1.2

>> ResonatorTune(500, 'res=15.0, spc=2.0')

res=15.0, spc=2.0 -

Fund: 509.4

, Error (Hz): 6.0, NumModes: 2

   Mode 1: Error (Hz): +10.8

   Mode 2: Error (Hz): -1.3

>> ResonatorTune(500, 'res=15.0, spc=1.0')

res=15.0, spc=1.0 -

Fund: 505.0

, Error (Hz): 2.8, NumModes: 2

   Mode 1: Error (Hz): +5.0

   Mode 2: Error (Hz): -0.5

>> ResonatorTune(500, 'res=15.0, spc=0.5')

res=15.0, spc=0.5 -

Fund: 492.5

, Error (Hz): 3.4, NumModes: 2

   Mode 1: Error (Hz): +6.1

   Mode 2: Error (Hz): -0.7

These data correspond to 4 different collections with varying standoff distances from the end of the tube to the speaker (from 3.0 cm to 0.5 cm). It is interesting that the frequency doesn’t shift above about 2 cm, but there is a nearly 20 Hz shift when the tube is very close to the speaker. This clearly shows the behavior noted in the Rossing book (i.e., decreased frequency for close spacing,) which was pretty cool.

So using this technique, I set off to build a curve that could be used to set the stopper distance for each tube. I chose to set the distance at 0.5 cm, which is about as close as I could safely space the tubes from the bars without fear of contact. For each stopper distance, I performed a sweep and used my least-common-factor code to find the tube resonance. With this approach, I was able to build the following curve.

Resonator tube tuning curve.
Resonator tube tuning curve.

The blue points on the curve are the measurements and the red line was created using the frequency equation given above (including the 0.61r end correction factor). The equation accurately predicts the frequency for the longer pipes, but performs poorly for the short pipes. As a quick test, I tried fitting the equation above, but left the speed of sound and the end correction factor as free variables. This resulted in the blue curve. The fit was better for the short tubes, but resulted in poor performance for the long tubes. So I decided to skip function fitting entirely, and just set my stopper distances by interpolation between the measured points.

Next Up

This post described some of the science involved in establishing the tube resonant frequency. In the next post, I will describe the fabrication and mounting of the resonator tubes.


Making the Frame (part 1)

The first step in building the frame was to determine the total width between the two frame ends (i.e., the ID of the frame width). This was primarily dictated by the bar width and the gaps between the bars. As we’ve described, each of the bars was 1.5 inches wide. The width of the saddle pin with the surgical tubing attached was just about ¼ inch. We messed around a little and found that an extra 1/16 of an inch was about right to include for additional spacing around the pins, yielding a total gap between each pair of bars of 5/16 of an inch.

Next, we had to figure out how much space to leave  for the corner posts and springs that are situated between the end bars and the frame. We determined this spacing empirically by laying out the springs and the corner posts on a table top and adjusted the spacing until we had enough rough to comfortably reach the springs between the outside bar end and the inside edge of the frame end. We found that 3 cm was about right for this spacing.

Now we had enough information to compute the total distance between the frame ends. For those of you who have gotten this far, I probably don’t have to tell you that xylophone bars are laid out like piano keys where the white natural keys are toward the player and the black accidental keys are toward the rear. But just to make it clear, here is a rough layout of my 44 bars:

Bars roughly laid out on a table top
Bars roughly laid out on a table top

As you can see, the natural bars (at the bottom of the photo) determine the total width of the instrument, since the total width for these is greater than for the accidental bars. So the total inside dimension of the instrument is becomes

ID = (3 cm) + (26 bars)*(1.5 inches) + (25 gaps)*(5/16 inches) + (3 cm)
ID = 124.904 cm


The bar width and gap width define the X location (i.e. left/right) of each natural bar, and the pins are of course just centered between each bar. The X center position of each accidental bar just lines up with each natural bar gap center. I had a big complicated Excel spreadsheet that computed all of these dimensions, but this turned out to be more complicated than it needed to be, so I won’t confuse you by including it. I’m sure you can do a bit of arithmetic and determine the bar locations…

Dimensionally, we also had to determine the Y spacing (i.e., fore/aft) between the rails. Recall that the angles of the bar support rails was previously determined by lining up yellow thread suspended by posts with the average node locations. With the 124.9 cm ID spacing drawn on a large piece of construction paper, we simply marked the physical locations of the thread intersection with the inside edges of the frame ends on the paper for both the natural and accidental bars. We were careful to allow for clearance necessary to ensure that the aft ends of the natural bars were about ¼ inch away from the front accidental support rail. This established the center lines for each of the four angled support rails. Here are a couple of scrappy drawings that may help to illustrate all of this.

Drawing showing support rail layout
Drawing showing support rail layout
Drawing showing bar layout
Drawing showing bar layout


In addition to the photo at the top of this page, here is another picture of the rails attached to the frame ends to illustrate the geometry:

Frame showing elevated accidental support rails in the foreground


The only dimensioning left was to determine the Z spacing (i.e., up/down) of the accidental bars relative to the natural bars.  You can see in the photo above that the rails for the accidental bars are elevated above the natural bars. Elevating the accidental bars minimizes the fore/aft spacing of the natural and accidental bars by allowing the accidental bars to overlap the natural bars. The vertical gap between the natural and accidental bars was sent to ½ inch to ensure that the bars would not touch even if the string was loose and the bars sagged.

Laying Out the Frame Ends

We built the frame ends out of 8/4 maple (after dimensioning the lumber, the thickness was about 1.75 inches) that had a bit of figure to it. We wanted these to be beefy, because we knew that it needed to keep the support rails from racking, and it needed to support bolt-on legs. However, at this point we weren’t quite sure what exact shape we wanted for the frame ends but did know that we wanted the top of them to be roughly level with the top of the suspended accidental bars. So we oversized them prior to cutting the mortises that would receive the rail tenons. We had to figure in the total height of the bar above the suspension rail, which is of course a function of the saddle posts that hold up the bars. So we drew  the following picture to try to get all of the dimensions right. Again, this picture a pretty scrappy picture, but at least has all of the dimensions annotated.

Drawing showing elevation layout
Drawing showing elevation layout

When laying out the mortise locations for the Maple frame ends, we indexed everything from the top and fore/aft center of the rectangular frame end pieces. The rails themselves were made from 1×2.5 Mahogany stock. We chose Mahogany because it is dimensionally stable (i.e., unlikely to bow,) because we thought it would look good with the Maple and Rosewood and because we had it on hand. For strength, we wanted the largest tenons that we could reasonably make. The largest chisel for my tenoning jig is ½ inch, so that established the width of the tenons. To keep the shoulder consistent at ¼ inch, we made the tenons ½ x 2 inches.

To keep the layout as simple as possible, we centered each of the support pins on the midpoint (in the thickness direction) of the Mahogany support rails, so the center line on these rails had to meet up with the marked locations on the frame ends accurately or the suspension strings wouldn’t pass through the center of the bar holes. So getting the mortises accurately placed in the Maple end frame pieces was important. Here is a few photos of the mortised frame ends:

The right frame end with mortises
The right frame end with mortises
Zoom of 2.5x1/2 inch mortise
Zoom of 2.5×1/2 inch mortise
Both Maple end frames with mortises
Both Maple end frames with mortises

With the mortises cut, we had to make the tenons on the ends of the Mahogany support rails. What made this somewhat tricky was that these tenons had to be angled, relative tot he long axis of the rails. Angled tenons are always a bit tricky, but this was complicated by the fact that each of the four tenons for a given end were at different angles – a lot to keep track of.

I cut these angled tenons using a delta tenoning jig on my table saw, with Jack on quality control (i.e., making sure I got the correct angles and in the correct directions). I don’t have any photos of this, but I’m sure there is lots of info on the web that describe cutting angled tenons. Personally, I think the “cheek” cuts on the shoulders is the hardest part.

Here are a few photos of the final tenons:

Next up

The tenons and mortises were cut, but we still had to mark and drill all of the holes for the posts and had to shape the end frames. We’ll discuss that, and a few other odds and ends, in the next post.




Designing the Frame

The previous work that we had done to establish the suspension hole locations provided precise angles for the suspension rails. These angles, coupled with the bar lengths, established the fore/aft spacing of the natural and accidental bars. We decided to use 1 inch thick rails, so we had to just ensure that all of the aft ends of all of the natural bars had sufficient spacing from the front accidental support rail. We choose to leave 1/4 inch spacing between the natural bars and the support rail just to allow us a little wiggle room. Constructing the xylophone frame, including the rails that support the bars and the two end pieces, was pretty straight-forward woodworking, but we had to put some thought into the suspension posts and how the resonator tubes would be mounted.

Here are some practical matters that had to be addressed that might affect the frame design and therefore had to be addressed first:

  1. What to use for the posts that support the suspension strings?
  2. The diameter of the resonator tubes?
  3. How to support the resonator tubes?

The question of posts was important, because, depending on the thickness, it might have a bearing on the bar spacing. The post height might also affect the frame design, so we needed to figure that what our posts were going to be before building the frame.

There was a similar issue for the resonator tubes – the diameter might drive the spacing of the frame. Although this seemed like less of a concern than the post selection, I had learned from my previous woodworking projects that you always select hardware first (e.g., it is easier to build a box around available hinges than to find hinges that fit a project you’ve already built). So it seemed smart to figure out what material was available and cost effective.

I wasn’t as concerned about the last question, how to mount the tubes, but it seemed like giving this some thought could keep me out of trouble down the road.

The Posts

I anguished over what to use for posts. Most commercial xylophones that I found had posts like the ones shown in the image at the top of this page. I saw a few variations, like posts with a through-hole rather than a “saddle” to support the string, but all of the posts were similar and were cut from flat metal. In addition to the post itself, most included a rubber sleeve to keep the bars from buzzing against the metal during play. I had found a source of replacement posts made for Musser-brand instruments here, but they’re about 90 cents which doesn’t sound bad until you realize that I need 108 for the instrument! I also needed the rubber sleeves, which were sold by the same vendor for about a buck a piece – ouch! So I wracked my brain trying to determine an easy way to build them. Dr Entwistle weighed in too, but every idea we came up with (e.g., brass bolts with a bit of machining) was either nearly as expensive or required a bunch of per-post labor. Now I am pretty patient when it comes to repetitive tasks (hey, I built a xylophone, right!), but hand machining 108 posts was more than I could stomach.

So at the end of the day, I bit the bullet and just bought the posts from the link above. I also bought some springs that tension the suspension strings and some really nice end posts that support the tension load of the strings at the corners. It was hard to tell from the photos on the vendor website, but when I got these I was actually pretty pleased with the quality. Here are a couple of photos of the “saddle posts” and the corner posts:

Musser "saddle" posts
Musser “saddle” posts
Musser corner posts
Musser corner posts


The springs were nothing special, but were inexpensive, so I went ahead and bought them from the same site. Here was an invoice of the parts:

Invoice for post hardware
Invoice for post hardware

Actually, you will notice that I messed up and only ordered 100 posts – argh! I ended up ordering another 10 from a different vendor that had cheaper shipping for small orders.

The only thing left was the rubber bumper material – I wasn’t so keen on giving Musser another hundred bucks for a bunch of little rubber pieces. I had some surgical tubing around for another project, and I found that with a little soapy water for lubrication, I could slide it over the posts for a perfect fit. The only downside was that it was that standard tan color that is typical of surgical tubing. However, I found some black tubing of the same size from this source. This was only $10.95 (with free shipping) for 10 feet, which was more than enough. Sweet, that’s about a $100 savings! It looks great on the post too. Check this blow up of the posts with the surgical tubing and the corner posts.

Zoomed image of my posts with the rubber jacket
Zoomed image of my posts with the rubber jacket

Resonator Tube Material Selection

We really, really, really wanted to make the resonator tubes out of brass. Polished brass just looks so classy, and we were trying to make an instrument that looked as good as it sounded. However, the cheapest price I could find for brass was about $13 per foot. Considering that we needed about 20 feet (more about the resonator tube lengths in a later post,) that was a pretty expensive option. We also considered that brass is pretty heavy, so the supports would have to be beefy enough to support the weight. At the end of the day, we compromised and decided to make the tubes out of aluminum – not quite as sexy as brass, but after applying a brushed finish and some lacquer, they looked pretty good.

We just had to figure out the diameter. Our rosewood bars are 1.5 inches wide, and we planned to space them about 1/4 apart. So the tubes could be up to 1.75 inches in diameter. However, the paper by Bork (cited on a previous post) suggested that resonator “cross-talk” with neighboring notes could be an issue if the bars were too close together. This potential issue would be worse for the B-C and E-F bars, which are only a semitone apart and adjacent. However, we also considered that a diameter of 1.75 inches would be convenient from a mounting standpoint, because the bars would be butted together, which might ease assembly and aesthetics.

In the end, the solution was driven by the available materials; after a local supplier gave me a quote of $350 for 20 ft of aluminum tubing (!!), I started looking online. Ultimately, I bought 1.5 inch tubing with 1/16 walls. This was about $15 per 4 foot length from Speedy Metals, which is a very reasonable price. (In general Speedy Metals is a great vendor with lots of selection and prices – I love this place!) I calculated that I needed 5 pieces, but bought 6 just in case. Speedy Metals also had 1.75 inch tubing, but only in 1/8 inch wall, which was a lot more expensive and overkill for this application.

Mounting the Resonator Tubes

All of the xylophones that I saw connected the tubes together to form an assembly and then hung them in some fashion from the frame ends. I decided to attach wood cleats to the frame ends to support the resonator tube assemblies. You’ll see more of this in a later post, but I used 1×1/8 aluminum flat stock to tie all of the tubes together. The aluminum is 6061, which is pretty stiff, but bendable; this was important because I had to bend the these support rails at the end where the wood support rails converged.

Here is a snapshot of the invoice for all of the aluminum:

Invoice for resonator tube material
Invoice for resonator tube material

Next Up

Chronologically, the next step that Jack and I performed on the xylophone was the construction of the resonator tubes. However, that included a bit more research and math, so to mix things up a little I will discuss the frame construction in the next post. Finally a little wood working!





Fine Tuning

With the rough tuning done, and the holes drilled, Jack and I moved on to the fine tuning. Our goal going in was to get the fundamentals to within about 5 cents.

The fine tuning took a bit more time than the rough tuning, because we had to be very careful not to remove too much wood – you really have to sneak up on the target frequencies.

After all of the iterations, here is a plot of the resulting bar frequencies and overtones:

Bar frequencies after final tuning
Bar frequencies after final tuning

As you can see, the fundamental frequencies are almost all within +/- 5 cents. For bars 21 (C#6) and under, we were able to keep the second partial pretty tight too. We were not able to maintain the 2nd partial in the higher register, but this is consistent with other instruments that I spectrally measured. We expected the bars to settle out a bit more, so our plan was to tweak them one last time before applying finish to tease out the last few cents.

Bar #43 (B7) was problematic. As we were tuning it, it sounded a bit dead. The spectral response looked a little funny too. Here is the PSD for that bar:

Bar 43 PSD
Bar 43 PSD

Notice that the peak is not well defined. By contrast, here are the PSDs for bars 42 and 44:

Bar 44 PSD
Bar 44 PSD
Bar 42 PSD
Bar 42 PSD

These two have much more well defined peaks than bar 43. We looked back at the PSDs for the blanks, and the differences were not as obvious, so we couldn’t have caught this before tuning. We considered remaking this bar but ultimately decided it was good enough. Perhaps we will replace it in the future.

Here is what the bars sounded like at this point:

All sound pretty good except for the B7 bar, which, as noted, sounds a bit dead.

Just for fun, here is a sped-up video of me tuning on of the bars:

As you can see, I move back and forth a lot between the sanding and tuning stations.

After tuning, I removed the labels and cleaned them up a bit. Here are a bunch of pictures of the bars:

Finally, if you are thinking about building your own bars, you might be interested in the following plot, which shows the number of times I made spectral measurements of each bar.

Number of spectral measurements per bar
Number of spectral measurements per bar

This included all of the initial measurements (i.e., of the blanks) and the rough and fine tuning. This also include a tweak or two that we performed after the fine tuning. As you can see, my longest and shortest bars took the most sand/measure iterations, since I was still learning. After I had these tuned, I worked my way from longest to shortest (i.e., bar #2 to bar #43). Once I got good, the long bars took about 20-25 cycles and the short bars were somewhat faster. All told, this was 939 total spectral measurements – a lot of time and patience.

How Long Did All of This Take?

You may be wondering how much time each sand/measure cycle took (I did,) so I plotted the time between spectral measurements for a typical bar.

Time between sand/measure iterations for bar #3
Time between sand/measure iterations for bar #3

At the start, the when I was removing more wood, the cycles took perhaps 5 minutes. However, as I got closer to the final target frequencies, I was removing just a bit of wood, so the tuning approached 1 minute per iteration.

For round numbers, let’s assume each iteration took, on average, 2.5 minutes. The total time for bar tuning, then, is 939*2.5 / 60 ~= 39 hours. That’s a lot of tuning time! If I had to do this again, it might be a bit faster; at the end of the day, however, I don’t know that there is any way to speed up these cycles without the risk of overshooting the target frequency.

With the tuning essentially done, Jack and I moved on to building the frame and fabricating the resonator tubes. Stay tuned to hear more about that…

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.