Click here to Skip to main content
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# Midi media mp3
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 13-May-12 16:11pm

1 solution

Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

If MIDI sound sounds not realistic enough to you (which I understand; it means you have some musical hearing — my congratulations Smile | :) ) 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
  Permalink  
v5
Comments
Mika Wendelius at 14-May-12 0:32am
   
Good advice
SAKryukov at 14-May-12 0:39am
   
Thank you, Mika.
--SA
Jackssen at 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 :)
SAKryukov at 14-May-12 15:06pm
   
Just think about it. Well, please see my updated answer, after [EDIT].
--SA
Jackssen at 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 :)
SAKryukov at 14-May-12 16:37pm
   
You are very welcome,
Good luck, call again.
--SA
Sandeep Mewara at 14-May-12 15:15pm
   
5 SA!
 
You already had some idea of MIDI or just went through about it for the question?
SAKryukov at 14-May-12 16:36pm
   
No, I did some MIDI works and other audio works, for myself, for some musical study.
Thank you, Sandeep.
--SA
Sandeep Mewara at 15-May-12 1:26am
   
Ok cool.
 
Last night (for me!) I published a Tip, have a look: http://www.codeproject.com/Tips/384425/Server-side-Delimiters-in-ASP-NET
SAKryukov at 17-May-12 16:32pm
   
Aha, thank you for the note. I already voted 5 and commented... :-)
--SA
Wonde Tadesse at 14-May-12 20:03pm
   
5+
SAKryukov at 14-May-12 20:06pm
   
Thank you, Wonde.
--SA
VJ Reddy at 15-May-12 4:53am
   
Good answer. 5!
DaveyM69 at 15-May-12 9:59am
   
"If MIDI sound sounds not realistic enough to you (which I understand; it means you have some musical hearing"
Rubbish!
 
Good quality professional instruments that use multiple high quality samples and MIDI generated by a musician that actually understands how the instrument (who's sound is trying to be replicated) works so can play accordingly can sound really incredibly good and discernible from an audio recording in many cases.
There is no concept of MIDI sound as it's just a digital description of a performance.
SAKryukov at 15-May-12 11:48am
   
You are missing some point. In short, I'm talking about "standard" MIDI sounds. You are right in that sense that one can have custom sounds. But, certainly, no matter how good they are, MIDI performance is always recognized as synthetic by a trained ear. Should I even explain why?
--SA

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

  Print Answers RSS
0 OriginalGriff 505
1 Maciej Los 309
2 BillWoodruff 174
3 /\jmot 160
4 Suraj Sahoo | Coding Passion 160
0 OriginalGriff 8,654
1 Sergey Alexandrovich Kryukov 7,407
2 DamithSL 5,639
3 Maciej Los 5,229
4 Manas Bhardwaj 4,986


Advertise | Privacy | Mobile
Web03 | 2.8.1411023.1 | Last Updated 14 May 2012
Copyright © CodeProject, 1999-2014
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100