.Net wrapper for un4seen BASS audio library


Keywords
audio, c-sharp, effects, loopback, mixing, playback, recording
License
Other
Install
Install-Package ManagedBass -Version 2.0.3

Documentation

mb-logo-rounded-128

ManagedBass

NuGet NuGet Downloads Build

Free Open-Source Cross-Platform .Net Wrapper for Un4seen Bass audio library and its AddOns.

Bass Audio Library

Summary from Un4Seen Bass website:

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.

IMPORTANT: Bass and its Add-Ons can be downloaded at http://un4seen.com/. This project provides a wrapper for the C-based library.

ManagedBass is targeted for Any CPU, but bass Libraries(.dll/.so/.dylib/.a) are separate for x86, x64, ARM, etc.
Download the versions you need directly from Un4Seen's website.

See the Sample Repositories for examples.

See Un4Seen Bass documentation for full details. This documentation is for their c-based library, which this project provides an almost 1:1 wrapper for.

ManagedBass is now provided as a set of packages split per AddOn.


Supporting the project

ManagedBass is developed and supported by @olitee and @DustinBond in their spare time for free. The project was originally created by @MathewSachin. Contributions are very welcome, but please be patient.


Getting Started

  • Install the NuGet package
Install-Package ManagedBass
  • Download the BASS libraries from http://un4seen.com and place them in Build Output Directory.

Supported Frameworks and Platforms

Our goal is to support all platforms that Un4seen Bass supports.
The nuget package contains support for the following targets:

  • .NET Framework 4.5+
  • .NET Standard 2.0+
  • .NET 8.0+

with the following platforms:

  • Windows
  • Linux
  • MacOS
  • Android
  • iOS**

** NOTE: This library no longer support iOS prior to version 8, where it was necessary for the native Bass libraries to be statically linked. iOS 8 and later support dynamic linking, so you no longer need a dedicated version of our library to support iOS.

AddOns

AddOns add more functionality to BASS.

AddOns may need to be loaded into memory before using with BASS. This happens automatically if you call any method on the AddOn class. But, in cases where you use the features of an AddOn directly through BASS, you may need to load it explicitly. This can be done in the best way by calling the Version member which is least resource intensive, or you can call any method like CreateStream with invalid parameters.

Plugin AddOns

A Plugin plugs into standard BASS functions like sample or stream creation to provide support for more audio formats. BASS has built in support for various audio codecs like MPEG, OGG, WAV, AIFF, etc. A Plugin is loaded using Bass.PluginLoad method and unloaded using Bass.PluginFree.

Platform Availability

AddOn Is Plugin Windows Linux Mac Android iOS WindowsStore
BassAac ✔️ ✔️ ✔️ ✔️
BassAc3 ✔️ ✔️ ✔️ ✔️
BassAdx ✔️ ✔️
BassAix ✔️ ✔️
BassAlac ✔️ ✔️ ✔️ ✔️
BassApe ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassAsio ✔️
BassCd ✔️ ✔️ ✔️
BassDsd ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassDShow ✔️
BassEnc ✔️ ✔️ ✔️ ✔️ ✔️
BassEnc_Ogg ✔️ ✔️ ✔️ ✔️ ✔️
BassEnc_Opus ✔️ ✔️ ✔️ ✔️ ✔️
BassFlac ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassFx ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassHls ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassMidi ✔️ ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassMix ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassMpc ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassOfr ✔️ ✔️
BassOpus ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassSfx ✔️
BassSpx ✔️ ✔️ ✔️ ✔️
BassTags ✔️ ✔️ ✔️ ✔️ ✔️
BassTta ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassVst ✔️
BassWA ✔️
BassWaDsp ✔️
BassWasapi ✔️
BassWinamp ✔️
BassWma ✔️ ✔️
BassWv ✔️ ✔️ ✔️ ✔️ ✔️ ✔️
BassZXTune ✔️ ✔️ ✔️ ✔️ ✔️

Changelog

See our releases page