[PD] Linux, Hammerfall, ALSA

Johannes Taelman Johannes.Taelman at rug.ac.be
Thu Feb 20 19:09:14 CET 2003


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 at cvs.sourceforge.net:/cvsroot/pure-data login
>
> #> cvs -z3 -d:pserver:anonymous at 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_tag=devel_0_36
>
> put it into your pd/src directory and recompile.
>
> I do not know how well it runs on an HDSP (please report).
>
> Guenter





More information about the Pd-list mailing list