image provider

Name That Tune


This essay does not describe an existing computer program, just one that should exist. This essay is about a suggested student project in Java programming. This essay gives a rough overview of how it might work. I have no source, object, specifications, file layouts or anything else useful to implementing this project. Everything I have prepared to help you is right here.

This project outline is not like the artificial, tidy little problems you are spoon-fed in school, when all the facts you need are included, nothing extraneous is mentioned, the answer is fully specified, along with hints to nudge you toward a single expected canonical solution. This project is much more like the real world of messy problems where it is up to you to fully the define the end point, or a series of ever more difficult versions of this project and research the information yourself to solve them.

Everything I have to say to help you with this project is written below. I am not prepared to help you implement it; or give you any additional materials. I have too many other projects of my own.

Though I am a programmer by profession, I don’t do people’s homework for them. That just robs them of an education.

You have my full permission to implement this project in any way you please and to keep all the profits from your endeavour.

Please do not email me about this project without reading the disclaimer above.

This program has several functions: The basic version of the program takes a piece of MIDI (Musical Instrument Digital Interface) music and simplifies it, attempting to pick out the melodic and accompanying themes. It removes any bending or slight shortening or lengthening of the notes, attempting to get at the primitive themes behind the piece.

It then breaks this up into phrases and looks those phases up its library of known music, looking for matches, or approximate matches.

The fancy version of the song can take a wav file, perhaps a person singing or a transcription of on old vinyl recording etc. It attempts to similarly pick out the theme for matching. It would be an automated HumLine hosted by Shelagh Rogers and Danny Marks on the late lamented CBC (Canadian Broadcasting Corporation) Basic Black program.

To make it easier on yourself, look for a specific recording. Then it is in the same key, same speed, same overtones, it could even be the exact same bits.

You may be able to fob part of this off on off-the-shelf hardware. Cher used a device that pulls a voice into perfect pitch. It is now commonly used in pop music. Perhaps such a device could be used to do much of the work of converting to MIDI for you. The problem in simpler with a single melodic line, but the mathematics FFT (Fast Fourier Transform) is able to pull out individual notes from a chord.

You might Google for tools to convert various types of wav file to MIDI. Some can even make a stab at chords. You will surely need some manual touch-up.

A related but simpler project would be restoring old vinyl recording of keyboard music, e.g. Wanda Landowska’s harpsichord recordings or Vladimir Horowitz’s or Glenn Gould’s piano recordings (taking out his humming). You use FFT to convert the recording to MIDI, then play it back on a high quality synthesiser, completely noise free in an all digital process. The timing and volumes are the same. It is a bit like an electronic player piano roll.

Name That Composer
Rhythm Tutor Student Project

This page is posted
on the web at:

Optional Replicator mirror
on local hard disk J:

Canadian Mind Products
Please the feedback from other visitors, or your own feedback about the site.
Contact Roedy. Please feel free to link to this page without explicit permission.

Your face IP:[]
You are visitor number