ThePlace

Home ] Search ] Resources ] Site Map ] Contact Me ]
Dave's Information Technology Resource

Up ]

Multimedia References ] Text ] Graphics ] Digital Audio ] [ MIDI Files ] Digital Video ] Streaming Content ] Flash Animation ]

--- MIDI Files ---

MIDI clip (played on page load)

MIDI (Musical Instrument Device Interface) Files (Summary)

bulletSounds are created with a "digital orchestra".
bulletFiles tend to be very small.
bulletNumerous sources on the Internet for downloading (be careful of copyright issues).
bulletMay not play (or play well) on older machines (before 1997).

Reference

bulletMIDI Manufacturers Association: http://www.midi.org/ 

What is MIDI (following from http://www.midi.org/)

The Musical Instrument Digital Interface (MIDI) enables people to use multimedia computers and electronic musical instruments to create, enjoy and learn about music. There are three components to MIDI:

  1. Communications Protocol (language)
  2. Connector (hardware interface) 
  3. Distribution format called Standard MIDI Files.

Protocol
The MIDI protocol is an entire music description language in binary form. Each word describing an action of musical performance is assigned a specific binary code.  MIDI was designed for keyboards, so many of the actions are percussion oriented. To sound a note in MIDI language you send a "Note On" message, and then assign that note a "velocity", which determines how loud it plays. Other MIDI messages include selecting which instrument to play, mixing and panning sounds, and controlling various aspects of electronic musical instruments.

Standard MIDI Files
When MIDI messages are stored on disks, they are commonly saved in the Standard MIDI file format, which is slightly different from native MIDI protocol, because the events are also time-stamped for playback in the proper sequence. 

Music delivered by MIDI files is the most common use of MIDI today. MIDI is the primary source of music in many popular PC games and CD-ROM entertainment titles, and thousands of MIDI files are available on the Internet for recreational use. Just about every personal computer is now equipped to play Standard MIDI files.

One reason for the popularity of MIDI files is that, unlike digital audio files (.wav, .aiff, etc.) or even compact discs or cassettes, a MIDI file does not need to capture and store actual sounds. 

Instead, the MIDI file can be just a list of events which describe the specific steps that a soundcard or other playback device must take to generate certain sounds. This way, MIDI files are very much smaller than digital audio files, and the events are also editable, allowing the music to be rearranged, edited, even composed interactively, if desired.

With the recent introduction of the Downloadable Sounds format, MIDI files can also contain standardized samples of musical instruments, sound effects, or even dialogue, which are used to recreate an exact copy of the sound intended by the composer. MIDI files with DLS are the ideal solution for composers of all kinds who want the predictable playback of digital audio, but also need the compactness and/or interactivity of Standard MIDI Files for delivering their music.

Connector
According to the MIDI 1.0 Specification, the only approved MIDI connector is a 5-pin DIN connector. It is possible to send MIDI messages using other connectors and cables, but with more and more variations it becomes harder and harder to guarantee connectibility among various products. The MMA does not currently approve the use of any other connectors for MIDI 1.0, but will most likely adopt a new connector for the next generation MIDI specification.

Meanwhile, since many personal computers do not have space for a 5-pin DIN connector, many manufacturers have decided to use either a serial port or a joystick port to connect to MIDI instruments. A few MIDI instruments are actually equipped with an 8-pin "mini DIN" serial port, which makes it possible to connect those devices directly to some computers. But the only way to connect a 5-pin DIN equipped MIDI device to a computer's joystick port is via a special adapter cable, which usually must be purchased separately.

Unfortunately, many of these "Sound Card MIDI adapters" are available, but not all are designed according to the electrical standards defined by the MMA. 

 

Detailed Specs, also from midi.org ...

Following from the General MIDI Level 2 Specification, dated: November 1999

General MIDI Level 2 is a group of extensions made to General MIDI Level 1, which increases both the number of available sounds and the amount of control available for sound editing and musical performance. All GM2 devices are also fully compatible with General MIDI Level 1. 

To support these new GM2 features, the MMA & AMEI have extended the MIDI specification with numerous new messages. Portions of the MIDI Specification which have been enhanced include MIDI Tuning, Controllers, RPNs, and Universal System Exclusive Messages. Of particular significance are the new Universal System Exclusive Messages, including Controller Destination Setting, Key-Based Instrument Controllers, Global Parameter Control, and Master Fine/Coarse Tuning.

Summary of GM2 Requirements

GENERAL REQUIREMENTS
 Number of Notes: 32 simultaneous notes
 MIDI Channels: 16
  - Simultaneous Melodic Instruments = up to 16 (all Channels)
  - Simultaneous Percussion Kits = up to 2 (Channel 10/11)
SUPPORTED CONTROL CHANGE MESSAGES (Some Optional)
 - Bank Select (cc#0/32)
 - Modulation Depth (cc#1)
 - Portamento Time (cc#5)
 - Channel Volume (cc#7)
 - Pan (cc#10)
 - Expression (cc#11)
 - Hold1 (Damper) (cc#64)
 - Portamento ON/OFF (cc#65)
 - Sostenuto (cc#66)
 - Soft (cc#67)
 - Filter Resonance (Timbre/Harmonic Intensity) (cc#71)
 - Release Time (cc#72)
 - Attack time (cc#73)
 - Brightness (cc#74)
 - Decay Time (cc#75)
 - Vibrato Rate (cc#76)
 - Vibrato Depth (cc#77)
 - Vibrato Delay (cc#78)
 - Reverb Send Level (cc#91)
 - Chorus Send Level (cc#93)
 - Data Entry (cc#6/38)
 - RPN LSB/MSB (cc#100/101)
SUPPORTED RPNs (Registered Parameter Numbers)
 - Pitch Bend Sensitivity
 - Channel Fine Tune
 - Channel Coarse Tune
 - New! Modulation Depth Range (Vibrato Depth Range)
 - RPN NULL
SUPPORTED UNIVERSAL SYSTEM EXCLUSIVE MESSAGES
 - Master Volume
 - New! Master Fine Tuning
 - New! Master Coarse Tuning
 - New! Reverb Type
 - New! Reverb Time
 - New! Chorus Type
 - New! Chorus Mod Rate
 - New! Chorus Mod Depth
 - New! Chorus Feedback
 - New! Chorus Send to Reverb
 - New! Controller Destination Setting
 - New! Scale/Octave Tuning Adjust
 - New! Key-Based Instrument Controllers
 - New! GM2 System On
GM 2 INSTRUMENT SOUND SET
GM 2 PERCUSSION SOUND SET

 

 

Home ] Up ] Computer Architecture ] Programming Bootcamp ] Database Bootcamp ] Visual BasicS ] Web Basics ] Web Programming ] Advanced Web Topics ] Developing Web Sites ] XML Technology ] Web Glossary ]

Copyright © 1999 - 2005 
ThePlace - Written and Sponsored by Dave Hillman