Free Audio / Sound Libraries and Source Code
Programming sound cards, handling audio, music, digitized voice, etc
Free Audio, Sound, Music and Digitized Voice Libraries and Source Code
Included on this page are source code and libraries that will enable you to program sound cards (eg, Creative Lab's SoundBlaster, etc), manipulate audio, music files (eg MP3, WAV, etc), digitized voice, and so on, using C, C++, Pascal and possibly other languages.
For guides on sound algorithms, sound file formats, audio programming tutorials and other references on sound/music programming, check out the Free Online Sound Programming Guides, Tutorials, References page. Free sound editors and other audio manipulation tools to create your digital effects can be found on the Free Digital Audio / Sound Editors page. If you need to extract audio tracks form a CD, the tools on Free Audio CD Rippers may prove useful, although you should remember to obtain a licence from the copyright owner before distributing any third party sound or music.
If you are developing a game, you might find the Free Game Programming Libraries and Source Code page useful. Some of the game libraries listed on that page include built-in facilities to handle audio, music, digital voice and the like.
Free Audio, Sound, Music and Digitized Voice Libraries
- TurboPower Async Professional
If you need to add speech to your programs, or enable it to process speech input, TurboPower's Async Professional provides you an easy access to Microsoft's Speech API (SAPI) allowing you to integrate voice/speech recognition and speech synthesis in your programs. It also handles the sending and receiving (as well as viewing and printing) of faxes (and converts BMP, DCX, PCX and TIF files automatically), alphanumeric and text (GSM/SMS) paging, high speed file transfers (including the major file transfer protocols like Zmodem and FTP), IP telephony (audio and video, Voice Over IP or VOIP), Internet communications (Winsock access), supports ISDN modems, RS-232 and RS-485 standards, and includes an XML-based modem database. And so on. Like most of the TurboPower tools, this open source toolkit may be used with Delphi and Borland C++ Builder and ActiveX environments like Microsoft Visual C++ and Visual Basic.
APEG is an audio/video add-on for the Allegro game programming library (see the Free Games Programming Libraries and Source Code page for more information on Allegro) that allows your program to play MPEG-1 and Ogg streams in the same way it plays FLIC files.
This is an open source cross-platform audio I/O library. Using this library purportedly allows your sound source code to be portable across Windows, Macintosh, Unix (OSS), SGI and BeOS. The API allows you to record and play sound. Linux support is currently in BETA.
This is a C library that allows you to read and write sampled sound such as using the Windows WAV format, the Apple/SGI AIFF format, Dec AU format, RAW headerless PCM files, etc. It is released under the GNU Lesser General Public License. The library can be compiled and used on Windows, Linux, Macintosh, and "just about any Unix".
- BASS Sound System
BASS provides developers with a set of powerful yet easy to use sample, stream (eg MP3, WAV, custom generated), MOD music (XM, IT, S3M, MOD, MTM), MO3 music (MP3 compressed MODs) and audio CD playback functions. It also supports 3D positioning of samples, streams and MOD music with support for Aureal's A3D and Creative Lab's EAX (Environmental Audio eXtensions). It requires DirectX (version 3 or above) and uses DirectSound and DirectSound3D hardware accelerated drivers and MMX CPUs. API for C, C++, Delphi, Visual Basic, and TMT Pascal are provided. Note that it is free for freeware but you have to pay if you're developing shareware or commercial applications. Platforms supported include Windows, Mac OS X and Linux.
- Soundlib3 Sound Library
SoundLib 3 is an object oriented library for mixing and playing sound files on Win32 systems. You can use Delphi, Lazarus or Microsoft Visual C++. It handles WAV, OGG, FLAC, MOD/NST/WOW, S3M und XM files, outputs via Output: DirectX and WaveOut, features 3D positioning of sound sources and the Doppler effect, allows switching of interface, sound cards and playback format on the fly, outputs 8, 16 and 24 bits in mono, stereo, surround (Dolby Pro Logic and Dolby Pro Logic II compatible) and multichannel, etc. Note that this library is only free if the program using it is also free. (That is, your program must be freeware.)
- Open Source Audio Library Project
The Open Source Audio Library Project (OSALP) is a library with a set of C++ classes that handles audio functions. It is multiplatform. It currently supports the MP3, WAV, au, aiff, aifc (etc) formats. It also has several worker classes: audio sample rate converter, audio pitch change, audio test source, audio editing, audio timer recording, audio VU meter and spectrum display, audio mixing, reading and writing audio data to devices or files. Source code is available, and the project is in the initial stages.
- SMIX Programming Library
The SMIX is a sound programming library allows your program to play up to 8 simultaneous sound, mixed in real time, on any Sound Blaster (or compatible) card. Although it is free, they request "a contribution" if you use it for commercial purposes. Versions are available for Turbo Pascal (real mode), Borland C (real mode), Watcom C (DOS/4GW protected mode), and TMT Pascal protected mode. The site also provides links to third party ports for Microsoft C, Quick C, Microsoft Visual C, and Borland Pascal 16 bit protected mode.
- SBVOX Programming Library
SBVOX is a sound programming library that allows you to play VOC digitized voice files in your programs via Creative Labs' CT-VOICE driver. The Turbo Pascal source code is available.
- SBDSP Programming Library
To quote from their website, SBDSP is a sound programming library that "plays VOC digitized voice files directly on a Sound Blaster or compatible sound card without using Creative Labs CT-VOICE driver." The full source code, in Turbo Pascal, is available. The library is no longer supported.
This item should probably not be listed on this page since it's not a programming library or the like. However, if you develop or maintain DOS games that need to run in a DOS box on Windows NT, 2000, XP, you might find this soundcard emulator useful. It emulates an MPU-401 interface (for MIDI), a SoundBlaster compatible soundcard (SB16, SBPro 2, SB2, SBPro, etc) and a standard game-port. The beauty of this emulator is that independent of the user's audio hardware; it works with any soundcard and even on systems that do not have a soundcard. The emulator is free, released under the GNU General Public License and comes with source code.
How to Link to This Page
It will appear on your page as: