buffer on serial output ?

I'm planning to build i MIDI master keyboard and use an Ardurino board, but I think the serial.print can cause significant delays. Is there a way to buffer the serial output like the serial input so that the program can go on working with other things while the data are sent away? I have to scan a keyboard with 88 keys, each key has 2 switches, measure the time difference between the 2 switches and send 3 bytes when a key is pressed and likewise when it is released in real time. The entire keyboard must be scannad all the time, and can't stop for such a long time as it takes to send away a couple of bytes for each key beeing pressed (31250 baud). I'm sure the chip itself is able to send in interrupt when the serial output register is empty, it's just a matter of coding or is it already done perhaps?

Check out this thread: http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1242466935