6 messages
NULL, I don't know what to fuzzily ask in this part of the Forum!

To 80% I'm totally interested in diskussing some stuff here!

Maybe we can get enough input to set something loose in these regions! ;)
NULL, Thanks Royal. This is the board for discussing algorithms and heuristics of fuzzy search as applied to music content as opposite to music metadata. Yahoo, Google, and many others can find a song by title or artist, and it seems like soon Google will be able to find it by lyrics, but so far there's no comprehensive system that would be capable of finding music by rhythm, melody, harmony, instrumentation, vocal profile, etc. There is a lot of research on the subject and a few small-scale implementations of search by melody, but nothing really usable.

We have already built a working search-by-harmony system that operates on fuzzy (that is, probabilistic) data and are getting very good recall and precision at near-constant speed. Working on the rhythm and harmony similarity metrics right now.
NULL, The first thing is: How do I input a rhythm into a search machine!?
For me, I could probably tell, I am able to convert my musical thoughts into notes.
More user friendly would be (like in an record store) to hum or sing (that won't be chords but single notes)- or maybe input by midi device.
So, if I input my harmony into the machine, I will do it by exactly not hitting the same key as the original, so the algorithm has to drop the pitch and just work on the relation between notes or chords. Rhythm will, of course, also be imprecise.

How do you input your request for harmonies into your search-by-harmony-system?

Okay, let me think of musical research: There was this wonderful song. I have one part of that song inside my head, I can't remember where I heard it, but I know the three first 3 chords from the chorus, AND the song starts with this amazing piano part, AND the male voice was really emtional
-> okay, the detection of a piano part at the beginning is easy done.

I guess I am still thinking more about the input system than the algorithm itself.

So please, Gene, channel this thread of posts into a direction;)
NULL, Royal -- good questions. There are a few different ways to enter music content queries. One is, as you point out, to hum or sing (and then let the client-side program quantize and convert your singing into a short MIDI track that can be played back to you so that you are satisfied that this is really what you're after). Another one is to point to a particular place in an song you have and say -- "I want to find similar melodies". Or maybe there's a multiple choice of short musical motifs to choose from. That would be really fun, huh?

The term "rhythm", for the purposes of content search, can mean different things: the time signature, the tempo (BPM), the intra-bar rhythm pattern (ta-da-ta-TAM), even something as subjective as syncopation, swing, rubato, etc. The input in this case can be text (looking for those obscure songs in 7\/4, like Money by Pink Floyd), BPM=156, tapping on the space bar for the beat pattern, or once again using an exising song fragment.

The harmony can be entered as a space-separated chord sequence (d E F G C), and of course we should be able to find these subsequences in different keys (d# F F# G# C#).

All these searches are interesting and can be important for a limited audience. But a much more compelling value is in music discovery: how do we (after indexing every single song in the Universe by certain content features -- rhythm, timbre, harmony, melody, instrumentation, etc.) find you songs that are in some ways similar to the ones you told us about?
NULL, I am quite busy at work at this moment, so let me just express my pleasure in all your PinkFloyd references;)
Though it will be a long way until all PF songs will be recognized by the algorithm!!

I'll write more later,
RP
NULL, Not just all original PF songs, but all covers, too, as well as sampled PF riffs and sounds used in other people's music (legally or otherwise) :)

Post a reply