Music Transcription - Darry Danzig

From WeKey
Jump to navigationJump to search

PHYS 210 PROJECTS --> here

A Transcriber - My idea is to create a computer program that transcribes what it hears through the microphone. This program could hear something and then generate the music notation for what it has heard.

Have you Googled LilyPond yet? I believe there are various ways to get the Fourier transform (Google that too!) of your microphone signal; the next step would be to analyze this frequency spectrum (perhaps with python) and pick out the main peak(s) at frequencies corresponding to notes on the scale. (One challenge would be to shift the reference scale a bit if the instrument happens to be a little off-key.) Then just generate the corresponding LilyPond input and feed the result to LilyPond to convert it to sheet music. That would actually be pretty cool! But it's a substantial Project, so you need to get the hardware installed and tested PDQ. Caveat: check carefully with Google to see if this has already been done; there may be a kit you can buy cheap, which would mean you'd need to design a "value added" improvement, but then you could sell it to the manufacturers! -- Jess 15:25, 20 September 2008 (PDT)

Okay, I've found the website for LilyPond. As for the Fourier transform...I'll have to get my head around that one as I don't think we've been formally introduced.

I am wondering how my program will be able to get a signal from the microphone as I have never done anything quite like that before. But I have downloaded the source code for audacity which is a program that knows how to do that. Perhaps I'll find some clues if I take a good peek inside.

As a suggestion, I would say to work on one instrument, because unless you're able to separate tones through their timbrel qualities, it'll make a transcription either exceedingly cluttered or lacking certain spaces. (ie. If your program looks at only the strong fundamental of a note, it may write off an instrument at a higher tuning [let's say cello and violin] as overtones of the lowest frequencies.)

As well, perhaps a noise gate will be useful for preventing the program from attempting to transcribe fuzz. S48571087 22:05, 1 October 2008 (PDT)