For MIDI programming to result in music that has intention, gesture, phrasing, dynamics an expression you can play the music in live or you can program. If you program:
1. Think like a player, meaning strong and weak beats. Make some notes long, some shorter, some notes louder, some softer, some with fast attacks, some with slower attacks. It all depends upon the phrase and the timbre you're working with. Think in terms of natural phrasing, with very slight pauses, cadences, high and low melodic points and interesting harmonic rhythm.
2. Use a lot of program/articulation changes, the more the better.
3. Sometimes you might have to move an entire track forward or backward by a given number of ticks, to get a groove. I find with softsynths and strings for example, the crisp attacks of softsynth timbres require me to move the entire softsynth track 15-25 ticks late. This creates a groove that doesn't exist if I don't do that. Here's an example:
www.jerrygerber.com/mp3/Raga.mp3 4. The quality of composition enters into the equation. Sometimes a computer performance sounds mechanical not only because of MIDI performance issues, but because of poor voice-leading, unbalanced harmonies, wrong tempi, etc. Some music requires a lot of tempo changes, use them, even very small changes.
5. If a note sounds too early, move it later by a few ticks. If it sounds late, move it earlier by a few ticks.
Jerry
www.jerrygerber.com