Original link: http://www.midifan.com/modulearticle-detailview-488.htm
Keyboard Magazine veteran editor Jim Aikin in commemoration of the birth of MIDI 20, published an article on MIDI use often encountered in 20 concepts, although all is "cliché", many of the MIDI veteran of some of these problems are not very clear, not to mention the novice to get started. So the alto net to translate this article to help you review.
1) MIDI sends playing instructions instead of sound
When you press a key on a MIDI keyboard, you are not making a sound but sending a MIDI command called the Note on (note-open) message. As to what the message can sound, it depends entirely on the MIDI instrument (if any) on the other end of the cable. There is absolutely no audio data in the MIDI cable.
2) in to Out;out to in
Many MIDI devices have a back panel with 3 MIDI sockets: In, out, Thru. When the device is connected, the out of the main keyboard is connected to the in that you want to receive the information device. MIDI devices can make a chain connection, so that the information sent by the main keyboard (or computer, etc.) is transmitted to each connected device. When a chain is connected, the out of the main keyboard is connected to the next device in, then the in of the third device is connected from its thru, and the fourth device is connected from thru. So connected.
3) Too much thru to degrade the data
It is not a good idea to connect more than 4 or 5 units through the thru port. The accumulated delay after multiple thru of the digital signal makes it easy to get the wrong code or other unexpected condition on the device that hangs on the link backend.
4) MIDI communication is single-direction
Unlike many modern digital communications such as USB, the information in a MIDI cable only flows in one direction. If you want to be able to talk between the two devices (which is often used when transmitting system-specific information), you need to get the respective out to the other's in.
5) MIDI transmits data in serial format with very fast speed
Only one bit can be transferred at the same time in a MIDI cable, which is technically called serial communication. Midi bytes contain 10 bits instead of the usual 8 bits. MIDI transmits 31250 bits per second, or 3125 bytes.
As we'll talk about, a MIDI note opening message contains 3 bytes and is sent in less than 1 milliseconds. Even if a 20-tone chord is to be pronounced in 20 milliseconds, human hearing can hardly feel such a slight time difference.
6) 16 channels share the same cable
MIDI rules define two types of information?? System Information and channel information. The actual music performance information (note, controller, bend, etc.) is the channel Information format. MIDI defines a cable that can transmit 16 channels at the same time, using more complex cable settings if more channels are needed. For example, your computer is equipped with 8 ports of interface, and the number of channels to be transmitted can reach 16x8=128.
Some synthesizers can receive 32 channels at the same time, requiring 2 MIDI input ports (or other forms of interface such as USB).
7) Two kinds of MIDI synchronization
The earliest MIDI rules define the clock information, as well as stop, start, continue, song position pointers and other information, so that 2 sequencer can be run synchronously. Each four-minute note sends 24 clock information, so it varies with speed. Clock information is a simple single-byte tag that does not contain information such as time, location, and so on.
More complex synchronization information to use MIDI Time code (MIDI timecode, referred to as MTC), which is the SMPTE synchronization code in the MIDI performance method, it can provide the music playing time information, but does not contain speed information. If two of the sequencers that are synchronized with MTC work at different speeds, their music will gradually diverge despite good synchronization.
8) Central C No. 60
MIDI defines 128 notes for each channel, a central c number of 60, and a keyboard number of 5 eight degrees, which may be 36 to 96. But the sequencer does not have uniform rules, and some sequencer shows 60th note for C3, while others are C4, not unified.
9) 3 bytes Open With MIDI notes contains 4 types of information
The first byte contains the state (which describes what this information is) and the channel number 1-16, the second byte is the note number 0-127, and the third byte represents the intensity 0-127.
10) Force 0 is the note off (note off)
There are two ways to turn off notes that are already open: one is to send note-off information, and the other is to send a note with a force of 0. Of course, both of these methods must contain the corresponding note number and channel number, otherwise it will not achieve the purpose. In addition to the Force 0 is borrowed to represent the note, the intensity of the opening of the category becomes 1-127, the two methods in music is not different, but the breakdowns to the latter can save information. The original MIDI has a "running state", the state before and after the information is exactly the same time, the following information can omit the state byte. In this case, it is a different state to open a level, it takes 6 bytes, two is open (the second is 0, the actual is off), the state is the same, and 5 bytes is enough. When sending a large sequence of fast notes, the running state can effectively reduce the transmission density of MIDI information.
11) Continuous controller is not continuous
MIDI channel information is set up with 128 continuous controller information (continuous controller is often abbreviated to CC), mainly used to indicate the movement of knobs, faders, pedals, each cc category is 0-127. For example, the synthesizer's modulation wheel or the modulation lever is always the number 1th controller, go to one end of 0, the other end is 127. But the value is not a smooth change, but a step-style change. For example, the value can be 56 or 57, but it cannot be 56.329 or 57.1. If you use CC to control some of the more sensitive sound parameters, you may be able to hear the step-style effect changes.
12) Some CC is pre-defined
Some cc reserves are reserved for special purposes, such as CC64 assigned to the extended sound pedal. In fact there are some (such as 64, 65, 66, etc.) controller defined as a switch, such as CC64 step down to send 127; lift up to send 0, do not use the median value. The CC00-CC31 can represent MSB and LSB with Cc32-cc63 pairing, which constitutes a 16384 control value. The use of a 14-bit value is determined by the device manufacturer and is not fixed pattern.
13) The bend range is determined by the receiving synthesizer
Bend tone is a very special MIDI message. Although it is defined as 14 bits, many synthesizers omit the LSB data and use only the 7-bit (0-127) value of the MSB. This may be true because many of the bent hardware provide only 7-bit values, and the sequencer often puts the bend in the range of 63 to +64. The bend is a bipolar message with a center of 0, and the controller often carries a spring back to 0.
There is a MIDI message (a registered parameter number RPN) that defines the bend range for the receiving bend device, but not all synthesizers respond.
14) Selection of Sound library
When MIDI was first created, synthesizers were usually only 32, 40, up to 64 tones to remember, and no one could foresee that the synth could have hundreds of or even thousands of tones in a short time. As a result, only 128 selection tones were defined for the program transform, and in order to solve the problem, the sound library selection information was invented.
The Library selection (Bank Select) borrowed the continuous controller CC0 and CC32 to make up 14-bit values, making the range of tones selectable to 16,384 sound libraries, each containing 128 tones. The value is very large.
The problem is that the manufacturer of the sound library selection of information execution is very different, some synthesizers only use CC0 to select the sound library, discard the CC32 (although the MIDI rules require the two to send continuously), and some synthesizers in accordance with the provisions of the command, not including the value of the controller also sent a value of 0.
Some synthesizers convert immediately to the newly selected sound library, while others wait until a program transformation command is received. Some synthesizers do not fill the library, so a library selection command can select 2 libraries at the same time, and you need to add an offset when selecting a tone. Kurzweil supports multi-tone libraries before the Sound library selection rule appears, and uses different tonal library selection methods on the k2000/2500 synthesizer. There are also synthesizers that ignore the Timbre Library selection command. Some sequencer attempts to help the user to complete the selection of the palette, but not all of the synth to take effect.
15) There are 4 ways to turn off "stuck" notes
I believe everyone has encountered the "stick" note. The poor synth only receives notes open and does not receive commands to turn off these notes, so it hates to stop ringing. If the tone envelope has already turned the volume down, it is not easy to find the "stuck" notes, which are usually marked with a tone that keeps the envelope on. The cause of the problem may be in the sequencer, also in the synthesizer's system software, more likely to be a MIDI connection problem (MIDI can detect a connection problem and automatically issue the command to turn off notes, but not all synthesizers have such a function).
MIDI defines the command to turn off all notes, the Sequencer software often spares an "emergency" button, click on it can turn off all note commands to 16 channels, but some synthesizers do not recognize this command, so "emergency" button also often need to give 16 channels each note to send the close command, 16x128=2048, fortunately the machine does not know tired.
If the emergency button doesn't work, you can try sending a program transform, and many synthesizers turn off the notes they're pronouncing when they switch to a new tone. If this does not work, there is one hand that can deal with a synthesizer with 32 polyphonic numbers or a multi-layered layout: Press the keys as many times as possible with your hands and arms, and you may be effective when you let go.
The most effective way is to turn off the power and then turn it on, it will work. But if the problem is not the synthesizer but the sampler, it will take some time to reload the 64MB sample.
16) Time delay can be reduced
Midi is quite fast, although serial transmission, basically can't hear the uneven time. If the start of playback is slow to pronounce, there are several possibilities: trying to send too many controller data, usually multi-channel playback information including bend and CC data, which crowding out the time the note arrives. The sequencer is usually equipped with "thin" continuous control data editing function, can effectively reduce such delays. After the touch is another type of continuous data, which has historically been a notorious suspect causing delays. If the post-touch information is not useful, it is recommended not to delete it altogether.
Trying to simultaneously pronounce too many notes simultaneously can cause delays. For example, a tone is composed of 4Voice, each voice uses 2 oscillators, if the same time 10 notes to pronounce, for the synthesizer to start 80 oscillators simultaneously, time is prone to delay. The solution is either to reduce the level of timbre or to stagger the notes before and after.
(Translator Note: There are often many MIDI setup data that need to be sent at the beginning of the song, often affecting the appearance of the first note on time.) We used to advise musicians to empty the first bar to write commands, and music starts with the second bar and works very well. )
17) Standard MIDI files make MIDI music widely spread
During the "infancy" period of MIDI, developers were clearly anticipating that there would be a file format, like Microsoft RTF (Rich Text format), for all sequencers to read and write, and soon enough. The SMF format for the mid suffix appears. Music created with the sequencer, in addition to its own format, can also be stored in a standard MIDI file format, on any sequencer back on.
There are 3 types of MIDI files originally defined?? 0, 1 and 2?? But usually only 0 and 1 are used. Class 0 Files put all the data in one track (because the MIDI event has a channel tag, 0 types of files can be divided into 16 tracks by editing commands); 1 class files contain multitrack, each of which can be named. The file even supports multi-port MIDI output (e.g. 64 channels). MIDI files later added other ingredients such as lyrics, and the recently upgraded XMF file format supports DLS (downloadable sound) data, but does not yet describe audio and audio effects.
18) System-specific information to help with hardware upgrades
A decade ago the synth or effect upgrade (add new features or bug fixes) need to go to the service center, and then let the technician change a chip for you. Thanks to MIDI and the Internet, today's OS upgrade has been simple and much cheaper. Many manufacturers regularly on the site to provide system upgrades, upgrade files are often standard MIDI file form, can be loaded into the sequencer playback. The usual practice is to:
① Download the upgrade file to your computer's hard drive
② loading the file into the sequencer
③ connect the MIDI output of the sequencer to the MIDI input of the synthesizer
④ set the synthesizer as a mode for reading into system-specific information
⑤ start playing back the sequencer
Do not stop until the ⑥ file playback is finished, and be careful not to disconnect the MIDI connection.
It's so simple that you don't need to know the contents of a MIDI file or open the chassis, and the upgrade is done.
System-specific information is often used in the tone editing, you can use it in the computer to build a huge sound library.
19) General-purpose MIDI cannot pack medical ailments
The Universal MIDI Regulation (GM), enacted in 1991, failed to overcome some of the limitations of MIDI. For example, the initial procedure change information (program changes) is just a numeric number that has nothing to do with what it represents. GM defines 128 tone names, including instrument tones and effect sounds, and defines the arrangement of percussion instrument tones on the keyboard, which specifies the use of some controllers. GM makes it possible for musicians to create MIDI files to be put back on different synthesizers, and MIDI files on the internet can be put back on a computer with a GM sound card.
The problem is that the timbre of one instrument with the same name may vary greatly on different synths or sound cards, resulting in unexpected ensemble sounds.
Roland and Yamaha developed their own GM rules called GS and XG, are more complex than GM, but incompatible with each other.
There is currently no pressure on GM regulations, although GM2 regulations exist, but they are not widely used.
There are currently 2 formats that allow MIDI to carry sampled waveforms, one that is developed by the MIDI Association, and the other is the soundfonts of innovative technology development, with many differences between them, but they all already occupy a part of the market.
Midi Association sells a full set of MIDI rules
The MIDI Association's official website lists all the midi-defined names and versions of the US dollar price. URL www.midi.org
Go Midi Common Sense 20 article