SoundFont 2.1 Application Note Joint E-mu/Creative Technology Center E-mu Systems, Inc. Wednesday, August 12, 1998

Similar documents
Chapter X Sampler Instrument

User Guide. Manual Version 1.0

Continuous Controller Parameters

INSTALLATION. UNDERSCORE is a sample library for Native Instruments Kontakt 5.3 and later. It will NOT work with the free Kontakt Player.

Axiom. User Guide. English

F 0 2 M I D I R e f e r e n c e EN

Editor: Yamaha TG500 TECH PUB

Konarie REASON RACK EXTENSION SYNTHESIZER WITH OPTIONAL HARDWARE CONTROL. 1

Procussion operation manual Basic Operation 15 BASIC OPERATION

Equator Quick Start Guide. Beta v.0.9.4

Last sine waveform is output constantly to allow test of audio output. Board must be reset to exit test mode and return in normal mode.

JX-3P. PLUG-OUT Software Synthesizer Owner s Manual Roland Corporation 01

DATA LIST Daten-Liste Liste des données Lista de datos

MIDI Implementation. Model VE-GS Pro Version 1.00 '99.3. Section 1. Receive data. Channel Voice Messages

BRUTE VRS User Manual Version 1.0 November 2014

User Guide. English. Manual Version 1.1

New Features in Digital Performer 5.13

Timpani. Version 1.2. Virtual Instrument Product Manual. Versilian Studios 2014

The Compact Make-Music-Now Keyboard Studio. English. User Guide

µmidi MIDI Implementation Chart

Something you should know before using the MIDI Functions

MIDIPLUS Co, Ltd.

User Guide. English. Manual Version 1.0

MIDI Reference CLP- 525

CLP-370/340/330 CLP-S308/S306

MorphEdit for Windows. Copyright 1994,1995,1996 PJA White

MIDI Musical Instrument Digital Interface

PX-360M/PX-560M MIDI Implementation

Worlde TUNA MINI MIDI Controller User s Manual

SH-2. PLUG-OUT Software Synthesizer Owner s Manual

Supplemental Notes March 10, 1999 SN79 V1.0. The Basics of MIDI

Chapter 5.5 Audio Programming

MUSICAL BEHAVIORS: LAYERED COMPOSITIONAL ALGORITHMS AS PLUGINS FOR THE TRANSFORMATION ENGINE

Sounds of the Delta Kontakt instrument.

Scythe Synthesizer for iphone

MIDI Data Format / MIDI-Datenformat / Format des données MIDI / Formato de datos MIDI

Tutorial on MIDI and Music Synthesis

Maize Sampler 2 Documentation

PSP Rhythm User s Manual

User Manual. for ArcTrax UWP version

FPDJ. Baltazar Ortiz, Angus MacMullen, Elena Byun

Axiom DirectLink for Reason and Record User Guide

With its stunning design featuring new voices and styles, DJ functions the PSR-S670 is a performance keyboard like no other.

The Kurzweil K2000 & Galaxy Intro: Phase One: Phase Two:

Grandstage 88/73 MIDI Guide

User Guide Version 1.0.0

Bass Station II v4.14 New Features User Guide

HATS USER GUIDE 2016/05/02

Aeolian Meditation. User Manual. All that we see or seem is but a dream within a dream. - Edgar Allan Poe

Documentation Addendum (Covers changes up to OS v1.20)

Preface. What s in the Box? BK492 Keyboard Overview

A few general thoughts on the instrument

Wolfgang Leister Bror Gundersen. Norsk Regnesentral

DIGITAL PIANO Date: June. 1, 2000 Model HP-557R MIDI Implementation Version: 1.00 KR-277/377/577/977/1077

OPERATION MANUAL VST / AU

Eastern Percussion Module

Slow by FrozenPlain 1 Version 1.0 AMBIENT PADS AND SOUNDSCAPES

Digitakt OS 1.06 Release Information

Installation & User Guide

User Guide. English ( 3 16 ) Appendix English ( )

Introduction. SYNFERNO is a powerful instrument and cinematic sound module for the NATIVE INSTRUMENTS KONTAKT 5 sampler.

Digital Audio Systems Desktop Sampling Systems

QUICKSTART GUIDE ENGLISH

SAINT LOUIS DREAMA Page 2 of 12

Sono 61. English User Guide

Worlde Panda MINI Controller User s Manual

KeyStudio 49i. English. User Guide

Sub Phatty Editor Manual

08 Sound. Multimedia Systems. Nature of Sound, Store Audio, Sound Editing, MIDI

MIDIPLUS Co, Ltd.

Portable Music Studio

SPECIAL PERFORMANCE FEATURES

Description - model 225e MIDI Decoder / Preset Manager

Digitakt OS 1.07 Release Information

Table of Contents Control Description... 4 Basic Connections... 5 Features... 6 Software Flow Chart... 7 Menu Flow Chart... 8 Menu Notes...

Kameleono. User Guide Ver 2.1

Supplementary Manual. Contents MUSIC SYNTHESIZER. New Functions in MONTAGE Version New Functions in MONTAGE Version

MintySynth Software Manual v. 4.2

Supplementary Manual

System Version February 14, 2017

Digitakt OS 1.10 Release Information

Desktop Sampling System Operation Manual

Specifications. It s the sound.

OWNER S MANUAL rev. 2.02

Creating a New Project

TWO-VOICE PRO. Quickstart Guide. Version 1.0 October 2015 MARION SYSTEMS CORPORATION Moraga Road Suite i-394 Moraga, CA USA

INTRODUCTION 3 GETTING STARTED 5

MPC The MPC2500 comes with 16MB of onboard memory which can be expanded up to 128 MB of RAM via the optional EXM128 memory card.

HALion 4. Version history Known issues & solutions. Januar 2013 Steinberg Media Technologies GmbH

MOOG SUB 37 - FIRMWARE UPDATE UPDATE INSTRUCTIONS FOR WINDOWS (Skip to the next section for Mac OSX instructions)

VL Visual Editor. Manual

User Manual. Drum Machine

User Manual V

Spreading a Sample Across the Pads

I2-61 Black Edition. Owner's Manual

FRONT PANEL OVERVIEW...1 REAR PANEL OVERVIEW...3 HOOKUP DIAGRAM...4 DISPLAYING INFORMATION...6

GETTING STARTED GUIDE. Specifications

Falcon Singles - Glockenspiel for Falcon

Workshop. Automation ÂØÒňΠMV-8000

Inear Display AMALGAME

Transcription:

SoundFont 2.1 Application Note Joint E-mu/Creative Technology Center E-mu Systems, Inc. Wednesday, August 12, 1998 Abstract This document explains SoundFont 2.1 and how to take advantage of the features that it provides. The MIDI Standard The MIDI protocol gave us a wonderful mechanism from which audio could be generated and controlled. Since the MIDI protocol only sends information pertinent to run-time control over a sound, rather than the continual updating of the complete definition of the sound, it allows for a realistic music experience and at the same time serves as a form of audio compression. Unfortunately, MIDI standards were not strict enough about the definition of what a sound is. General MIDI only defines the sound set which should be used with the MIDI protocol. For example, General MIDI says that Program 1 should be a piano. What General MIDI does NOT do is describe how that piano should sound. Also, although General MIDI has been extended by Roland (with GS) and Yamaha (with XG) to add more sound to the basic palette, General MIDI can never be extended in this manner to accommodate all possible sounds. Another problem with MIDI is in the area of real-time control of sounds. The MIDI standard is extremely strict about the scope of how a sound may be controlled in real-time, and at the same time the same MIDI standard is vague about the precision of how those parameters are controlled in real-time. Real-time controllers may only take effect globally on a program (equivalent to an entire instrument) and could only modulate basic parameters, including pitch, volume, and effects. At the same time, the precise manner by which these parameters are controlled (such as the resolutions, ranges and curves) is vaguely defined in the MIDI standard. Manufactures of synthesizers which are designed to be MIDI compliant are forced to reverse-engineer the resolutions, ranges and curves of one of the widely adopted MIDI synthesizers in order to become "compatible." Thus the problems which resulted MIDI sounds different on different synthesizers because there is no way to define the way an instrument sounds, and the MIDI protocol limits the composers ability to enhance the sounds in real-time. These are the primary reasons why MIDI compositions typically sound cheesy and unrealistic. The SoundFont 2.0 Standard SoundFont 2.0 has already solved the first half of this problem. It provides a way with which one could define a sound, and a way with which such a sound could be sent to a synthesizer. Once the sound is sent to the synthesizer, that sound could be controlled with the MIDI protocol. Since wave-table synthesis was, still is, and will likely continue to be the most practical way to define high quality electronic musical instruments, SoundFont 2.0 defines a sound as a collection of samples grouped into instruments which could be further grouped into presets. Instruments and presets could have individual volume, pitch, and filtering settings as well as defined envelopes and low frequency oscillators to further modulate those parameters.

So now, we have a way to say this is what a MIDI controlled piano will sound like using a definition which may be supported by any synthesizer with a typical wavetable synthesizer architecture model. This was a step forward, but it only solved half of the problem. MIDI still limits the ability to control your sound. Controllers are either ambiguous in nature, or very strict about how they influence the synthesized audio. There is no definition on how Modulation Wheel or Breath Controller influences a given sound. For different MIDI programs, these controllers should really have different effects that complement those programs. Pitch wheel, on the other hand, MUST influence pitch for ALL sounds contained within a single program on a single MIDI channel. So if a composer wants to use sound comprised of two layered samples and wants the same pitch wheel to bend the first sample up and the second sample down, he cannot do it. He is often told by strict MIDI advocates to use two different channels. Unfortunately with only 16 MIDI channels, tricks like this may not be used very much. And that is a tremendous waste of development resources. The SoundFont 2.1 Standard SoundFont 2.1 will solve the second half of this problem by introducing the modulator to the SoundFont format. A modulator is a definition of how a particular synthesis parameter will be altered in real-time as a result of a user or system input. In other words, SoundFont 2.1 will allow one to say this is how a SoundFont 2.0 preset may be altered in real-time, and how it will sound like when it is altered in real-time. To see how this is done, we will start with the basic structure of the modulator: Primary Source The SoundFont 2.1 Modulator Norm Transform Amount T + Destination Summing Node Norm Secondary or Amount Source Primary Source:

The source is what causes an effect to occur on a synthesis parameter. A source may be any one of a wide range of MIDI controllers and other system driven events. A source may also be a synthesizer driven source (such as an envelope or an LFO) in the event that those outputs were made available to the SoundFont rendering engine. The Sources currently supported by SoundFont 2.1 are the following: Key On Velocity Key Number Channel Pressure Modulation Wheel Breath Control MIDI CC 7 MIDI CC 10 MIDI CC 11 MIDI CC 21 MIDI CC 22 MIDI CC 23 MIDI CC 24 MIDI CC 91 MIDI CC 93 Sources have a well-defined minimum and maximum values, and have linear resolutions. They go through a normalization stage that does two things: first, converts the source native units to arbitrary values between -1 and 1, and second, re-maps them to a user selected characteristic curve. The mappings currently supported by SoundFont 2.1 are the following:

Source Controller Type Summary Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar Linear Controller Curves for given Directions and Polairities Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar Concave Controller Curves for given Directions and Polairities Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar Convex Controller Curves for given Directions and Polairities Positive Unipolar Negative Unipolar Positive Bipolar Negative Bipolar Switch Controller Curves for given Directions and Polairities The negative unipolar concave controller curve obeys the amplitude squared characteristic used by the widely adopted MIDI synthesizers as a velocity curve influencing volume. SoundFont 2.1 adds a

mathematical formula to the specification that may be used to precisely compute the characteristic of the negative unipolar concave curve. The other concave and convex curves are simple variations of that characteristic. The switch controller curves transition at the middle point of the controller, there is no slew between the minimum and the maximum. Secondary (Amount) Source: A second source may simultaneously modulate the given destination. Features and implementation are identical to those in the source. Destination Summing Node A destination is the synthesis parameter that is being influenced by the source. The range of destinations spans the range of generators that may be used at a given level of the SoundFont hierarchy. In other words, any of the parameters that were available in SoundFont 2.0 may be modulated in SoundFont 2.1. Transforms A secondary mapping for the controllers. Transforms are typically mathematical formulas that know of no notion of minimum or maximum values. Example: MIDI Pitch Bend Let s move back to our MIDI pitch bend example by first demonstrating how the modulator may be used to create the MIDI definition of pitch bend. MIDI Pitch Bend is taken for granted that it will influence the pitch of the sound in a linear fashion with 1 cent resolution. In reality, MIDI Pitch Bend is just a wheel which sends data to a synthesizer and that triggers the synthesizer to move pitch up and down. The only reason pitch is moving up and down is because this is what the synthesizer is programmed to do when it receives a MIDI pitch bend. That stimulus/response can be represented using the SoundFont Controller Model in this fashion:

Example of MIDI Pitch Bend with a Modulator MIDI + Linear cents MIDI Pitch Wheel Note in this picture that MIDI pitch wheel used as a positive bipolar source, meaning that the middle value (64) has an influence of 0, the maximum value (127) has an influence of 1, and the minimum has an influence of -1. The source is routed to pitch, at an amount of cents per full swing. The reason this value is chosen is explained later. The controller further influences pitch with another source, MIDI. In this case, the source is used as a positive unipolar source. This means that the minimum value (0) has an influence of 0, and the maximum value (127) has an influence of 1. MIDI pitch wheel sensitivity by default is set to 2 semitones or 200 cents per maximum pitch bend up. This musical based value is represented by a MIDI value of 2, or 2/127 the full swing of the possible values which MIDI pitch wheel sensitivity may move. It is passed through a linear transform, which has no effect on the signal, and is added to the current fine tuning of the sound. So when the is moved from the middle value (64) to the maximum value (127), it s influence is to add (1 * * (2/127)) = 200 semitones to the current pitch. Likewise, when the is moved from the middle value (64) to the minimum value (0), it s influence on pitch is to add (-1 * * (2/127)) = -200 semitones.

Also note that as the RPN 0 (MIDI Pitch Bend ) controller is moved from 2 semitones (2/127) to 12 semitones (12/127), the maximum pitch bend up produces a value of (1 * * (12/127)) = 1200 semitones or one octave. Using Modulators to Break the MIDI Barrier The above behavior is compatible with the General MIDI specification regarding and Pitch Wheel. However if the sound designer wants to add expressiveness to their sound in the many ways it may be outside of the constraints of General MIDI, he may do so. All he needs to do is to change the amount, or perhaps the source-mapping curve, or even the source or destination! Let s assume we start with an instrument that is made up of two layered samples. Let s further assume that we have a SoundFont 2.0 instrument so there can be different parameters on each sample. SoundFont 2.0 Instrument Instrument Sample 1 Sample 2 This instrument lacks modulators, so it is taken for granted that it responds to MIDI inputs such as pitch wheel in the manner that General MIDI defines. Adding the modulator we formulated above to the parameter list of each of the two samples does not alter the sound or it s response to real-time pitch bending:

SoundFont 2.1 Instrument with Explicit MIDI compatible Pitch Bend Modulators Instrument Sample 1 Sample 2 So, now that these modulators are explicitly added to the sound definition, they may be altered to produce a new desired effect, such as having pitch bend moving one sound up and one sound down. The modification change the amount from to -: SoundFont 2.1 Instrument with Custom Pitch Bend Modulators Instrument - Sample 1 Sample 2 Or, since this is such a simple change, one could also change the source type from positive bipolar to negative unipolar:

SoundFont 2.1 Instrument with Custom Pitch Bend Modulators Instrument Sample 1 Sample 2 Versatility SoundFont 2.1 allows you to add as many of these modulators per instrument as you want. This allows you to create instruments which are either 100% MIDI compatible or partially MIDI compatible, or not MIDI compatible at all.

SoundFont 2.1 Instrument with Explicit MIDI compatible Modulators Instrument Velocity Attenuation -960 cb Sample 1 None CC 91 Reverb Send 100 p1p None Not only that, you may route multiple sources to the same destination. If you need velocity, CC7 and CC11 to influence volume, they may do so. Also they do so in an additive manner, so one modulator won t override another. And since SoundFont 2.0 parameters are perceptually additive, the modulator effects upon the destination are mixed in the way that makes the most musical sense. Also, you may have the same source influencing the same destination multiple ways. For example, if you have pitch bend influencing pitch two times where one is adjustable with pitch wheel sensitivity and the other is adjustable with another controller, SoundFont 2.1 allows you to do so! This was not supposed to imply that one could not have the same source influencing the same destination in the same way multiple times if you wanted that, you only need add the two amounts together! Use in all levels of editing SoundFont 2.0 used many levels of editing to facilitate the sound designer. SoundFont 2.1 allows you to add modulators at all of these levels of editing. Examples of using modulators in an instrument zone, in which key and velocity ranges may be assigned and synthesis parameters may added to influence samples. Examples of this were shown above.

Modulators may also be used in the global instrument zone, in which instrument default parameters may be assigned. Also Modulators in a local instrument zone override the modulators in the global instrument zone. SoundFont 2.1 Instrument with Modulators added to Global Zone and Local Zone Instrument Velocity Attenuation Global (Default) 6350-960 cb Sample 1 Sample 1 None CC 91 Reverb Send 100 p1p None The preset zone, in which key and velocity ranges may be assigned and synthesis parameters may be added to influence instruments as shown above, and the global preset zone, in which preset default parameters may be assigned. The effect of modulators at the preset level is as follows. Preset level modulators add to the same modulators at the instrument level, if they exist. The reason to do this is much the same as the reason to use preset level generators to enhance instruments in such a way that the instrument itself is not altered. This way, that instrument may be reused either as is or in a different manner elsewhere.

SoundFont 2.1 Preset with Modulators added to Global Zone and Local Zone Preset Velocity Attenuation Global (Default) 6350-960 cb Instrument 1 Instrument 2 None CC 91 Reverb Send 100 p1p None SoundFont 2.1 NRPN implementation In order to influence sound parameters in the many ways you can with SoundFont 2.1, the decisions need to be made at sound design time. In many situations, this makes sense, only the sound designer knows what the sound is really made up of, how many samples are used in an instrument or a preset, how those samples would sound if given certain inputs and real-time controllers. In other words, only the sound designer is in a position to make decisions as to how to influence sounds when you go beneath the single program (or preset) level. However there are times when a composer does not want to go through all of that just to add some realtime control over the many synthesis parameters provided by SoundFont 2.0. They simply want to add controller messages to their sequences to control these parameters. Unfortunately, the MIDI standard precludes such composers from using standard continuous controllers to do this, because those parameters are not considered standard. Examples of non-standard synthesis parameters would be envelope hold segment and LFO frequency. To address these concerns, SoundFont 2.1 also adds a standard NRPN implementation that guarantees that at least one 14 bit MIDI controller is available to provide real-time control for each and every SoundFont 2.x synthesis parameter. This controller influences the entire preset globally, which only

makes sense because the MIDI protocol does not and can not understand the details behind the definition of a single MIDI program (SoundFont preset). Any synthesizer claiming to be SoundFont 2.1 compatible will support the same NRPN implementation. Extensible SoundFont 2.1 addresses many issues, but not all of them. There are many more areas in which real-time controllers may be applied and used, and which are not defined by SoundFont 2.1, either because there is no hardware or software support for those features, or because it is simply impractical to do so at this time. Fortunately, SoundFont 2.1 does not preclude such features from being added in the future. Just as SoundFont 2.1 is a purely bi-directional compatible upgrade from SoundFont 2.1, such extensions can be added in a bi-directional compatible manner. So there is plenty of room for new features and upgrades. Compared to the Pros SoundFont 2.1 is not a new technology. E-mu professional samplers tone modules has been using the concept of Modulators for many years. These are called Patch Cords in those products, and the versatility of those patch cords is what allowed those products to play sounds with more expression and feeling than many other products in their class. SoundFont 2.1 not only gives you much of the functionality of many of the Emulator patch cords with modulators, it does not add restrictions as to how many modulators may be used at any given level of the preset. Such restrictions were required for the E-mu products because they had well known and fixed CPU resources (such as local RAM and clock speed). SoundFont banks, being used mostly in multimedia applications, are used in an environment that is gaining more CPU resources by the month. So it only made sense to not add such restrictions to SoundFont 2.1, and allow the sound designer to choose which CPU speed is the minimum required in playing a particular sound. SoundFont 2.1 does not provide all of the features that the E-mu patch cords feature provides. Examples of where E-mu products are superior include the usage of LFO and Envelope outputs as sources, synthesizer functions (such as cross-fade and sustain) as destinations, and the ability to cascade patchcords. But, again, these limitations are simply a matter of definition and a matter of what may be supported with current hardware and software synthesizer technology. When the day comes that such sources need to be added to the SoundFont 2.1 model in order to account for new synthesizer technology, we ll add them. Availability The E-mu Audio Production Studio (http://www.emu.com/ecard.html) will be the first product available that supports SoundFont 2.1. More will follow. Creative Technology has expressed a strong interest in incorporating the features provided by SoundFont 2.1 into the SoundFont compatible Sound Blaster series of products, however a schedule for the availability of this software is still undecided.