which library for audio do you recommend?

hi all,
i need to work with audio in my application and i don't know which library to use
i need a library for audio with these requirements:
i don't want it to be GPL or LGPL
support's 3D
fast and with good performance
thanks in advance for your help
This really depends on what exactly you're going to be using it for. There's very little you can't do with SFML, and it has extensive documentation and a brilliant forum. However, if you want sound in a 3d game, try unity.
Give OpenAL a try.
SFML actually uses OpenAL, so has its functionality and can, if you want to, be extended using OpenAL, but it provides a minimal, simple, easy to use API.
OpenAL is GPL and i dont want it
i want to work on a game and this game must not have any GPL or LGPL code in it
In that case try Unity, or explain to use why you don't want GPL or LPGL and we might be able to come up with something to suit what you're doing.
Bass audio library?

http://www.un4seen.com/
actually, i don't want to use GPL or LGPL code because i don't want my app to be dependent on a shared library
SFML only relies on a single dll and that usually isn't a problem, but Unity makes exes that work without any external files.
does unity is a free or a commertial one!
what is it's license?
and what do you think about rtAudio?
Depending on whether or not you need very advanced functionality *inverse kinematics,level of detail support etc), Unity is either free, or £1000. As far as I know, you can distribute the exes freely as they automatically say made with Unity.
Did you look at Port Audio? http://www.portaudio.com/

I have no idea what
support's 3D
would have to do with audio, so I have no idea how to even address that requirement.
You can have 3-d audio. I believe it to be the positioning of the source of the sound in 3d space and then using this to affect playback through speaker systems such as surround sound.
does rtAudio support's 3d?
boath portAudio and rtAudio use callbacks
i think boath of them support' 3d
rtAudio has 1 source and 1 header file, and it is easy to include in the project, but for portaudio, you must include many sources in the project
i want audio for 3D game engine and then use my engine to make games easily, because of that i want a good library!
Sorry, 3D means 3 dimensional and audio only has one dimension. If by 3D audio you mean more than 2 channels (R/L), then that is a different story. Port audio is used in Audacity, which is the most used, free, audio editor. I would guess that it can handle 7.1 audio (R/L/RF/RR/LF/LR/center/sub), but I am not familiar enough with it to say for sure.

If you just want a simple audio library, rtAudio is probably going to be a better choice.

My audio programming is limited (useless) and I do not think I have ever used either library, but I do not see why you would need to include any more libraries with Port Audio then you need to use, just like you do not need to include every C++ library. rtAudio only consists of the two files, so using any of it means using all of it. If it does everything you need, then that's all you need though.
thanks for your replies, i'll check portaudio and see that it can help me or not
thanks everybody
admkrk wrote:
Sorry, 3D means 3 dimensional and audio only has one dimension. If by 3D audio you mean more than 2 channels (R/L), then that is a different story. Port audio is used in Audacity, which is the most used, free, audio editor. I would guess that it can handle 7.1 audio (R/L/RF/RR/LF/LR/center/sub), but I am not familiar enough with it to say for sure.


3D audio support in this sense is like what shadowmouse was mentioning.

Some only have simple things like volume according to distance from the source, direction of the sound source and even the velocity of the sound source.

While others can actually be pretty advanced stuff like taking into account the reverberation of the sound through the environment (Reflections of walls, etc. for example), on it's way from the audio source to the player so we can simulate how our ears work in real life (We hear a sound and can determine a general direction it came from). This can produce more dynamic sounds and can increase realism to a certain extent, also is crucial in certain genres (FPS is an ideal candidate).

Most of the top audio frameworks out there have support for 3D Audio effects now days. Here is little tutorial I just looked up as an example (It is in JavaScript but provides some easy to see web examples to demonstrate some of what is possible). http://www.html5rocks.com/en/tutorials/webaudio/positional_audio/






As for the OP's question, I would like to ask what you are using already for your engine? I only ask because chances are that what you are using actually comes with or is closely related to one of the top audio frameworks. For example if you are using DirectX there is DirectX Audio to work with. Better to keep your dependencies as minimal as possible in my opinion, unless there is a good reason to grab another.

Personally I would also highly advise against making your own engine also since you seem to be just getting started with game development and the truth is that creating a game engine is 10 times harder then creating a game. It requires an extreme amount of knowledge (Both of low level code and high level theory) of game development and is not something someone new should be attempting in my honest opinion. Specially since there is such a abundance of high quality middle ware engines available now days (Most are free, or close to) like Unreal Engine 4, Unity 5, etc.

Though it is for you to decide if you want to make your own engine or not.

Anyways just my 2 cents.
Last edited on
Topic archived. No new replies allowed.