Hi Alex –

Please see my comments above to Anton. I did post the code to the “Epilog – The Code” page in case it’s useful to you and others. Cool idea to host an online version of this code – I am kinda swamped right now, so don’t have a lot of time, but it would be fun to help early next year when I have more time.

Best, Rich

]]>Hi Jason – You don’t need to buy them; I think I included the PDFs for all bars on this site, right?

R

]]>Hi Anton – I sent this note below to your email, but wanted to copy here too for others’ benefit.

Best, Rich

Hi Anton –

Sorry about the slow response – my supermediocre site is still online but sort of orphaned. I haven’t logged in in so long that I couldn’t remember how at first! Sorry too that you had to track me down through my wife’s instagram. I’m retiring soon so hope to give this neglected site some much needed love 🙂

So I’m attaching the code to tune the bars, but this may not be much use to you for a few reasons:

This is Matlab, so you will need an expensive license. To make matters worse, it depends on a few Matlab “toolboxes” which are also expensive. However, perhaps this could be converted to Python or Octave?

I wrote for myself, so the code is, um, a bit scrappy 🙂

While this code ultimately worked for me, identifying the modes from the sound clips is a bit fragile and took a lot of trial and error and code tuning to function correctly. I’m sure there are others’ who could develop a more robust and flexible suite of algorithms.

So with those caveats in mind, I checked for the dependencies of the main routine, which is called XyTune.m. Here are those commands and results:

>> [fList,pList] = matlab.codetools.requiredFilesAndProducts(‘XyTune.m’);

>> fList’

ans =

8×1 cell array

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\AnalyzeClip.m’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\DelineateSoundClip.m’}

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\Notes44.mat’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\XyTune.fig’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\XyTune.m’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\hline.m’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\runningExtreme.m’ }

{‘C:\D\Projects_not_in_Dropbox\Xylophone\matlab\vline.m’ }

>> pList.Name

ans =

‘MATLAB’

ans =

‘Signal Processing Toolbox’

ans =

‘Statistics and Machine Learning Toolbox’

ans =

‘DSP System Toolbox’

The attached zip file contains the dependencies in fList. The pList variable identifies the Matlab packages that are needed. I don’t know which functions use these packages, but my recollection is that, with the exception of the real-time audio functions, I am not using any really heavy duty functions from the Toolboxes, so perhaps removing the dependencies on these toolboxes might not be too hard?

Good luck!

Rich

]]>I’d also be interested in perhaps putting together a hosted version of this code where users could input some params that could be passed into the `m` code. Would love to collaborate on that too if you’re interested.

]]>Hi Rich, could you send me the AnalyzeClip function too, and any other code you have available to share not part of the zip?

Alex

]]>Thanks Matthieu! Did I mess say km/m^3? I will see if I can find that and fix it. Sorry about the error!

Best, Rich

]]>Thanks for the compliment Dennis. My son is 20 now and still loves this instrument. The best part of all of this is that we spent so much time together building it and geeking out! While he doesn’t play it much anymore, he clearly takes a lot of pride in it and embraces the idea that it is an heirloom that will be in his own living room some day.

Best, Rich

]]>