Music Notation Parsing
-
I may be totally wrong, but it seems that there should be a fairly good piece of software that can "listen" to a WAV or MP3 of a song, and transcribe (polyphonically) the various parts into staves of notes for that instrument. Anyone know of such an application? Anyone aware of one being developed using machine learning? Thanks in advance.
AudioScore from Neuratron (Transcribe MP3s & CD Tracks with AudioScore) has been around for a while and offers a free demo (not sure if this is a trial period or a "can't save" version). I've no experience of it but their music OCR (PhotoScore) is pretty good.
Cheers, Pete Sykes
-
You want software, that can hear a song, and transcribe each instrument, being able to recognise two different guitars, a guitar from a bass etc, in its right key, a key which is determined by the average of the notes played, and is not even always evident, into notes that depend on that key? Dream on, it is impossible.
I already found several that do. They may not be able to differentiate an A440 by a guitar from a French Horn (though at least two do by analyzing timbre differences), but they all can analyze polyphonic musical sounds and differentiate. Welcome to the 21st century!
-
I already found several that do. They may not be able to differentiate an A440 by a guitar from a French Horn (though at least two do by analyzing timbre differences), but they all can analyze polyphonic musical sounds and differentiate. Welcome to the 21st century!
MSBassSinger wrote:
an A440 by a guitar from a French Horn
So they dont work. Now, do they recognise the key the music is in?
-
I may be totally wrong, but it seems that there should be a fairly good piece of software that can "listen" to a WAV or MP3 of a song, and transcribe (polyphonically) the various parts into staves of notes for that instrument. Anyone know of such an application? Anyone aware of one being developed using machine learning? Thanks in advance.
I have used both Finale and Sibelius do to this with varying degrees of success depending upon the actual music. Both offer trials so that you can see if it works for you.
-
MSBassSinger wrote:
an A440 by a guitar from a French Horn
So they dont work. Now, do they recognise the key the music is in?
Yes, they do work, and yes, they get the correct key.
-
Yes, they do work, and yes, they get the correct key.
If they cant identify separate instruments they do what was asked. As for the correct key, prove it. :)
-
If they cant identify separate instruments they do what was asked. As for the correct key, prove it. :)
Read the other posts. I have no need to feed the trolls today.
-
Read the other posts. I have no need to feed the trolls today.
Ah, the old 'I already told you' gambit, when in fact you havent. I have of course read the posts, and no mention of an example of software that can identify the key, which is crucial to putting notes on a stave. So, I ask again. Waiting....
-
Pulling instruments out is impossible IMO, but the issue of key is crucial. Regardless of the same notation being used for various keys, if you cant tell the key, you cant score it in a standard way.
I'm no musician but have a basic grasp. By your logic, it must therefore also be "impossible" for anyone to listen to a piece of music and transcribe it. I do know there are several tools (I've used some) that will take normal written music and re-write it in a different key. (The interface to do this was pretty complicated though, requiring the use of two keys pressed simultaneously; "shift" and either "up" or "down" as I recall) By implication, even if any automated tool gets the initial key "wrong" it would be a simple matter to adjust it into a more normally accepted key.
-
I'm no musician but have a basic grasp. By your logic, it must therefore also be "impossible" for anyone to listen to a piece of music and transcribe it. I do know there are several tools (I've used some) that will take normal written music and re-write it in a different key. (The interface to do this was pretty complicated though, requiring the use of two keys pressed simultaneously; "shift" and either "up" or "down" as I recall) By implication, even if any automated tool gets the initial key "wrong" it would be a simple matter to adjust it into a more normally accepted key.
No, because (some) people (after many years in music) are very good at recognising scales, mood, and hence the key.
DerekTP123 wrote:
take normal written music and re-write it in a different key
This is simpler, much simpler. The notes and key are given. Trying to determine they key is difficult. For example, the key of G is a happy key. The key of E is moody and blue. A is simple, but fun. Deep Purple used G a lot. BLues uses E. ACDC used A a lot. How does a machine recognise mood? Emotion? And then the issue of taking apart the sound and determining which instruments are playing which notes. Very hard to do for a human ear who knows music, and knows the make up of the band already. For example it takes a good ear to recognise two guitars are playing a solo. It is often noticeable because the combination of notes is not physically possible to play. But you have to be a guitarist to recognise that. A computer program, well, it can only do what it is told. It can not interpret for itself and decide.
-
I may be totally wrong, but it seems that there should be a fairly good piece of software that can "listen" to a WAV or MP3 of a song, and transcribe (polyphonically) the various parts into staves of notes for that instrument. Anyone know of such an application? Anyone aware of one being developed using machine learning? Thanks in advance.
If anyone is working on this, it would probably be the major music notation software companies like Notion, Make Music's "Finale", or Sibelius. Most of them already have this functionality for monophonic input through a microphone, but it's designed more for playing a wind instrument or singing rather than wav or mp3 input. Google "Finale MicNotator HyperScribe" to see some examples of how to do it with Finale. There is also a company called SeventhString that publishes a program called "Transcribe!" that can help you do your own transcription from an mp3 or wav file by marking the wav display with it's best guess as to what the notes and chords are, but it doesn't do direct audio-to-notation conversion. However, it does have a "piano roll view" that looks promising.
-
I may be totally wrong, but it seems that there should be a fairly good piece of software that can "listen" to a WAV or MP3 of a song, and transcribe (polyphonically) the various parts into staves of notes for that instrument. Anyone know of such an application? Anyone aware of one being developed using machine learning? Thanks in advance.
I think this is usually done in two steps: audio>midi and then midi>notation. Some of the audio>midi software works OK for a single-note (monophonic) line, but the recognition of midi note pitches from polyphonic (multi-note, multi-instrument) audio is inevitably a lot less accurate (to put it mildly). A lot depends on the instrumentation in the audio file. Complex instruments with lots of harmonics are harder to work with than e.g. a simple pure flute sound. Maybe Intelliscore, Wavemid or WIDI?
-
I may be totally wrong, but it seems that there should be a fairly good piece of software that can "listen" to a WAV or MP3 of a song, and transcribe (polyphonically) the various parts into staves of notes for that instrument. Anyone know of such an application? Anyone aware of one being developed using machine learning? Thanks in advance.
I plan to take the trial versions of the software titles recommended in this thread, and try them out this weekend. Then I can report on how well they worked, given the same MP3. Trolls will be allowed to eat at that meal. :)
-
I think this is usually done in two steps: audio>midi and then midi>notation. Some of the audio>midi software works OK for a single-note (monophonic) line, but the recognition of midi note pitches from polyphonic (multi-note, multi-instrument) audio is inevitably a lot less accurate (to put it mildly). A lot depends on the instrumentation in the audio file. Complex instruments with lots of harmonics are harder to work with than e.g. a simple pure flute sound. Maybe Intelliscore, Wavemid or WIDI?
I agree. As an amateur musician (full time software engineer), if the software can get me 80% or better on the notes, I can sort out the instruments from hearing the song if the software can't get it. As for the key signature, if I can't spot a key signature and key change from the accidentals in a C key signature, then I should not be arranging music.
-
GenJerDan wrote:
isolating individual instruments
Easy in a three piece band perhaps, in an orchestra?
GenJerDan wrote:
map them to whatever
And how do you determine the key? There are only 12 notes. Working out the key is very difficult.
You would need to count the notes of each frequency of the whole piece, assume most are not accidentals, then compare the highest counts to a table of notes per key. If there is a question, you can look at the first and last notes of the piece to decide.
-
GenJerDan wrote:
isolating individual instruments
Easy in a three piece band perhaps, in an orchestra?
GenJerDan wrote:
map them to whatever
And how do you determine the key? There are only 12 notes. Working out the key is very difficult.
In a musical score you don't really show the key (the music could be in a mode instead) - you just apply the convenient number of sharps or flats after the clef sign. You'd just need a table of flats and sharps in the order they appear on the circle of 5ths. The program can notice that there are way more b-flats and e-flats than naturals, and put them by the clef. You'd want the table so you wouldn't end up with non-western key signatures with just an a-flat and a c-sharp. Modulation would be more difficult, but noticing that now there are all b and e-naturals, with c and f-sharps would be an indication. With instruments that throw out lots of overtones it would be difficult to determine which notes are actually being played. A Mixture Stop[^] on a pipe organ or an old Hammond drawbar would be pretty difficult to deal with.
-
You would need to count the notes of each frequency of the whole piece, assume most are not accidentals, then compare the highest counts to a table of notes per key. If there is a question, you can look at the first and last notes of the piece to decide.
Yes, getting complex isnt it.
-
In a musical score you don't really show the key (the music could be in a mode instead) - you just apply the convenient number of sharps or flats after the clef sign. You'd just need a table of flats and sharps in the order they appear on the circle of 5ths. The program can notice that there are way more b-flats and e-flats than naturals, and put them by the clef. You'd want the table so you wouldn't end up with non-western key signatures with just an a-flat and a c-sharp. Modulation would be more difficult, but noticing that now there are all b and e-naturals, with c and f-sharps would be an indication. With instruments that throw out lots of overtones it would be difficult to determine which notes are actually being played. A Mixture Stop[^] on a pipe organ or an old Hammond drawbar would be pretty difficult to deal with.
Take the intro to Sweet Child in Time. What key is that in? :)
-
Thanks, Ravi. Unfortunately, the app does not allow a trial period that reads WAV or MP3 files without providing a charge card. Before I handover card info, I need to see it work. I do appreciate your quick response.
I thought they had a free version that would let you notate by singing?
/ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com
-
GenJerDan wrote:
isolating individual instruments
Easy in a three piece band perhaps, in an orchestra?
GenJerDan wrote:
map them to whatever
And how do you determine the key? There are only 12 notes. Working out the key is very difficult.
Munchies_Matt wrote:
And how do you determine the key? There are only 12 notes. Working out the key is very difficult.
The technology to do this has greatly advanced over the last 20+ years. There are several $100 pedals that do this very accurately. Many of them (Digitech, TC Helicon, BandInaBox) license the same software from a Canadian company (I forget the name). /ravi
My new year resolution: 2048 x 1536 Home | Articles | My .NET bits | Freeware ravib(at)ravib(dot)com