Post subject: Console music search engine
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Here's something I have played with recently. It is a melodic game music search engine, which should allow searching for and identifying game music melodies, if you know how to play a portion of them using a keyboard. Five notes is the minimum for a search, but around eight is good enough for identifying. http://bisqwit.iki.fi/jsgames/musicsearch/ It currently covers my entire NSF and GBS collections (NES and Game Boy musics respectively), and a few SNES soundtracks (mostly RPGs). Try for example: d3 d d c c <a a f g a g f d f d EDIT: Oh, and it probably does not work with MSIE.
Joined: 10/3/2005
Posts: 1332
That could certainly be handy... Huh. It's a shame it uses the filenames instead of the game titles. Nekketsu Kakutou Densetsu is listed as Nek-Kaku.nsf. Nothing to be done about that, I guess. However, would it be possible to have the keyboard make sounds when the keys are struck? I can't imagine knowing a song by rote and having no idea which game it came from. Maybe it's me, but remembering a melody by ear comes much more naturally. Being able to narrow the search down to a single system would also be good. Edit: Found the base theme from Contra! a#1 a# >c# < a# >e d# c# Edit again: Thanks Bisqwit.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
It does make sounds when the keys are struck. It requires Flash plugin support. Tested on Firefox... The sounds come a little delayed though, about 1 second. I don't know how to help that.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
xebra, I see you already left… but here's my followup to the little argument we had at IRC, regarding the Bubble Bobble theme. 0700#nesvideos.xebra c3 <b a g b a g e a g f d g 0700#nesvideos.xebra That's how I remember Bubble Bobble, at least. 0701#nesvideos.xebra Dunno, I have a pretty good ear. 0702#nesvideos@Bisqwit c3 <b a g b a g f a g f e g 0702#nesvideos@Bisqwit This is what I'm thinking 0702#nesvideos.xebra Nah, there's no way that's Bubble Bobble :) 0709#nesvideos.xebra I don't know what instrument your line is following, but that's clearly not the melody. 0709#nesvideos.xebra It's close, but no cigar. Well, judge it yourself. Which one of these plays the right melody? http://bisqwit.iki.fi/kala/snap/1.mp4 (lowest note played: e) http://bisqwit.iki.fi/kala/snap/2.mp4 (lowest note played: d) Compare to: http://bisqwit.iki.fi/jsgames/musicsearch/synth/s6815b0e160f70.mid
Player (36)
Joined: 9/11/2004
Posts: 2631
I just compared it against the Bubble Bobble speedrun. It sounds like Bisqwit is right this time.
Build a man a fire, warm him for a day, Set a man on fire, warm him for the rest of his life.
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Not to be pessimist but usually when you know the music, you also know the game that it come from. Faster to download the files elsewhere. :♭ Btw, can you change the # to ♯!
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Phil wrote:
Faster to download the files elsewhere. :♭ Btw, can you change the # to ♯!
If you look carefully, you'll see that ♯ is already printed on the black keys. However, nobody can type ♯ or ♭, but everyone can type #, hence it only accepts #. Also, this engine is not designed for music downloading, but for music identifying… And are you saying you never have had a music tone playing in your head without any idea where it's from?
Joined: 3/7/2006
Posts: 720
Location: UK
This is a really clever and useful program. :) It easily found most tunes I tried, though a search for one of the tracks on the Pokemon Trading Card Game didn't get any luck. Got it on another track though. Any way of fixing the MIDI files so they don't all play on piano? I guess not, automatically... that would be quite the task! Edit: Also, how about having the MIDI files start on the first beat rather than their time in the originating file?
Voted NO for NO reason
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
LagDotCom wrote:
Any way of fixing the MIDI files so they don't all play on piano? I guess not, automatically... that would be quite the task!
The MIDI files are currently absolutely rudimentary. They are only constructed from the sequence of notes played* and their timings. Volumes, volume envelopes, pans, waveforms and PCM samples are all ignored completely. Percussion is also ignored (though in case of SNES, it often fails to detect percussion samples, interpreting them as melodic instead). Saving the volume envelopes in the database would be possible, but I chose not to because that wasn't in the project goals. Constructing different instruments from mere volume envelopes and waveforms would be a very challenging task. I have another project that tries to do that, and it doesn't work well without a lot of manual intervention for each song individually. *) Even guessing the sequence of notes is challenging in the case of NES and GBS, where there really is nothing more than an amplitude and frequency. For example, in Bubble Bobble, it detects each note firing 2...6 times because the volume envelope in that game simulates some kind of glassy echo. So instead of "c3<bag bagf agfeg" it expects "c3c < bb aaaaaa gg bb aa gg ff aa gg ff ee gg". Super Mario Land plays some kind of covert notes between actual notes from time to time, which makes a search impossible unless you can accurately remember and tell what those covert notes were; because this search does not ignore them. Edit 4: This is the (open-source) project that initializes the database used by this search frontend: gmecataloger.
Active player (411)
Joined: 3/16/2004
Posts: 2623
Location: America, Québec
Bisqwit wrote:
And are you saying you never have had a music tone playing in your head without any idea where it's from?
Yes but not VG music. :♭
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Phil wrote:
Bisqwit wrote:
And are you saying you never have had a music tone playing in your head without any idea where it's from?
Yes but not VG music. :♭
Lucky you :-♪
Joined: 8/27/2006
Posts: 883
Actually Bubble bobble is like a#2 a g f a g f d# g f d# d f d c <a>c d d# c d d# f f g a g f f g a a# a g f a g f d# g f d# d f d c <a>c d d# c d d# f f g a f a# f g g# a f g g# a f g a a# f g a a# f g a >c <f>c <f>d <f>d <a>c d d# d# d# d c d d c <g>d c
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
Please disable HTML when posting messages that have < in them. A few of the notes in your post were changed because phpBB protects against broken HTML tags. Also, you're right at least for the beginning. I didn't check the rest of it :) However, it wasn't different from mine in other than you had a different transposition in it. (The right one, actually.)
Joined: 8/27/2006
Posts: 883
Yeah I know, I use to play it almost everyday for fun :P
Joined: 2/16/2005
Posts: 462
Can you make it play the notes that you have already typed? Being nearly tone deaf, Im finding it hard to make corrections to my search and need to hear it played.
This signature is much better than its previous version.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
asteron wrote:
Can you make it play the notes that you have already typed? Being nearly tone deaf, Im finding it hard to make corrections to my search and need to hear it played.
I'm working on this feature. EDIT: Done! :)
Joined: 2/16/2005
Posts: 462
That was quick (-: Doesnt work for me yet though...
This signature is much better than its previous version.
Editor, Active player (297)
Joined: 3/8/2004
Posts: 7469
Location: Arzareth
asteron wrote:
That was quick (-: Doesnt work for me yet though...
Every time the melody is changed, it updates the "Listen" link. Clicking it leads to MIDI file download, which has the specified melody playing with piano instrument, at three notes per second.
Joined: 2/16/2005
Posts: 462
Hmmm I just restarted my browser and it works! Nice... maybe something was cached weird
This signature is much better than its previous version.