BASS is an audio library for use in software on several platforms. Its purpose is to provide developers with powerful and efficient sample, stream (MP3, MP2, MP1, OGG, WAV, AIFF, custom generated, and more via OS codecs and
add-ons), MOD music (XM, IT, S3M, MOD, MTM, UMX), MO3 music (MP3/OGG compressed MODs), and recording functions. All in a compact DLL that won't bloat your distribution.
C/C++, Delphi, and Visual Basic APIs are provided, with several examples to get you started. .NET and other APIs are also available.
BASS is also available for the UWP platform, and ARM64 Windows.
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(S) and FTP servers (including Shoutcast, Icecast & Icecast2), with IDN and proxy server support and adjustable buffering
- Custom file streaming
Stream data from anywhere using any delivery method, with both "push" and "pull" systems
- OS codecs
ACM, Media Foundation, CoreAudio, Android media codec support for additional audio formats
- 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
MOD music 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, loopback support on Windows, (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
- Effects
Chorus / compressor / distortion / echo / flanger / gargle / parametric eq / reverb
- Custom DSP
Apply any effects that you want, in any order you want, to individual streams or the final output mix
- 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
- Flexible
Small buffers for realtime performance, large buffers for stability, seamless buffer length adjustment, automatic and manual buffer updating, configurable threading, configurable SRC quality
- Expandable
Add-on system for additional format support and effects (C/C++ API available on request), dynamic plugin loading system
Licensing
BASS is free for non-commercial use. If you are a non-commercial entity (eg. an individual) and you are not making any money from your product (through sales, advertising, etc) then you can use BASS in it for free. Otherwise, one of the following licences will be required.
PurchaseShareware licence: €125
The "shareware" licence allows the usage of BASS in an unlimited number of your shareware ("try before you buy") products, which must sell for no more than €40 each. Non-shareware products are also permitted, but the price limit is €10 in that case. With subscription models, the limit applies to the annual subscription fee. The limit can be raised by purchasing duplicate licences (for the same platform), eg. 2 licences doubles it. If you are an individual (not a corporation) making and selling your own software, this is the licence for you.
PurchaseSingle Commercial licence: €950 (iOS or Android: €475)
The "single commercial" licence allows the usage of BASS in one commercial product.
PurchaseUnlimited Commercial licence: €3450
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 at which products are being developed with BASS.
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 40% reduction on each additional platform (excluding the iOS/Android Single Commercial specials), eg. Win32 and macOS Shareware licences would cost €200 (125+75) instead of €250.
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
An extension enabling the playback of
FLAC (including Ogg FLAC) encoded files and streams.
An extension enabling the playback of MIDI files and custom event sequences, using SF2 and SFZ soundfonts to provide the sounds, including support for SF2PACK and SF3 compressed soundfonts. MIDI input is also supported. A couple of SF2 soundfonts are available
here and
here.
An extension enabling the playback of
WavPack encoded files and streams, including WavPack DSD files when used with the BASSDSD add-on.
An extension enabling the playback of
Opus encoded files and streams. Includes support for raw Opus packets.
An extension enabling the playback of DSD (Direct Stream Digital) data in DSDIFF and DSF containers, and WavPack when used with the BASSWV add-on. Includes raw DSD and DSD-over-PCM output options.
An extension enabling the playback of ALAC (Apple Lossless Audio Codec) encoded files. The ALAC format is supported as standard by BASS via the OS's codecs on macOS and iOS (also Windows 10).
An extension enabling the playback of
WebM and
Matroska files and streams.
An extension enabling the playback of HLS (HTTP Live Streaming) streams. Local media playlists and segments are also supported.
An extension enabling the playback of
Monkey's Audio encoded files.
An extension enabling digital streaming and ripping of audio CDs. Also includes analog playback support.
Win32BASSWMA 2.4.5.13
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). WMA playback is supported as standard by BASS on Windows Vista and above.
An extension providing the ability to mix together multiple BASS channels, with resampling and matrix mixing features. Also provides the ability to split a BASS channel into multiple channels.
An extension that allows BASS channels to be encoded using command-line encoders with STDIN support, or ACM codecs (on Windows) or CoreAudio codecs (on macOS/iOS), or user-provided encoders. Also features streaming of encoded data to clients directly or via Shoutcast and Icecast servers, and PCM WAV/AIFF file writing.
An extension to BASSenc that provides MP3 encoding of BASS channels, with support for LAME options.
An extension to BASSenc that provides
FLAC encoding of BASS channels, including support for Ogg FLAC and chained bitstreams.
An extension to BASSenc that provides
Ogg Vorbis encoding of BASS channels, with support for OGGENC options and chained bitstreams.
An extension to BASSenc that provides
Opus encoding of BASS channels, with support for OPUSENC options and chained bitstreams and raw Opus packet output.
An extension providing loudness measurement of BASS channels.
Win32BASSWASAPI 2.4.4.1
An extension enabling the use of WASAPI input and output on Windows Vista and above, with support for exclusive and shared modes.
An extension based on
OpenSSL, enabling HTTPS support in BASS and BASSenc on Android, and in BASSenc on Windows.
More add-ons
These add-ons were created by third-parties. See the "readme" files for details.
An extension providing several effects, including reverse playback and tempo & pitch control.
An extension enabling the playback of
Musepack encoded files and streams.
An extension enabling the playback of
TTA encoded files.
An extension enabling the playback of
Speex encoded files.
An extension based on the FAAD2 decoder, enabling the playback of AAC/MP4 encoded files and streams, including AAC+ Shoutcast streams. The AAC/MP4 format is supported as standard by BASS via the OS's codecs on macOS and iOS (also Android 5 and Windows 7 and updated Vista).
An extension enabling the playback of AC3 encoded files and streams. The AC3 format is supported as standard by BASS via the OS's codecs on macOS and iOS (also Windows 8).
Win32BASS_OFR 2.4.0.2
An extension enabling the playback of
OptimFROG encoded files.
An extension enabling the playback of DTS encoded files.
LinkBASSZXTUNE
An extension enabling the playback of several chiptune/tracker module formats.
Win32BASS_ADX 2.4
An extension enabling the playback of ADX encoded files.
Win32BASS_AIX 2.4
An extension enabling the playback of AIX encoded files.
Win32BASS_WADSP 2.4.1.0
An extension enabling the use of Winamp DSP plugins with BASS.
An extension enabling the use of VST effects and instruments with BASS.
Win32BassWinamp 2.4.1.4
An extension enabling the use of Winamp input plugins with BASS.
An extension allowing the use of Sonique, Winamp, Windows Media Player, and BassBox visual plugins with BASS.
An extension allowing Winamp visual plugins to be used with BASS.
An extension producing formatted text from the ID3v1/v2, OGG/FLAC, WMA, APE, MP4, and RIFF tags of a BASS stream.
LinkBASS_DSHOW
An extension enabling the playback of video files with BASS, using DirectShow codecs.
Other APIs
These APIs are provided by third-parties, so may not always be up-to-date with the latest BASS version and features.
DownloadBass.Net 2.4.17.5
.NET API for BASS and all of the add-ons. Can be used with both C# and VB, with several examples included. Includes support for .NET Framework 4.8 and .NET Core 6. The documentation can be viewed online:
here.
Link"ManagedBass" .NET wrapper
Open-source .NET wrapper for BASS and the add-ons.
DownloadDelphi dynamic loading API
Delphi units for the dynamic loading of BASS and the add-ons.
Pure Basic API for BASS and the BASSenc/BASSmix add-ons.
Microsoft Macro Assembler API for BASS.
Link"NativeBass" Java API
Java API for BASS, with
examples.
Python modules for BASS and the add-ons.
A Python 3 wrapper for BASS.
LinkNode.js API
Node.js API for BASS and the BASSenc/BASSmix add-ons.
Link"CBass" Swift package
A Swift package for BASS and the add-ons.
Other stuff
LinkBASS Documentation
An online copy of the BASS and add-ons documentation.
LinkLatest builds
Updated versions of BASS and add-ons that have not been released yet.
BASSASIO makes it simple to use ASIO hardware/drivers, and can be used with or without BASS.
DownloadMulti-channel test files
6 channel (5.1) OGG and WMA files, to test multi-channel stream playback.
DownloadBASS XMMS plugin 0.3
A plugin for
XMMS, using BASS for MOD file playback. Source code included.
LinkThe BASS showcase
A list of stuff that uses BASS.