Making a personal guitar hero

Started by
17 comments, last by Kylotan 15 years, 8 months ago
I've decided that a project I'd like to work towards, after becoming proficient with DirectX programming, is making a sort of mini guitar hero for myself, with songs I'd personally like to play. That goal is far off right now, but I'd like to know a few things now anyway. First of all, how would you go about separating the guitar part of a song from the rest of it (singing, bass, etc)? Are there fancy programs that can do this for you? Could you manage it with a simple equalizer? Secondly, once you've got the guitar part by itself, how to store it? It seems to me like it would be rather inefficient to store every single note in a separate file of its own, but I haven't thought of a better way to do it. Finally, am I getting ahead of myself? I am just starting to learn the basics of Direct3D right now, and I know very little about sound in general, let alone DirectSound. (Are there any good resources to learn about sound?) Keep in mind, all I want to do right now is work on the musical part, not the coding. Thanks in advance for any help.
Advertisement
there's filters you can try and pull out the guitar part.. otherwise, maybe if you just used MIDI of the songs??

as for the note storage... why not MP3, with a file containing the offsets for each note, so the prog knows how long to cut out the song if you screw up.
Actually, I don't really understand MIDI at all. What do you mean by using the MIDI of the songs?

You're talking about one big mp3 file, right? Not a bunch of little ones? And what do you mean by the offsets of the notes? (I'm sorry if I'm asking stupid questions, but I'm new to this.)
Guitar Hero / Rock Band used the original "master" recordings, which means they have the separate layers of each instrument in separate files (obtained from the recording studio) before being mixed into one file.

Trying to do this backwards (cut a single file back into multiple layers) is near impossible... unless you're in CSI-land.

Quote:Actually, I don't really understand MIDI at all. What do you mean by using the MIDI of the songs?
The MIDI file format doesn't store sound waves (like a WAV or MP3 does), it stores the actual musical notes and instructions on how to reproduce the sounds using virtual instruments. If you based your game off MIDIs then it would be much easier to cut out individual notes, etc...
However, MIDIs generally don't sound as good as MP3s, and they can't store the vocals or any other 'non-instrument' sound.
Quote:You're talking about one big mp3 file, right? Not a bunch of little ones? And what do you mean by the offsets of the notes?
You could have a data file that accompanies the MP3 file, which contains information on when the notes happen.
E.g. Note #42 lasts from 36 seconds to 37.4 seconds. (The 'offset' just means a time value measured from the start of the file, etc...)
Then using this information you could silence the MP3 for that time period if the player misses the note.
A MIDI file, unlike an mp3, contains notes that are played by simulated instruments. Thus, the data you need is inherent to the format. It does tend to sound like ass though.

My suggestion would be to just not bother with the wrong-note noises or separating the tracks. Or, if you really feel you must, then simply play the wrong-note sound over the music without altering it because it will convey the same information to the player anyway, and when the player misses a note either play the wrong-note noise or just mute the song for an instant. It ain't perfect, but it will be a lot less work and almost the same.
Quote:
Quote:Actually, I don't really understand MIDI at all. What do you mean by using the MIDI of the songs?
The MIDI file format doesn't store sound waves (like a WAV or MP3 does), it stores the actual musical notes and instructions on how to reproduce the sounds using virtual instruments. If you based your programs off MIDI's then it would be much easier to cut out individual notes, etc...


So, would basing them off MIDIs be like personally rewriting the entire song? I take it there aren't ways to convert files to MIDI?

Quote:My suggestion would be to just not bother with the wrong-note noises or separating the tracks. Or, if you really feel you must, then simply play the wrong-note sound over the music without altering it because it will convey the same information to the player anyway, and when the player misses a note either play the wrong-note noise or just mute the song for an instant. It ain't perfect, but it will be a lot less work and almost the same.


That's a good idea; one I was planning on resorting to if there wasn't a good way to do an alternative.
Quote:Original post by Barrow Boy
So, would basing them off MIDIs be like personally rewriting the entire song? I take it there aren't ways to convert files to MIDI?
I have seen tools to convert waveforms to MIDI's... but they don't really work.

However, I just typed "pop music midi" into Google and a lot of pages came up - other people have likely done the conversion for you ;) (keep in mind that downloading these songs *is* copyright infringement, even though they are of inferior quality)


Majorlag's suggestion of just playing the "incorrect" noise over the top is a far simpler solution to your problem though.
Barrow, look up a project called Frets On Fire
Quote:Original post by Daaark
Barrow, look up a project called Frets On Fire


That's neat. I noticed they were still able to separate the guitar. Were those songs MIDI files that the game's creator had written?

I didn't try out importing my own songs, so I'm not sure how that works out, but that's the general idea of what I was hoping to make. Different songs, which is, or course, why I want to make my own. And different graphics (I found it hard to quickly tell which notes needed to be strummed or not, for example).

I was also wondering whether it would be conceivable to use an actual guitar hero/rock band controller (one with a usb plugin) to play the game. I don't know anything about input, but how tough would it actually be to use one of those guitar controllers in your own game?
Quote:Original post by Barrow Boy
I was also wondering whether it would be conceivable to use an actual guitar hero/rock band controller (one with a usb plugin) to play the game. I don't know anything about input, but how tough would it actually be to use one of those guitar controllers in your own game?
I believe XNA / XInput can use the 360 version, since it's just a standard 360 controller with a different shape.

This topic is closed to new replies.

Advertisement