SynthEdit - my latest toy. Build virtual synthesizers from scratch. Even with knowledge of synth engineering, the learning curve is fairly steep. However, if you ever wanted to build a custom midi file player, this is the place to start. Also, it accepts VST plug-ins, a real plus.