Audio File Formats Demystified
is itself actually another acronym and stands for Musical Instrument Digital Interface. MIDI is a communication protocol rather than a file type, but files containing MIDI information are common.
(Standard MIDI File). The SMF specification was developed by the MIDI Manufacturers Associate (MMA) as a way to store the information contained in a MIDI performance. While software sequencers use proprietary file formats to handle their own files internally, just about any MIDI software program will let the user export to the SMF file type. Once saved, these files can be opened or imported into most music software programs. Using Standard MIDI Files, it’s possible to share a MIDI performance between a sequencing program and a notation program. It’s also possible to use the SMF format to transfer information between different computer platforms. SMF files are a common way for composers to share their compositions and transcriptions of performances on the Web.
There are three different MIDI file formats. Type-1 files are the most common, as they can contain an unlimited number of tracks and all the necessary information to reproduce an entire multitrack MIDI song performance. Type-0 files are much less common, as they contain all the MIDI messages inside a single track. Type-2 MIDI files are even more rare. If you want to send MIDI files over the Internet or collaborate with other musicians by trading MIDI files, you’ll want to use the Type 1 SMF format for the most musical flexibility.
A plug-in is an additional computer program that runs inside another program, often called the “host” program. Plug-ins give a program additional features or expand the software’s functionality. If you’ve used image-editing programs, you may be familiar with plug-ins that alter the source image in some way. For example, you might run an image through a plug-in that is designed to make a photograph look like a watercolor painting or an old-time sepia tint photograph.
Audio plug-ins can be synths, samplers, signal processors, or other tools that help you work with or process digital audio. For example, plug-ins such as DFH Superior, Battery, or Absynth are sound generators that work within sequencing programs. Native Instruments’ Kontakt 2 is a popular soft sampler plug-in that operates in a similar manner. Other plug-ins, like iZotope’s Trash or Camel Audio’s CamelSpace, serve to modify the audio from the host program or even from other plug-ins.
When working with plug-ins, the host program provides a manner in which data is passed back and forth between the host program to the plug-in. The term API stands for Application Programming Interface, and it’s the set of rules that one piece of software uses to communicate with another piece of software. Below are some of the most common plug-in formats.
(Audio Units). This plug-in format was developed by Apple Computer to add functionality to software running on their machines. It’s a system-level plug-in that is part of Apple’s Core Audio system in System X.
. The DirectX format (originally called Game SDK) was designed to handle game programming on Microsoft Windows machines. Today, there are several DirectX-compatible music software applications and quite a few developers that offer their plug-ins in this format. The most current version is now DirectX 9.0c.
(DSSI Soft Synth Instrument). This is the plug-in architecture for virtual instruments running the Linux operating system. Closely related to LADSPA, the DSSI label is used primarily for instruments, while LADSPA is used most often for other sound-processing applications.
(Linux Audio Developer’s Simple Plug-In API). LADSPA plug-ins are designed to run in host programs under the Linux operating system. Finalized in 2000, the format has quite a few plug-in developers. With the popularity of Linux expanding every year, you’re sure to see more plug-ins built for Linux in the future.
(MOTU Audio System). MAS is a proprietary format of the company Mark Of The Unicorn (commonly known as MOTU). MAS plug-ins include virtual instruments and audio effects.
(Real Time Audio Suite). RTAS is a plug-in format that is used in the Pro Tools environment. While designed for Pro Tools, other host applications, like Digital Performer 4.5 or higher, are able to use RTAS plug-ins.
(Time-Division Multiplexing). Originally invented for the telephone industry, this is the way that Pro Tools communicates with other external input and output sources. It is also the file format used for plug-ins that can use Pro Tools as the host program.
(Virtual Studio Technology). The VST format was developed by Steinberg for use in their Cubase software. Today, VST plug-ins (and there are hundreds of them) can be used in nearly every audio program on both the PC and Mac platforms. VST can be viewed as the de facto standard for audio plug-ins. VST plug-ins can either be soft instruments, such as synths or samplers, or effects such as reverbs, compressors, distortion boxes, and other methods of processing audio. Instruments are often given the VSTi acronym to distinguish themselves from effect plug-ins. The VST 2 format, released around 1999, added more flexibility to the original format.
If your host software and a particular plug-in aren’t compatible, all is not lost. There are a few companies that are making adapters or “wrappers” so that plug-ins written in one format can be used in a host that uses another. The fxpansion folks make popular programs that allows VST plug-ins to be used in host programs that read RTAS, AU, and Re-wire applications.
If you’re interested in learning more about plug-ins, check out kvraudio.com. It is the #1 web site for all audio plug-ins — instruments, effects, and hosts.
If you’re at all involved with creating electronic music, at some point you’re sure to use sample libraries. It’s a fact that samplers (hardware and software) all read and play digital audio files, but how these files are incorporated into the sampler and how the sampler saves its files to a storage medium can be very different. For instance, if you’ve got a great drumkit in the NN-XT sampler inside Propellerhead’s Reason, you won’t be able to open that file directly into Cakewalk’s Project 5. Manufacturers have recently realized that it’s to their advantage to offer a product that is capable of reading a variety of file formats. Today, you can find soft samplers that claim to be “universal” in their ability to read a large number of proprietary formats and “interpret” them so that they can be played by the host sampler. Native Instruments’ Kontakt 2, for example, will natively read and interpret at least 20 different file formats.
It’s possible to purchase or download audio files in .wav and .aif formats that can be used to construct banks of sounds from scratch in any sampler format. However, if you don’t want to do all the work yourself, you can buy packages that have everything ready to go. Just copy the bank to your hard drive and then open it in your hardware or software sampler. The most popular sample formats are for Acid, Akai, E-mu, EXS24, Gigastudio, HALion, Kontakt, Kurzweil, Reason, Roland, RMX, SampleCell, and SoundFont.
One particular type of file is so unique that it deserves special attention. REX files (most often loops) are created by Propellerhead’s ReCycle Software. The original version of ReCycle exported REX files so that they could be used inside their Reason software package. An updated version, ReCycle 2.0 creates RX2 format files that use a compression codec to reduce the size of the file. REX files have been sliced into a number of different parts that can then be played back slice-by-slice. Using this technique, it’s possible to time-alter loops and alter the order of the various slices of file. REX files have become so popular that many software programs now read them natively.
With so many different sampler formats, you might think that sharing samples between machines or software would be impossible. But just as there are programs that will convert one audio format into another, there are software programs designed to convert one sampler format into another. Two that this author has used and can recommend are CDXtract by Bernard Chavonnet and Translator by Chicken Systems. Both programs have a pretty wide matrix of source file formats to destination file formats.