The Guitar Material Characterization Project


After using LabView to collect the output after the buffer stage of the signal conditioning circuit, we converted it to a series of amplitudes with magnitudes between 1 and -1. After importing it into Matlab, we ran several filtering and processing functions on it as noted. The relevant plots of the raw data can be found to the right (click on any image to enlarge it).

The raw data shows a definite differentiation between the frequency characteristics of the three woods. The difference is somewhat difficult to observe, however, so we filtered the data exaggerate the difference. These comparison plots are also to the right.

The raw data itself can be viewed by clicking on the links below. Note, however, that they are text files containing arrays 40,000 elements long.

Somewhat surprisingly, the frequency responses observered essentially confirmed the "traditional wisdom" of guitar material selection. Ash is known for being a good all-around guitar hardwood. It doesn't overly color the sound and offered fairly good response at several harmonics. Maple had a quirkier response curve, and attenuated several of the lower harmonics while emphasizing the upper ranges. Koa -- exotic, exciting koa -- had strong bass response and an interesting ringing effect.

Explaination of the "Exaggeration" Filtering

While the original recorded sounds were mathematically very different (especially in frequency content), we decided to exaggerate these effects so that those with an untrained ear can very easily discern the different wood's tonality. To do this, we decided to invoke the evil spirit of a non-linear transform The problem was that any linear scaling of the frequency content would have been cancelled out by the normalization that would precede the writing of the sound files; the linear scaling would have only made the amplitudes greater (and the output sound louder, at least before the normalization). Therefore, we decided to extract the magnitude data from each frequency-domain data set and square it (.^2 in Matlab) and then reincorporate the phase data and create the sound as we would normally.

This non-linear transform exaggerated the difference between the sounds. Say for example we had two numbers, 2 and 4 the difference between them is the value of the first number. A simple scalar multiplication, say by 2 would result in 4 and 8. The problem with that is that the relative differnce between the two numbers is still the value of the first. Therefore, when we renormalize the data, the transformation disappears. Now consider the squaring; 2 and 4 become 4 and 16, and the difference between the two is exaggerated. In this way the frequency content differences are also exaggerated.

Explaination of the Averager

To make the rectangular approximation (the last graph to the right), we used a simple m-file (squareproduce.m) that runs through a vector, looking for peaks beyond a specified threshold. When it finds one of these peaks, it calculates the mean of the peak and then produces an output vector segment whose width is the width of the peak and whose height is the mean value of the peak. Therefore, the rectangular approximation has approximately the same energy at small range of frequency around the peak as the original version. This makes it easier to see the relative strengths and weaknesses of the transfer functions of the three woods.

Raw Data

[ Ash ]   [ Maple ]   [ Koa ]   [ Control ]   [ Noise ]  

[ Back to the Main Page ]

Data Plots




All Woods:

All Woods Filtered: