A while ago, within a week time, I got reminded of a project I did some 15 years ago involving low-latency audio using the .NET platform on Windows XP Embedded.
For that I used the BASS.NET wrapper classes and P/Invoke methods around the Un4seen BASS Audio Library.
Back in those days there was not much documentation about this, but now there is more.
Some starting points are:
- [Wayback/Archive] BASS.NET API for the Un4seen BASS Audio Library – Table of Content
- [Wayback/Archive] BASS.NET Overview
- [Wayback/Archive] BASS.NET API
BASS.NET is a .Net wrapper for the BASS Audio Library and all it’s Add-Ons – available @ http://www.un4seen.com. The Bass.Net.dll release version is installed in the specified ‘install-directory’ and will be registered to the .NET Framework as a standard component (if you left all the installation options checked). Note, that there are various Bass.Net assemblies available (side-by-side): one targeting the .Net v4.8 Full Framework and one targeting the .Net v6.0 Core Framework.
The native BASS libraries (e.g. bass.dll) are NOT included and need to be downloaded seperately – so make sure to download the BASS library and the needed add-on libraries and place them to your project executable directory (e.g. place the bass.dll to .\bin\Debug).
…
followed by an elaborate list of the Bass.net namespaces.
- [Wayback/Archive] Version History (back to the initial 2005 version; I used it from 2007-2009)
- [Wayback/Archive] Upgrading from Previous Versions
- [Wayback/Archive] Interoperating with Unmanaged Code was still in its infancy somewhere on the forums when I used the Bass.net library. Wish it had been in its current state, as it now is a set of wonderful guidelines.
- [Wayback/Archive] Un4seen Developments – Welcome
Via:
- [Wayback/Archive] Online samenspelen | rolfhoogenberg.eu
Maart 2021
Momenteel repeteer ik wekelijks met mijn muziekverenigingen realtime via internet. We kunnen echt samen muziek maken en dat is heerlijk!
Om succesvol samen te kunnen spelen via internet begruiken we 2 programma’s:
- Zoom – dit gebruiken we voor het beeld, de video.
- Jamulus – dit gebruiken we voor het geluid, de audio.
Op deze pagina vindt u een handleiding die ik schreef voor de installatie en het instellen van deze 2 programma’s.
Let op: Er is een aparte handleiding voor Windows en een aparte handleiding voor MacOS.
Verder kun je via deze pagina de installatieprogramma’s downloaden die nodig zijn om Jamulus en ASIO4ALL te installeren.
Dit is Open Source software die je ook kunt downloaden van www.jamulus.io en www.asio4all.org.
- [Wayback/Archive] Jeroen Wiert Pluimers @wiert@mastodon.social on X: “@lucasmeijer It’s been a long time ago, so just to check that we are talking about the same thing: I was using the BASS .NET wrappers around ASIO audio back then.”
Related:
- [Wayback/Archive] Jamulus ‒ Play music online. With friends. For free.
- [Wayback/Archive] Jamulus – Internet Jam Session Software download | SourceForge.net
- [Wayback/Archive] GitHub – jamulussoftware/jamulus: Jamulus enables musicians to perform real-time jam sessions over the internet.
- [Wayback/Archive] GitHub – grundic/jamulus-docker: Docker image for online jamming software Jamulus
- [Wayback/Archive] GitHub – jamulussoftware/jamuluswebsite: This is the GitHub Pages repository for the Jamulus main website. For the jamulus application source code, please visit jamulussoftware/jamulus.
- [Wayback/Archive] ASIO4ALL Official Home – Universal Windows ASIO Driver
- [Wayback/Archive] GitHub – dechamps/FlexASIO: A flexible universal ASIO driver that uses the PortAudio sound I/O library. Supports WASAPI (shared and exclusive), KS, DirectSound and MME.
…
Among other things, this makes it possible to emulate a typical Windows application that opens an audio device in shared mode. This means other applications can use the same audio devices at the same time, with the Windows audio engine mixing the various audio streams. Other universal ASIO drivers do not offer this functionality as they always open audio devices in exclusive mode.
…
- [Wayback/Archive] GitHub – L4ZZA/ASIO4ALL.NET: A simple C#/C++ Interop project upgraded to modern frameworks. Credits @robinvierich
--jeroen





