Player/Wavetable Synthesizer Technology
Today’s mobile phones and PDA’s are highly integrated multi-function communications and entertainment devices. For these and similar applications, QSound Labs provides a suite of technologies that addresses their demanding audio needs: high functionality with low resource requirements.
            Amongst these technologies are a  full-featured audio player supporting multiple digital audio file formats, and  a polyphonic wavetable synthesizer, mQSynth, to render ringtones and other performance files (explained below).
            These functions are separately available,  but conveniently packaged in a compact software digital audio engine called microQ.
            Digital audio files in formats such as .mp3 are essentially recordings. These files are handled by the player, and can benefit from selective application of spatial and spectral enhancements as well as dynamic range control, to improve their playback quality on small handheld devices. This enhancement is available via the mQFX enhancement  package.
            Modern cell phones typically provide the user with the ability to select or download polyphonic (multi-voice) ringtones, so that their phones can inform the user of an incoming call through sophisticated musical alerts. Some phones can associate different ringtones with different callers.
            Performance  files are commonly used for ringtones (i.e. musical  incoming call alerts). This type of file, in a variety of formats including the Standard MIDI file (.mid), is composed of a list of time-stamped instructions that select instruments and play notes with them. As such, it is entirely different than a digital audio file and much more analogous to a musical score. 
            Performance file instructions are interpreted by a file parser which then feeds them to a music synthesizer to render (perform) the digital score in real time, turning instructions into  music with digital instruments and sound effects.
            Real-time music synthesis has two main  advantages over pure digital audio: 
- because performance files are only instructions, they can be orders of magnitude smaller than digital audio files.
- real-time synthesis can be controlled on the fly. This makes it a superb platform for games, not only for music that can follow the action, but also as a mechanism for playing sound effects.
The QSound audio player and synthesizer are core components of microQ and microQ JSR-234.
Wavetable Synthesizer mQSynth
The QSound digital audio engine turns performance files into music using a wavetable synthesizer. A wavetable synthesizer is essentially a highly specialized digital audio playback system that plays a set of digitally-recorded instrument sounds, individually known as waveforms or samples; and collectively as the wavetable.
            Wavetable synthesis provides an excellent  balance between realism and resource use. Because its samples are recorded from  real instruments, wavetable synthesis has a substantial advantage over  synthesis methods that emulate instrument sounds using simple waveshapes  generated in real time. For example, while FM synthesis is known for its  excellent bell tones and horns, it has great difficulty producing the rich,  complex waveforms characteristic of instruments such as the acoustic piano,  guitar, drums and other percussion instruments.
            Each instrument definition for a wavetable  synthesizer consists of samples and sets of parameters that determine how the  synthesizer will articulate them, i.e. shape their playback in terms of volume,  pitch, and tone. Seamless automatic repetition of the body of the samples (looping) allows notes to continue  sounding indefinitely. Thus a relatively small number of short samples may be  used to produce notes of arbitrary pitch, volume and length.
            Our wavetable synthesizer can play as many  as 16 instruments at the same time, and produce a number of simultaneous notes (i.e. polyphony) limited only by the  resource capabilities of the platform hardware. Typically the synthesizer is  configured for 32, 64 or 128-note polyphony.
            There is a close relationship between the  size of the synthesizer wavetable and the number and quality of distinctly  different instrument sounds it can produce. To meet the needs of a broad range  of hardware, our standard wavetables start as small as 50KB in size, and range  up to over 1MB. Wavetable customization can be provided, e.g. if special  emphasis is desired for certain types of instruments. The synthesizer is  compatible with an industry-standard wavetable format called DownLoadable  Sounds (.dls).
            The QSound synthesizer supports formats  such as Mobile XMF (.mxmf) that include, in addition to the event list comprising  the musical score, custom instrument definitions (including associated  samples). This gives the content producer the ability to provide wholly unique  instruments, sound effects or voices to be played in their composition.
            Real-time interactivity is supported  through the Java JSR-135 interactive synthesizer interface and the Java JSR-234 compatible implementation of the microQ library.

