Hi all,
I'm testing it here with my HDSP Multiface, and it seems to work fine as long as I use -blocksize 512 or bigger. Smaller buffers always sound broken. I'm using a 2.4.20 kernel with the low-latency patches and ext3 patches. The latency via analog loopback as reported by pd/doc/7.stuff/tools/latency.pd is 25ms.
It's better than going via jack, because a couple of underruns (caused by eg. dragging 100 objects in a patch) give a 'audio IO stuck' and I have to restart PD to get audio up again.
Dragging lots of objects gives crackles, but operation is stable if I don't mess with the gui, even at very high CPU loads.
96kHz does not work. I guess PD is confused by the different number of channels @ 96kHz. Here the transcript:
: # pd -alsa -verbose -blocksize 1024 -r 96000 -rt : pd/doc/7.stuff/tools/latency.pd : reading startup file: /root/.pdrc : Pd version 0.36-0 : compiled 21:02:57 Feb 19 2003 : device 1: tried /dev/midi READ/WRITE; returned 3 : opened 1 MIDI input device(s) and 1 MIDI output device(s). : audio buffer set to 40 ms : opening sound input... : Using noninterleaved mode : snd_pcm_hw_params_set_channels (input): Invalid argument : ALSA lib pcm_hw.c:297:(snd_pcm_hw_hw_params) SNDRV_PCM_IOCTL_HW_PARAMS : failed: Device or resource busy : snd_pcm_hw_params (input): Device or resource busy : pd: pcm.c:4907: snd_pcm_sw_params_current: Assertion `pcm->setup' : failed. : Aborted
Remember to do a warm-boot if you don't get any output from the multiface...
j#|@
On Fri, 14 Feb 2003, guenter geiger wrote:
Hi,
Finally I have been able to get pd running with the Hammerfall and the ALSA drivers. It did cost me more time than I thought, at the end I was randomly trying different combinations of hundreds of calls for setting fragmentsizes, fragment numbers, samplerate and channels, ... and ... one combination worked !
Latency is not too good, I think this is because the driver currently works in non-blocking mode. So be sure to set "-bufsize 256" or bigger. (e.g.512,1024,2048,4096).
The code is in CVS, checkout with
#> cvs -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data login
#> cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/pure-data co -r devel_0_36
For those who work with the non CVS version, download s_linux.c from http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/pure-data/pd/src/?only_with_t...
put it into your pd/src directory and recompile.
I do not know how well it runs on an HDSP (please report).
Guenter