I compiled an ASIO version of PD using PortAudio v1.7 with the beta ASIO drivers and Steinberg's ASIO 2.0 SDK. The program compiled successfully using s_mac.c and s_portaudio.c with MSVC++ 6.0.
Both audio input and output are working as tested on a DIGIGRAM VxPocket v2.0 PCMCIA audio card running on a Sony Vaio under win2k with the latest driver package from Digigram (v4.4c). I tested it with a microphone and monitor speakers.
The software reports 12ms latency for each device: i.e. 24ms I/O latency. This corresponds with what I heard and is a significant improvement over the ~350ms latency reported when using the Microsoft Wave or DirectX drivers.
Here's the PortAudio startup report:
P:\pd\bin>pd MIDI: not yet implemented read/write PaASIO_QueryDeviceInfo: numDrivers = 1 PaASIO_QueryDeviceInfo: InputChannels = 2 PaASIO_QueryDeviceInfo: OutputChannels = 2 PortAudio : possible sample rate = 32000 PortAudio : possible sample rate = 44100 PortAudio : possible sample rate = 48000
PortAudio : minSize = 504 PortAudio : preferredSize = 512 PortAudio : maxSize = 2016 PortAudio : granularity = 126 PortAudio : User buffer size = 128 PortAudio : ASIO buffer size = 512 PortAudio : Minimum BufferOffset for Output = 0 PortAudio : ASIOCreateBuffers with size = 512 PortAudio : InputLatency = 572 latency = 12 msec PortAudio : OuputLatency = 572 latency = 12 msec
To do: create a new file called s_nt_asio.c that includes the NT MIDI interfaces as well as the PortAudio calls from s_mac.c. Has someone done this already ? If not, I'll try and make it.
Best regards,
Mike Casey www.media.mit.edu/~mkc
----- Original Message ----- From: "Miller Puckette" mpuckett@man104-1.ucsd.edu To: "mark" mark@junklight.com Cc: "Matthew Nish-Lapidus" mattn-l@rogers.com; "PD List" pd-list@iem.kug.ac.at Sent: Sunday, January 27, 2002 6:09 PM Subject: Re: [PD] ASIO drivers in windows
Hi all,
There's a Pd "portaudio" interface (in s_mac.c and s_portaudio.c), and portaudio supports ASIO in "beta"... see http://www.portaudio.com/
So in principle you can get Pd to talk to ASIO by just linking it all toghether. I haven't tried this because I don't have any soundcards in my Windows machine that support ASIO.