fluid-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[fluid-dev] testing FluidSynth+PortAudio in Windows


From: Pedro Lopez-Cabanillas
Subject: [fluid-dev] testing FluidSynth+PortAudio in Windows
Date: Sun, 1 Feb 2009 14:46:47 +0100
User-agent: KMail/1.9.6 (enterprise 20070904.708012)

ggoode.sa wrote:
> Hi Pedro,
> Given that the generic ASIO4ALL driver is really just an ASIO overlay
> of WDM/KS I think that a WDM/KS PortAudio driver would produce the
> desired lower latency that windows users are hoping for. Do you know
> what type of configuration options would be available - buffers,
> sample rate, etc?
> GrahamG

Buffer sizes can be much lower in WDM-KS vs. WMME or DirectSound. I've tested 
128 and 64 frames with some success on my laptop with a Realtek HDA device 
and an Edirol USB interface.

Sample rates are limited to those directly supported by the audio device. No 
automatic resampling is available at this driver level.

If you want to try, here is a test kit:

http://plcl.users.sourceforge.net/FluidSynth-PortAudio-20090131.7z 

It is a 7-zip (http://www.7-zip.org) compressed archive. It weights about 
4.2Mb, containing:

* FluidSynth SVN dated 2009-01-31 compiled with PortAudio (and DirectSound) 
support. Files:
        libfluidsynth-1.dll
        fluidsynth.exe

* PortAudio snapshot dated 2009-01-31 (V19-devel) compiled with WDM-KS and 
WMME support. Files:
        libportaudio-2-wdmks.dll
        libportaudio-2-wmme.dll
        pa_devs.exe

* QSynth CVS dated 2009-01-31 (version 0.3.3.8)
File:   qsynth.exe

* MinGW and Qt 4.4.3 runtime libraries, required by QSynth.
Files:
        mingwm10.dll
        QtCore4.dll
        QtGui4.dll

All the above files must be placed together at the same location. You must 
copy one of the provided PortAudio libraries with the name libportaudio-2.dll 
before executing the programs. For instance, if you wish WMME support:

        C:\> COPY libportaudio-2-wmme.dll libportaudio-2.dll

If you want WDM-KS support instead:

        C:\> COPY libportaudio-2-wdmks.dll libportaudio-2.dll

Use pa_devs.exe to test and print the list of available audio devices. For 
instance:

        C:\>pa_devs

PortAudio version number = 1899
PortAudio version text = 'PortAudio V19-devel (built Jan 31 2009 12:37:34)'
Number of devices = 2
--------------------------------------- device #0
[ Default Input ]
Name                        = Realtek HD Audio input
Host API                    = Windows WDM-KS
Max inputs = 2, Max outputs = 0
Default low input latency   =    0.011
Default low output latency  =    0.011
Default high input latency  =    0.085
Default high output latency =    0.085
Default sample rate         = 48000.00
Supported standard sample rates
 for half-duplex 16 bit 2 channel input =
         8000.00,  9600.00, 11025.00, 12000.00,
        16000.00, 22050.00, 24000.00, 32000.00,
        44100.00, 48000.00
--------------------------------------- device #1
[ Default Output ]
Name                        = Realtek HD Audio output
Host API                    = Windows WDM-KS
Max inputs = 0, Max outputs = 8
Default low input latency   =    0.011
Default low output latency  =    0.011
Default high input latency  =    0.085
Default high output latency =    0.085
Default sample rate         = 48000.00
Supported standard sample rates
 for half-duplex 16 bit 8 channel output =
         8000.00,  9600.00, 11025.00, 12000.00,
        16000.00, 22050.00, 24000.00, 32000.00,
        44100.00, 48000.00, 88200.00, 96000.00,
        192000.00
----------------------------------------------


It should be possible to build PortAudio with ASIO support, and replace the 
provided libportaudio-2.dll library with the resulting one. Good luck.

Regards,
Pedro




reply via email to

[Prev in Thread] Current Thread [Next in Thread]