The spec. gives 50 feet as the maximum cable length. Cables are to be shielded twisted pair, with the shield connecting pin 2 at both ends. There are 8 data bits, with 1 start bit and 1 stop bit, for 320 microseconds per serial byte. Rise and fall time for the optoisolator should be less than 2 microseconds. I am not going to reproduce it here.
Messages take the form of opcode bytes, followed by data bytes.
Status bytes are marked by bit 7 being 1. All data bytes must contain a 0 in bit 7, and thus lie in the range 0 - 127. MIDI has a logical channel concept. There are 16 logical channels, encoded into bits 0 - 3 of the status bytes of messages for which a channel number is significant. Since bit 7 is taken over for marking the status byte, this leaves 3 opcode bits for message types with a logical channel.