[PlanetCCRMA] Re: [PD] Audio I/O stuck with both ALSA and Jack

Fernando Pablo Lopez-Lezcano nando@ccrma.Stanford.EDU
Fri Jan 30 18:26:01 2004

> |>mine asserts he cannot continue due to not
> |>being able to use *interleaved audio*. Here's my output
> |>
> |><snip>
> |>$ pd -alsa -nogui
> |>snd_pcm_hw_params_set_access (input): Invalid argument
> |>Sample width set to 2 bytes
> |>pd: pcm.c:1101: snd_pcm_readi: Assertion `pcm->access ==
> |>Pd: signal 6
> |>Aborted
> |></snip>
> |
> | That looks like a bug in alsa itself for your particular soundcard...
> | or for the way that pd is trying to access it. What hardware do you
> | have? Are you using the alsa kernel modules that come with 2.6.1? Those
> | are a little out of date (I think)...
> I have a es1968 (Maestro 2E). Debian testing/unstable with 2.6.0-test11
> and userspace ALSA 0.9.8 (alsa-base is 1.0.1)

I think I know what may be happening. There _are_ some cards out there
(and I think that some of the Maestros do that) that have interleaved
output and non-interleaved input. Go figure. It's the way the hardware
is (mis?)designed. So pd probably queries for the output parameters and
uses those for input as well (or viceversa) and the configuration fails
because the input and output streams have different interleave - anyway,
there is a bug in alsa because you are getting an assertion failure and
not a "wrong parameter" at configuration time. Just guessing, of course.
You could try using the alsa plug interface which can do format
conversions (including interleaving and de-interleaving), but I seem to
remember that the current pd alsa code does not let you use generic alsa
device names but just card numbers which correspond to the hardware
interface (I may be wrong here). 

Another option would be to use jack, but jack may also be unhappy about
the hardware you have. 

-- Fernando