Readymade Options for Playback of Music/Audio Files in VB and VB.NET – 2 of 2

Click Star to Rate Post
1 Star2 Stars3 Stars4 Stars5 Stars (21 votes, average: 3.81 out of 5)
 

I finally got time to finish part two about options available to play audio or music files using Visual Basic 6.0 and Visual Basic .NET. This article will provide info on two 3rd Party libraries for audio playback with advanced features. They are both feature rich and provide many  advanced features. The first is the Bass.Dll Sound System and the second is the FMod.dll Sound System.

Both libraries are Free to use as long as the application’s using them are not commercial or compensated. If its a personal or freeware application they grant you a free license to use them. Bass.dll does have a lower cost option if your making a Shareware app. You should read through the license agreements of each library before using them in your applications.

Note: You can check out part one at this link.


 BASS.DLL Audio System Library

This is a great library for pretty much all of your music or audio needs. Bass can play everything from mp3’s, wave’s and mod music to .cda’s and internet streaming. It has alot of source code and examples for Visual Basic and Visual Basic.NET. This library gives you access to the samples that are playing so you can plot your own visualizations or ffts. I had alot of experience with this library a few years ago and even made the original VB.NET api and examples for the author. The .dll is very small in size (Under 100KB) so it won’t bloat your application.

Author Information: 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 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

As you can see, this is a very feature-rich and flexible sound system. If your interested in Bass.dll then go to the main webpage.


FMOD.dll Music and Sound Effects System

This is another very popular sound system that is used by game makers and the like. Crysis is a newer game that uses this library. This library has been around for a very long time and has matured quite a bit. It has nearly all the features you’ll ever need in a sound system. It plays most all of the common music formats as well. This library I guess would be considered a competitor to the Bass library above. The library has Visual Basic based APIs and Examples as well. I am not completely sure about Visual Basic.NET though. I don’t have much experience with this sound system like I do with the Bass sound system. Below is some author information…

 

Author Information: FMOD Products

Why choose FMOD?

FMOD supports more hardware platforms than any other audio system – including the latest ‘next gen’ consoles. Consider the cost savings of not having to change code across any platform – Save months of development time.

FMOD is actively developed, with regular releases of new features. Many new requested features have been provided to customers in a very short turnaround – want a new feature, just ask!

Many customers are amazed at the personal level of technical support they get, either by phone, email or even personal visit (if applicable)

Key features:

  • Fantastic sounding DSP audio engine
  • Choice of low-level API or data driven API
  • Built-in DSP effect suite and VST support
  • Advanced features such as 2D/3D morphing
  • 3D reverb support and geometric occlusion
  • Performance optimized for each platform
  • Comprehensive technical support

If your wanting more information about this library you can click this link to their website.


Well, thats all for this article series. Hopefully this post was helpful to you in some way. Remember to always read the library’s license agreements before using them in your applications. They both allow free use in a free or non-profit application. Otherwise you will need to buy a license if your using them in a commercial based application.

Hopefully this little article gave you some insight into some currently available, feature-rich sound libraries. If you know of another good one feel free to leave a comment below.

Jason

5 thoughts on “Readymade Options for Playback of Music/Audio Files in VB and VB.NET – 2 of 2

  1. Jason Post author

    Hi, each of the FMOD.dll and Bass.dll libraries has their own set of codes and examples for visual basic.

    The Bass library has a bass.net wrapper available as well that is free if using it in a free program.

    I am working on a small music player with VB 2008 that I will release the source code to later on. But it isn’t ready yet.

    Just download those libraries and any add-ons you may want and there should be plenty of codes for you to ponder over.

    Jason

    Reply

Leave a Reply