Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tascam US122L, JACK, PulseAudio and OBS #269

Open
stephematician opened this issue Aug 27, 2022 · 2 comments
Open

Tascam US122L, JACK, PulseAudio and OBS #269

stephematician opened this issue Aug 27, 2022 · 2 comments

Comments

@stephematician
Copy link

Apologies if this is the wrong place - however I'm getting an error most of the time in a very specific situation.

My setup is a TASCAM US122L USB interface, which ALSA is capable of recognising and setting up as a usb_stream device. I then run jackd for this device, load the pulseaudio module for a JACK source (at this point I can record via parecord), and then attempt to add a PulseAudio input to OBS. At this point, I'll get an input for less than a second, then it'll cut out and I'll get an error in JACK.

I've attached the output of alsa-info; showing that the device is recognised. The contents of my .asoundrc are somewhat widely used:

# The usb_stream plugin configuration

pcm.!usb_stream {
        @args [ CARD ]
        @args.CARD {
                type string
                default "1"
        }

        type usb_stream

        card $CARD
}

ctl.!usb_stream {
        @args [ CARD ]
        @args.CARD {
                type string
                default "1"
        }

        type hw

        card $CARD
}

I run jackd with a command like:

/usr/bin/jackd -v -p128 -dalsa -dusb_stream:CARD=US122L -r44100 -p256 -n2 -C

I then set up a source in PulseAudio using pacmd load-module module-jack-source. Typically at this point, parecord --device=jack_in test.wav records no problems.

Then I'll run OBS and try to add a PulseAudio input, at which point I usually get a very short period of input (less than 1 second?) and then the input will cut out and I'll see the following error in jackd output:

Couldn't configure usb_stream
: Input/output error
ALSA: prepare error for capture on "usb_stream:CARD=US122L" (Input/output error)

Upon tracking this down, it seems that some call to snd_pcm_prepare by JACK is receiving an error code; but I'm not an expert in this library (or alsa) so it's hard for me to even guess what the problem could be.
alsa-info.txt

I have also raised this issue on JACK in case it's a problem with that library (link here - but details are the same jackaudio/jack1#118 (comment))

@stephematician
Copy link
Author

May be related to this bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1960703

@stephematician
Copy link
Author

Update:

It seems that the custom ~/.asoundrc is no longer required - I found that in alsactl dump-cfg the module is set up in pcm.usbstream.

I experience the same behaviour as the bug report in the preceding comment. All I need to do is increase the load on the CPU enough, and I'll get this output when I attempt to record:

arecord --period-size=640 -c2 -fS24_3LE -r44100 -MDusbstream:CARD=US122L > test.wav
Recording WAVE 'stdin' : Signed 24 bit Little Endian in 3bytes, Rate 44100 Hz, Stereo
arecord: pcm_read:2221: read error: Input/output error

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant