Re: What simple open-source audio library do you recommend?
- From: Hector <hector@xxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Mon, 09 Oct 2006 11:41:04 -0700
Tom Widmer [VC++ MVP] wrote:
Chris P. [MVP] wrote:
On Thu, 5 Oct 2006 07:11:01 -0700, jcsquire wrote:
I'd like to develop some cool free music synthesizers to demonstrate DSP concepts (I'm a DSP professor) as a win32 application, and need a recommendation on an open-source audio library. I need the ability to directly fill, in real-time, a double-buffered audio buffer (fill the first buffer, wait for a call saying the second is empty, fill the second while the first plays, wait for a call saying the first is empty, etc.). Not just playing a pre-recorded wav, but for playing an audio stream that I dynamically generate based on GUI controls (that control, for instance, an audio filter's resonance).
DirectX media calls to mmsound would work, but I'm hoping to find a more elegant OO encapusulation of a sound buffer object in a C++ class. Hopefully open-source so the source code is visible. FMOD seems way overkill, and doesn't provide source without a >$1k license. Ideally would like apps to be completely self-contained...no installers, no separate .dll's (that's why I'd like the source code), no need for users to separately download huge framework installers (why win32 and not .NET).
If you're looking for cross-platform, multi-interface support PortAudio is
currently the best option http://www.portaudio.com. For single interface
on win32 I would probably roll my own based on DirectSound. There are
probably some decent wrapper classes out there but I haven't been overly
impressed with what I've found so far. I have a simple DirectSound output sample on my website StreamDataTone3, it
uses an event/Callback method and takes care of the buffering and audio
interface in the DSStreamPlay class.
I'll second PortAudio. I haven't used it, but I wish I had, having unnecessarily implemented similar (but much less flexible) code in DirectSound, DirectKS and ASIO now, all of which are supported by PortAudio.
Tom
Portaudio is good, but is not c++ (although there are wrappers). if you want c++, I would go with RtAudio, which has been designed to work with c++. http://www.music.mcgill.ca/~gary/rtaudio/
Good luck,
Hector.
.
- References:
- Re: What simple open-source audio library do you recommend?
- From: Chris P. [MVP]
- Re: What simple open-source audio library do you recommend?
- From: Tom Widmer [VC++ MVP]
- Re: What simple open-source audio library do you recommend?
- Prev by Date: Re: waveInOpen reads data at rates more than 8000Hz?!
- Next by Date: Re: Playing an MP3 file using WaveOut functions
- Previous by thread: Re: What simple open-source audio library do you recommend?
- Next by thread: How save cd audio track into file
- Index(es):
Relevant Pages
|
|