Who knows whether or not this is already a published method, but
essentially what I did was to create a set of virtual strings in the
computer's memory out of linked lists. There is a virtual string
created for each possible note. The length of the string is what
determines what note it represents. Each piece of data extracted from
the WAV audio stream was pushed down each of the strings - one after
another. When one hit the end of the string, it would bounce back in
the opposite direction for a certain amount of distance, but
inverted. Imagine the data easing, trainlike, back and forth upon the
strings. Imagine it. In time, certain strings would form a plump
wave. Those strings eliciting that formation at the time represented
which notes were being played. This was conceived of as a method of
representing the sympathetic vibration that occurs on an instrument
like the viola d'amore. (Thank you, Dr. Howell!) For all of the
testing that I did, the method appeared to be successful. Obviously,
there were serious issues due to the amount of time it would take for
the computer to process this. There are a lot of strings, after all.
If anyone is very interested in this, please feel free to contact me.
You're welcome to what source code and data I can find. Good luck if
you have a slow computer.
Mike
mi...@vt.edu wrote:
> Hello everyone. In July of 2002, I made a post to this group entitled
> "WAV to MIDI algorithm (Polyphonic)".
I found this;
http://groups.google.com/group/alt.music.midi/browse_thread/thread/eb7278b9663b89de?q=%22WAV+to+MIDI+algorithm%22#2bf93cd8cbea2022
in comp.dsp
> I had made an algorithm to
> determine the notes of real polyphonic music, regardless of the
> instrument...but at the time, I did not wish to share my secrets. As
> I have learned a thing or two over the years about secrets, I thought
> I'd reveal what I had done..in the case that anyone is still
> interested. And thanks again to those who had interest and shared
> their thoughts with me at the time.
>
> Who knows whether or not this is already a published method, but
> essentially what I did was to create a set of virtual strings in the
> computer's memory out of linked lists. There is a virtual string
> created for each possible note. The length of the string is what
> determines what note it represents. Each piece of data extracted from
> the WAV audio stream was pushed down each of the strings - one after
> another. When one hit the end of the string, it would bounce back in
> the opposite direction for a certain amount of distance, but
> inverted. Imagine the data easing, trainlike, back and forth upon the
> strings. Imagine it. In time, certain strings would form a plump
> wave. Those strings eliciting that formation at the time represented
> which notes were being played. This was conceived of as a method of
> representing the sympathetic vibration that occurs on an instrument
> like the viola d'amore. (Thank you, Dr. Howell!) For all of the
> testing that I did, the method appeared to be successful. Obviously,
> there were serious issues due to the amount of time it would take for
> the computer to process this. There are a lot of strings, after all.
So how about harmonics?
How can you tell a octave fifth 'chord' from (very strong) 2nd and 3rd
harmonics?
> If anyone is very interested in this, please feel free to contact me.
> You're welcome to what source code and data I can find. Good luck if
> you have a slow computer.
I'm interested.
I'm not a math wizard though.
Regards,
Rob
Original:
> http://groups.google.com/group/alt.music.midi/browse_thread/thread/eb7278b9663b89de?q=%22WAV+to+MIDI+algorithm%22#2bf93cd8cbea2022
> in comp.dsp
6 years later response:
http://groups.google.com/group/alt.music.midi/browse_thread/thread/db35de155edc489
> So how about harmonics?
> How can you tell a octave fifth 'chord' from (very strong) 2nd and 3rd
> harmonics?
All I remember about that is that if a harmonic is so loud that you
can actually hear it as a note, it would show up as a note...depending
on the threshold that you set. I suppose if one had a fast enough
computer, they could analyze the strings to determine the manner in
which octave strings are oscillating between their natural resonant
state and harmonic states to come to various conclusions.
> I'm interested.
I am packaging the code now...just send me an e-mail and I'll respond
with a download location.