[Qt-interest] ASIO - or other - sound drivers
Ross Bencina
rossb-lists at audiomulch.com
Tue May 12 19:39:13 CEST 2009
Hi Mike
I don't know QSound but it looks like it can't stream continuously from
memory.
You might want to check out PortAudio:
http://www.portaudio.com
It's an open source library for making cross-platform low level streaming
sound i/o apps and supports most known sound driver models on common
platforms. Including ASIO. Works just fine with Qt or anything else. It's
used in a number of commercial and open source music, VOIP and media apps.
I'm one of the developers and maintain some of PortAudio's Windows driver
modules including the ASIO one.
To your general questions:
With enough buffering you can get smooth running audio with any native API
(Windows Multimedia waveOut, DirectSound, or the newer WASAPI). Usually ASIO
is only necessary for low latency audio (<10ms). From your description its
hard to say if you really need this. On the up side ASIO is pretty easy to
use compared to the others.
Depending on how your sound is generated you may _need_ buffering to mask
jitter caused by calls to blocking routines (mutexes, memory allocation etc)
in which case ASIO is not a good fit but WMME or DirectSound would be OK
(although for a cross platform app you need to be careful about assuming
that the host API doesn't need extra user-level buffering). On OSX there are
separate layers for low level HAL audio (CoreAudio) and buffered audio
(AudioQueues).
And yes, I have been doing "nice sound" in my Qt application for about a
year now (although the Qt version is not public until June 5) you can check
out some screencasts on my blog
http://www.audiomulch.com/blog
just scroll down...
If you want to contact me off list remove -lists from my address.
Good luck!
Ross.
===================================
AudioMulch 2.0 coming soon!
http://www.audiomulch.com
----- Original Message -----
From: "Mike Inman" <mangocats at gmail.com>
To: "Qt-interest" <qt-interest at trolltech.com>
Sent: Wednesday, May 13, 2009 2:56 AM
Subject: [Qt-interest] ASIO - or other - sound drivers
>
> Hi,
>
> I'm thinking about adding "audio synthesis" as a bell/whistle on our
> application, we've got some waveform data we visualize, and it might be
> interesting to "hear" the waves as they are shown.
>
> So, I'd like some low latency way of making the waves on the screen
> correspond to what's coming out of the speakers - initially on Windows,
> but a good multi-platform solution is always preferred. We don't much
> need to "play nicely" with other applications while doing this, it is
> acceptable if we are the only working sound producer.
>
> I found the Steinberg ASIO drivers and they seem like a good choice -
> QSound doesn't look too promising for a smooth running sound
> experience....
>
> Does anyone have experience doing "nice sound' from within a Qt
> application?
>
> Are there other sound drivers I should be looking at instead of ASIO?
>
> Thanks,
>
> Mike
> _______________________________________________
> Qt-interest mailing list
> Qt-interest at trolltech.com
> http://lists.trolltech.com/mailman/listinfo/qt-interest
More information about the Qt-interest-old
mailing list