Click here to Skip to main content
15,881,715 members
Please Sign up or sign in to vote.
4.00/5 (1 vote)
See more:
Hi i have 2 short questions:
1.
Im thinking of starting to work on a rockband 3 like game that can take input from real instruments as miditones. But i would really like to know if there is any way you can change midi to something more realistic like they do in Guitar pro with RSE(Realistic Sound Engine).

i've seen a few midi apps on here and got a base idea of how it works but none of them seems to have any focus on RSE...

2.
I've seen some singstar like game to pc and was thinking of how you can check whether a player is "singing" the right tone? i've been looking at some guitar tuner project and tough that could be one way to do it but i would like to know if other know a answer to this.

so midi can you give it realistic sounds? and how can you check what tones microphone input is?

Thanks - Jackie
Posted

1 solution

If MIDI sound sounds not realistic enough to you (which I understand; it means you have some musical hearing — my congratulations :-)) you can only generate more realistic sound from scratch. It has nothing to do with MIDI: it can carry only as much information as it does, no more.

You can analyze the sound from the microphone, but this problem is quite difficult. You need to break the sound into some time intervals and try to perform spectral analysis of the sound. The problem is that not always it's possible to extract some "dominating" frequency from the spectrum and also the spectral image is constantly changed with time; so you need to try recognize the pure tones out of all this mess. This is really difficult and requires a combination of Fourier analysis with image recognition. To get a general idea, please see:
http://en.wikipedia.org/wiki/Spectrum_analyzer[^],
http://en.wikipedia.org/wiki/Fourier_transform[^],
http://en.wikipedia.org/wiki/Fast_Fourier_transform[^].

[EDIT]

Basically, MIDI itself (a MIDI event) simply gives you the note number in the scale using the equal temperament tuning system. Please see:
http://en.wikipedia.org/wiki/MIDI[^],
http://en.wikipedia.org/wiki/Equal_temperament[^].

In other words, MIDI is just a form of traditional musical notation. Bu the note value, you should calculate the main frequency of the note. I also gives you the instrument, by number. Knowing this two pieces of information, you can create your own waveform. Enrich the main frequency with many over-tones, form the attack, damping and other effects characteristic to a given instrument. By the way, some effects involve resonances between, say, strings, bodies and active parts of other instruments in orchestra. The simplest such effect is the acoustic beat (http://en.wikipedia.org/wiki/Beat_%28acoustics%29[^]). These effects a non-local, volatile, so you won't be able to simulate them based on one instrument.

Potentially, you can create realistic sound (albeit not involving the collective effects like those I mentioned above) by obtaining records of sound of real instruments and studying them. Did you think you could just magically get it somewhere? Well, one such source is MIDI, but it's not realistic enough for you. I agree.

—SA
 
Share this answer
 
v5
Comments
Wendelius 14-May-12 0:32am    
Good advice
Sergey Alexandrovich Kryukov 14-May-12 0:39am    
Thank you, Mika.
--SA
Jackie00100 14-May-12 4:38am    
Thanks i didn't get what you ment with the midi thing, but as said what i basicly want is to convert the midi to sound like RSE (like the sounds in this link: http://www.youtube.com/watch?v=NOe4wLv3Tj0) but thanks :)
Sergey Alexandrovich Kryukov 14-May-12 15:06pm    
Just think about it. Well, please see my updated answer, after [EDIT].
--SA
Jackie00100 14-May-12 16:00pm    
aah thanks alot, i've been looking into synthesizer today and sound banks and i have a base idea of how it works with RSE thanks alot for your help :)

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900