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.
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.