[LAU] MOTU AVB series sample rate issue, JACK, and PulseAudio
len at ovenwerks.net
Tue Sep 19 18:44:37 UTC 2017
On Tue, 19 Sep 2017, Be wrote:
> As discussed on this list previously, there are some oddities trying to set
> the Ultralite AVB's sample rate. This seems to cause some issues with
> PulseAudio. If I start PulseAudio with the Ultralite AVB plugged in, it works
> briefly but randomly drops out. When I plug in the Ultralite AVB after
> PulseAudio is started, it does not appear as an output for PulseAudio and I
> see this in PulseAudio's output:
> E: [pulseaudio] module-alsa-card.c: Failed to find a working profile.
> E: [pulseaudio] module.c: Failed to load module "module-alsa-card" (argument:
> "device_id="1" name="usb-MOTU_UltraLite_AVB_0001f2fffe005a12-00"
> namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no
> deferred_volume=yes use_ucm=yes
> card_properties="module-udev-detect.discovered=1""): initialization failed.
It looks like pulse audio does not yet have a profile for the Motu but
sometimes matches it with something else... or, it does have a profile,
but because the Motu can have different numbers of IOs it can't always
match the Motu profile it has to the real Motu interface. I do not know if
the PA profiles can be made that deal well with varying port numbers.
In my opinion, run jackd as your audio backend and use PA only as a
desktop front end bridged to jack. Pulse should be started with both the
ALSA and udev modules unloaded (or they should be unloaded prior to
bridging to jack). I have in the past used the PA -jackdus-detect module,
but now have a script that loads the jacksink/source modules the way I
want. It is important that PA does not see any physical device when using
jackd as PAs audio IF. The reason for this is that if PA can find any
device it will use sync from it and that device will limit the jack master
device to the device PA is synced to and (at least in my case) not allow
jackd to freerun properly.
So Ardour export with PA bridged and PA can see the internal (HDA) audio
IF equals crash. But if PA has no ALSA module loaded, everything is fine
and reliable. If you wish to send PA's output to another IF besides the
jackd master, use ALSA_out or zita-j2a to make it another jack output and
run it through jackd. There can be as many PA to jackd bridges as you need
(want) so that the movie you are watching can go through one IF and the
skype call through another.
By running jackd as the PA backend, you present PA with a "sound card"
that has a SR it knows it can't change (48k or whatever) and will do what
it needs to for the input and output to match.
More information about the Linux-audio-user