MiniBAE
miniBAE (mini Beatnik Audio Engine) is a mobile sample-based audio engine developed from 1999 to 2002. It is an optimized version of Beatnik Audio Engine for mobile usage, and was licensed to manufacturers such as Nokia, Danger, and Sony Ericsson. It was succeeded by mobileBAE in 2002, a rewritten version.
History
The technology was first developed by Steve Hales and Jim Nitchals in their video game company called Halestorm in 1991. At the time, it was called SoundMusicSys, appearing in many successful video games for Macintosh, and in Microsoft's WebTV devices. In 1994, Steve and Jim transferred the technology to Igor's Software Labs (aka IgorLabs), which Beatnik. (called Headspace, Inc. at the time) would eventually acquire.[1] Later, BAE appeared in 1997 as a browser plugin used to play "RMF" (Rich Media Format) files, a direct precursor to MXMF files that used proprietary bank formats instead of .dls. This format was a way of storing music in a small size, so people with a dial-up connection could download it relatively quickly.
BAE was also used in older Java versions (until JRE 7), and BeOS. Nokia started licensing miniBAE (a smaller version of BAE) in 1999,[2] but did not begin using it until the Nokia 3510 and Nokia 7650. It was used on many Nokia phones between 2002 and 2010, although after 2004 it had been deprecated in favor of MobileBAE and was only being used on low end S40 phones at this point. The last known phone to use it was the Nokia 2220 slide.
Danger's Hiptop/Sidekick devices also used miniBAE up until 2004-2005, when they switched to MobileBAE. A handful of Sony Ericsson phones running Symbian UIQ, such as the Sony Ericsson P800, also use the engine. Motorola are also alleged to have used it on some phones. MiniBAE was also ported to Linux, but not included in the source code release for an unknown reason.
Since the shutdown of Beatnik in 2011, the source code has been released under a BSD license.[3] An enthusiast who goes by the name zefie managed to get the code to work on Linux (ANSI, waveout only), and Windows.
MiniBAE sound banks
Sound bank name | File size | Creator | Notes |
---|---|---|---|
HruskaNokia (Rev 5) | 92.3 kB | Jennifer Hruska | Is an earlier version of SalterNokia. Despite what the name states, it was not used on any Nokia phones. It was designed by SONiVOX for Beatnik Inc. |
SalterNokia (Rev 4) | 92.3 kB | Brian Salter | This version introduced new ADSR/instrument management into the bank, though it still used HruskaNokia samples, unlike Rev8a which optimized the samples further. |
SalterNokia (Rev 8a) | 97.4 kB | Brian Salter | A small bank found in the miniBAE source code. It was not used on any Nokia phones. Used in early 'generic' Symbian releases, SDKs, and launch firmware of the Sony Ericsson P800. |
UIQ bank | 101 kB | Brian Salter | Used in early Sony Ericsson UIQ phones. Is a derivative of the 'SalterNokia' bank, but with more unique patches. The P900/P910 version has different equalization compared to the P800 (later firmware version) |
Small bank | 59.8 kB (70.7kB on phones with a camera) | Brian Salter Mikko Tillander |
Used in mid/low-end S40 phones from 2002 to 2006. Informally known as the "Chippy" bank. |
Large bank | 306.7 kB (170.2kB on phones) | Brian Salter | Used in S60, S80, S90 and high-end S40 phones from 2002 to 2006. |
Idefix bank | 63.4 kB | Brian Salter Aleksi Eeben |
Used in low-end S40 phones from 2004 to 2010, particularly those running 2nd Edition (16 or 24 voices) or 5th Edition Lite (24 voices). A mixture of patches from the small and large banks. |
Mango bank | 519.3 kB (292 kB on the N-Gage) | Brian Salter Arne Schulze Jussi Salonen |
Used in the N-Gage phones as well as a few other phones such as the Nokia 7600. It sounds similar to large bank but it has extra instruments. It is named after Nokia 7600's codename. |
Hiptop v1.0 | ??? | Peter Drescher | Used on Danger's hiptopOS 1.0 |
Hiptop v1.1 | 224 kB | Peter Drescher | Used on Danger's hiptopOS 1.1, 2.0 and 2.3 |
Phones with a MiniBAE synth
Phone | Sound bank | Mixer rate | Max. poly | Active FX |
---|---|---|---|---|
Danger Hiptop (1.0) | Hiptop 1.0 | 11025hz | 8 | Flange filter |
Danger Hiptop (1.1) | Hiptop 1.1 | 11025hz | 8 | Flange filter |
Danger Hiptop Color | Hiptop 1.1 | 11025hz | 12 | Flange filter |
Danger Hiptop 2 | Hiptop 1.1 | 16000hz | 16 | Flange filter |
Nokia 2112 | Chippy bank | 16000hz | 16 | -- |
Nokia 2115 | Chippy bank | 16000hz | 16 | -- |
Nokia 2118 | Chippy bank | 16000hz | 16 | -- |
Nokia 2220 slide | Idefix bank | 16000hz | 24 | -- |
Nokia 2330 classic | Idefix bank | 16000hz | 24 | -- |
Nokia 2355 | Chippy bank | 16000hz | 16 | -- |
Nokia 2600 classic | Idefix bank | 16000hz | 24 | -- |
Nokia 2610 | Idefix bank | 16000hz | 24 | -- |
Nokia 2626 | Idefix bank | 16000hz | 24 | -- |
Nokia 2630 | Idefix bank | 16000hz | 24 | -- |
Nokia 2650 | Chippy bank | 16000hz | 4 | -- |
Nokia 3100 | Chippy bank | 16000hz | 4 | -- |
Nokia 3100b | Chippy bank | 16000hz | 16 | -- |
Nokia 3120 | Chippy bank | 16000hz | 4 | -- |
Nokia 3120b | Chippy bank | 16000hz | 16 | -- |
Nokia 3125 | Chippy bank | 16000hz | 16 | -- |
Nokia 3200 | Chippy bank | 16000hz | 16 | -- |
Nokia 3220 | Chippy bank | 16000hz | 16 | Reverb |
Nokia 3230 | Large bank | 16000hz | 48 | -- |
Nokia 3300 | Mango bank | 16000hz | 24 | -- |
Nokia 3510 | Chippy bank | 16000hz | 4 | -- |
Nokia 3510i | Chippy bank | 16000hz | 4 | -- |
Nokia 3560 | Chippy bank | 16000hz | 4 | -- |
Nokia 3585 | Chippy bank | 16000hz | 4 | -- |
Nokia 3590 | Chippy bank | 16000hz | 4 | -- |
Nokia 3595 | Chippy bank | 16000hz | 4 | -- |
Nokia 3650 | Large bank | 16000hz | 24 | -- |
Nokia 3660 | Large bank | 16000hz | 24 | -- |
Nokia 5000 | Idefix bank | 16000hz | 24 | -- |
Nokia 5100 | Chippy bank | 16000hz | 4 | -- |
Nokia 5140 | Chippy bank | 16000hz | 16 | -- |
Nokia 5140i | Idefix bank | 16000hz | 16 | -- |
Nokia 6010 | Chippy bank | 16000hz | 4 | -- |
Nokia 6019i | Chippy bank | 16000hz | 16 | -- |
Nokia 6020 | Chippy bank | 16000hz | 16 | Reverb |
Nokia 6021 | Chippy bank | 16000hz | 16 | Reverb |
Nokia 6030 | Idefix bank | 16000hz | 16 | -- |
Nokia 6060 | Idefix bank | 16000hz | 16 | -- |
Nokia 6070 | Idefix bank | 16000hz | 24 | -- |
Nokia 6100 | Chippy bank | 16000hz | 4 | -- |
Nokia 6101 | Idefix bank | 16000hz | 24 | Reverb |
Nokia 6102 | Idefix bank | 16000hz | 24 | Reverb |
Nokia 6200 | Chippy bank | 16000hz | 8 | -- |
Nokia 6220 | Chippy bank | 16000hz | 16 | -- |
Nokia 6225 | Chippy bank | 16000hz | 16 | -- |
Nokia 6230 | Large bank | 16000hz | 24 | -- |
Nokia 6235 | Large bank | 16000hz | 24 | -- |
Nokia 6260 | Large bank | 16000hz | 48 | -- |
Nokia 6600 | Large bank | 16000hz | 24 | -- |
Nokia 6610 | Chippy bank | 16000hz | 4 | -- |
Nokia 6650 | Large bank | 16000hz | 24(?) | -- |
Nokia 6670 | Large bank | 16000hz | 48 | -- |
Nokia 6800 | Chippy bank | 16000hz | 4 | -- |
Nokia 6820 | Chippy bank | 16000hz | 16 | -- |
Nokia 6822 | Chippy bank | 16000hz | 16 | -- |
Nokia 7070 Prism | Idefix bank | 16000hz | 24 | -- |
Nokia 7100 Supernova | Idefix bank | 16000hz | 24 | -- |
Nokia 7200 | Chippy bank | 16000hz | 16 | -- |
Nokia 7210 | Chippy bank | 16000hz | 4 | -- |
Nokia 7250 | Chippy bank | 16000hz | 4 | -- |
Nokia 7260 | Chippy bank | 16000hz | 16 | Reverb |
Nokia 7270 | Large bank | 16000hz | 40 | -- |
Nokia 7280 | Large bank | 16000hz | 16 | -- |
Nokia 7360 | Idefix bank | 16000hz | 24 | Reverb |
Nokia 7600 | Mango bank | 16000hz | 24 | -- |
Nokia 7610 | Large bank | 16000hz | 48 | -- |
Nokia 7650 | Large bank | 16000hz | 24 | -- |
Nokia 7710 | Large bank | 16000hz | 24 | -- |
Nokia 9300 | Large bank | 16000hz | 24 | -- |
Nokia 9300i | Large bank | 16000hz | 24 | -- |
Nokia 9500 Communicator | Mango bank | 16000hz | 24 | -- |
Nokia N-Gage | Mango bank | 16000hz | 24 | -- |
Nokia N-Gage QD | Mango bank | 16000hz | 24 | -- |
Sony Ericsson P800 (early firmware) | SalterNokia (Rev 8a) | 22050hz | 16 | -- |
Sony Ericsson P800 (later firmware) | UIQ bank | 22050hz | 16 | -- |
Sony Ericsson P900 | UIQ bank | 22050hz | 24 | -- |
Sony Ericsson P910i | UIQ bank | 22050hz | 24 | -- |
Links
- BeatnikX Player - based on the old ActiveX plugin
- The miniBAE codebase.
- A fan-driven way to make the codebase work on modern Windows.
- Beatnik Editor - allows you to make your own RMF songs and HSB banks, as well as wire your banks to a MIDI sequencer for composing purposes