BASS audio library
Platform: Win32, OSXCurrent version: 2.4.2.3
   download - Win32 download - MacOSXLicensing

BASS is an audio library for use in Windows and Mac OSX software. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a tiny DLL, under 100KB* in size.

On Windows, BASS requires DirectX 3 or above for output, and takes advantage of DirectSound and DirectSound3D hardware accelerated drivers, when available. On OSX, BASS uses CoreAudio for output, and OSX 10.3 or above is recommended. Both PowerPC and Intel Macs are supported.

C/C++, Delphi, Visual Basic, and MASM APIs are provided, with several examples to get you started. .Net and other APIs are also available.

 Main features 
Samples
Support for WAV/AIFF/MP3/MP2/MP1/OGG and custom generated samples
Sample streams
Stream any sample data in 8/16/32 bit, with both "push" and "pull" systems
File streams
MP3/MP2/MP1/OGG/WAV/AIFF file streaming
Internet file streaming
Stream data from HTTP and FTP servers (inc. Shoutcast, Icecast & Icecast2), with proxy server support and adjustable buffering
Custom file streaming
Stream data from anywhere using any delivery method, with both "push" and "pull" systems
Multi-channel streaming
Support for more than plain stereo, including multi-channel OGG/WAV/AIFF files
MOD music
Uses the same engine as XMPlay (very accurate, efficient, high quality reproduction), with full support for all effects, filters, stereo samples, DMO effects, etc...
MO3 music
MODs with MP3 or OGG compressed samples (vastly reduced file size with virtually identical sound quality), MO3s are created using the MO3 encoder
Multiple outputs
Simultaneously use multiple soundcards, and move channels between them
Recording
Flexible recording system, with multiple device support and input selection, (WMA encoding & broadcasting via the add-on, and other formats via BASSenc)
Decode without playback
Streams and MOD musics can be outputted in any way you want (encoded, written to disk, streamed across a network, etc...)
Speaker assignment
Assign streams and MOD musics to specific speakers to take advantage of hardware capable of more than plain stereo (up to 4 separate stereo outputs with a 7.1 soundcard)
High precision synchronization
Synchronize events in your software to the streams and MOD musics, synchronize playback of multiple channels together
Custom DSP
Apply any effects that you want, in any order you want
DirectX 8 effects Windows only
Chorus / compressor / distortion / echo / flanger / gargle / parametric eq / reverb, 2 implementation options each with its benefits (including mixing with DSP functions)
32 bit floating-point decoding and processing
Floating-point decoding/rendering, DSP, FX, and recording
3D sound
Play samples/streams/musics in any 3D position, with EAX support
Flexible
Small buffers for realtime performance, large buffers for stability, automatic and manual buffer updating, configurable threading
Expandable
Add-on system for additional format support and effects (C/C++ API available on request), dynamic plugin loading system, access to underlying DirectSound objects
Small
BASS is less than 100KB*, so won't bloat your distribution
* Win32 version

 Licensing 
BASS is free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not charging for your product, and the product has no other commercial purpose, then you can use BASS in it for free. Otherwise, you will require one of the following licences.
purchase - Win32
purchase - MacOSX
Shareware licence: €100
The "shareware" licence allows the usage of BASS in an unlimited number of your shareware products, which must sell for no more than 40 Euros each. If you're an individual (not a corporation) making and selling your own software (and its price is within the limit), this is the licence for you.
purchaseSingle Commercial licence: €950
The "single commercial" licence allows the usage of BASS in a single commercial product.
purchaseUnlimited Commercial licence: €2450
The "unlimited commercial" licence allows the usage of BASS in an unlimited number of your commercial products. This licence applies to a single site/location.
note that all prices are quoted in Euros, but payment can also be made in several other currencies
These licences are on a per-platform basis. There is a 20% reduction when purchasing a licence for both platforms, eg. the Shareware licences are €160 instead of €200.
In all cases there are no royalties to pay and you can use future BASS updates without further cost. Reselling/sublicensing is not permitted. Your products must be end-user products, eg. not components used by other products. Please note that these licences only cover your own software, not the publishing of other's software. If you have got any questions, please get in touch.

 Add-ons 
download - Win32BASSWMA 2.4.1
An extension enabling the playback of WMA files and streams, and also WMA encoding and broadcasting. Requires the Windows Media Format modules, which come installed with Windows Media Player or can be installed separately (wmfdist.exe). DRM support is available for commercial users. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32BASSCD 2.4.1
An extension enabling digital streaming and ripping of audio CDs. Also includes analog playback support. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASSFLAC 2.4
An extension enabling the playback of FLAC (inc. Ogg FLAC) encoded files and streams. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASSMIDI 2.4.2
An extension enabling the playback of MIDI files and real-time events, using SF2 soundfonts to provide the sounds. C/C++, Delphi, and Visual Basic APIs are included. An example soundfont (and example MIDI files) is available here.
download - Win32
download - MacOSX
BASSWV 2.4.1
An extension enabling the playback of WavPack encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASSenc 2.4.2
An extension that allows BASS channels to be encoded using any command-line encoder with STDIN support (LAME/OGGENC/etc), or any ACM codec. Also features Shoutcast and Icecast stream sourcing, and PCM/WAV file writing. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASSmix 2.4.0.2
An extension providing the ability to mix together multiple BASS channels, with resampling and matrix mixing features. C/C++, Delphi, and Visual Basic APIs are included.

 More add-ons 
download - Win32
download - MacOSX
BASS FX 2.4.2
An extension by Jobnik, providing several effects, including tempo & pitch control. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_SPX 2.4
An extension enabling the playback of Speex encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_MPC 2.4
An extension enabling the playback of Musepack encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_AC3 2.4
An extension enabling the playback of AC3 encoded files and streams. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_AAC 2.4.0.1
An extension based on the FAAD2 decoder, enabling the playback of AAC and MP4 encoded files and streams, including AAC+ Shoutcast streams. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_ALAC 2.4.0.1
An extension enabling the playback of ALAC (Apple Lossless) encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32
download - MacOSX
BASS_TTA 2.4
An extension enabling the playback of TTA encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32BASS_APE 2.4.0.1
An extension enabling the playback of Monkey's Audio encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32BASS_OFR 2.4.0.1
An extension enabling the playback of OptimFROG encoded files. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32BASS_ADX 2.4
An extension enabling the playback of ADX encoded files. C/C++ and Delphi APIs are included.
download - Win32BASS_WADSP 2.4
An extension enabling the use of Winamp DSP plugins with BASS. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32BASS_VST 2.4.0.6
An extension enabling the use of VST effect plugins with BASS.
download - Win32BassVis 2.4.1.2
An extension allowing the use of Sonique, Winamp, Windows Media Player, and BassBox visual plugins with BASS. C/C++, Delphi, Visual Basic, PowerBasic, and .Net APIs are included.
download - Win32BASS_WA
Another extension allowing Winamp visual plugins to be used with BASS. C/C++, Delphi, and Visual Basic APIs are included.
download - Win32Tags 14
An extension producing formatted text from the ID3v1/v2, OGG/FLAC, WMA, or APEv2 tags of a BASS stream. C/C++, Delphi, and Visual Basic APIs are included.

 Other APIs 
downloadBass.Net 2.4.1.3
.Net API for BASS and all of the add-ons. Can be used with both C# and VB, with several examples included. Supports .Net Framework version 2.0 and above.
downloadPure Basic API
Pure Basic API for BASS and the BASSenc/BASSmix add-ons.
downloadFlat Assembler API
Flat Assembler API for BASS 2.3.
"NativeBass" Java API
Java API for BASS, with examples.
Note: these APIs are provided by 3rd-parties, so may not always be up-to-date with the latest BASS version & features.

 Other stuff 
BASSMOD
A MOD only version of BASS. Useful for demos, or anything else where you only want to play some MOD music. Available in Win32, MacOSX, Linux, and PocketPC flavours.
BASSASIO
BASSASIO makes it simple to use ASIO hardware/drivers, and can be used with or without BASS. C/C++, Visual Basic, and Delphi APIs are included with examples. .Net API is included in the Bass.Net package above.
downloadSound quality?
Stranglehold by Wave/MON, the ultimate test in quality of any MOD playback engine.
downloadMulti-channel test files
6 channel (5.1) OGG and WMA files, to test multi-channel stream playback.
The BASS Showcase
Free-for-all list of stuff that use BASS

top