Synthesizer module

Also see bank and program in the Organization Module, and the Universal Synthesizer

The MML Synthesizer Module is based on the model of a universal synthesizer.

The following Universal Synthesizer Modules (USMs) are distinguished. A synthesizer need not implement all these modules, as will be explained.

Some common synthesizer concepts are not included in this model. For example, sound banks and sound programs in MML are handled by the organization module as they do not generate any sounds, but organize and administrate them. Sound banks are handled by the bank attribute, and sound programs by the program attribute.


synth | circuit

The synthesizer to which music content applies is indicated with the synth element.

Some synthesizers allow users to manipulate the circuit in some or other way. This is marked using the circuit element. Circuits can be looped in various ways. See the brief discussion of looping.



In physics, sound is usually analyzed in terms of base sound waves, such as a sine, square, saw tooth and others. These basic physical sound wave patterns are the primitives (declared with the prim element) of the universal synthesizer. These basic physical sounds are not complex waves.

Not all real synthesizer product models allow the user to specify primitives. The older analogue synthesizers used to have such primitives, and some of the later digital models mimic these old analogue synthesizers thus allowing the use of primitives.




Some real synthesizer products do not provide primitives, but combinations of primitives as basic sound building blocks. These "sounds" are complex waves or core sounds (declared with the core element) as they can be used in combinations to create new sounds. Sounds included here are such as sound fonts, samples, and a wide range of sounds called by different names by different manufacturers (and even by different product models from the same company). There is a total lack of standard industry terms. Some names that aply to this module are: part, timbre, wavetable, patch and many more. Some products apply some of these terms not to the MML synthesizer 'core', but to the MML synthesizer 'sound'.

Take note that these terms may apply to other modules as used by some manufacturers. Due to the inconsistency among manufacturers there is, unfortunately no clear guideline here. The only solution is to analyze a specific synthesizer in terms of the USM modules and 'rename' the synthesizer terms. It is proposed that USM names should map to the names used by a specific synthesizer. Ideally there should be some schema that contains the definitions, which is what MML attempts to do.




Effects are secondary processes in the sense that they cannot 'live' on their own. They need a primary sound source to which they are applied. Effects can be applied to the lower levels (primitive and core) independently, and/or to their combined output. The looping circuit will determine which is possible. Effects (declared with the effect element) can also apply to higher level modules.

The illustration of a USM could also be drawn differently: primary sound modules could form the main processing line in the flowchart for the circuit, while secondary modules could be added parallel to the primary line. The illustration should thus not be confused with the model. The model can be illustrated in many different ways.


Sound set


The sound set module consists of complex sounds that may be combined to form an instrument. The building blocks of rich sounds are complex waves, such as supplied by the core module. For some synthesizers, a set of combined primitives may become the sound.

A sound set is not the final 'sound' (or instrument), and neither is it a more basic 'sound' such as a core sound. This module allows real synthesizers to have an intermediate level for sound production.

Some manufactured products call the sound set a 'patch', others call it a 'part', or 'timbre', or something else.



adsr | intensity | volume

Volume that affects texture, envelope and harmonics are applied in this module. It is necessary to introduce two concepts of loudness. One is volume which relates to the MIDI volume and the volume button on equipment. The other is intensity which relates to the applied increase in amplitude that influences the texture of a sound (see the Texture module). So intensity would be used on the level of sound creation, while volume would be used on a larger scale for functions such as mixing sound levels.

Texture influences sound as follows. The envelope determines, for example, how the sound wave begins when triggered (ie when played). A slow attack sounds different from a fast attack, even though all the other characteristics may be exactly the same. This module may logically also apply after the instrument module in the circuit. It is placed here as different instruments usually have different envelopes 'by nature'. For example, a violin has a slower attack than a piano.




An instrument is the single solo instrument played by a "musician" (or group of musicians). If the instrument can play a melodic line, that line defines it. If it is a percussive instrument, what it plays defines it. Such an instrument may mimic a real one, such as a piano, saxophone, drum, and so on, or may be a virtual instrument that exists only in the digital world, and for which synthesizer manufacturers have the weirdest names. A melody line played by a ghost-like whining synthetic cry would constitute an instrument. As there are an infinite possibility of these instruments, they are usually given unique names by their creators. There is no way in which such names could become universal conventions, except if a schema and namespace is created along XML-lines that would provide categorical guidelines for classifying such instruments.



band | device

A band is a collection of similar or different instruments. It can also be called an orchestra. In MML the shorter word "band" is chosen as element name for this concept, purely for economical reasons. In MML a symphony orchestra is one kind of band, despite possible objections by purists.

A band consists of a set of instruments that may be produced by a single synthesizer machine (such as a multi-part synthesizer that can handle different MIDI channels), or by several machines connected via some or other network, such as a MIDI network.

Different devices used to form the band must be specified explicitly using different device attibutes. A device may handle several different bands. If the band is constituted by a single device only one device is specified.

In MML a band could either be a real band (Performance Module) or a virtual band (in this module).


1999, 2000 Author: Jacques Steyn