I would also add a high quality interface. A good interface will include good software so the ASIO driver that services your interface should handshake flawlessly. I have always had a problem philosophically with "one size fits all" stuff like ASIO4All. My ASIO driver for my Focusrite comes with the Focusrite. Most MIDI problems I have ever had were ID10T errors.