Can effects like fading, distortion, swing, reverb and sustain be added to the music extracted from a midi file on the computer? Or does midi allow us to incorporate these features during it's creation?
Going through the midi specification I couldn't find a possible way to do the above things. Am I correct or am I missing something?
Any suggestions?
MIDI files do not contain sounds; they are instructions for a synthesizer how to generate sounds.
The MIDI specification itself does not define any effects.
The General MIDI specification defines controller numbers for volume, reverb, and sustain effects; many synthesizers are General MIDI compatible. While some synthesizers have distortion effects, there is no widely accepted standard.
You can simply add or modify controller change messages in the MIDI file. (Whether and how they work depends on your synthesizer.)
"Swing" is based on the timing of the notes. You'd have to change the timestamps of the note-on and note-off messages to affect this.