[Portaudio] using all channels of class compliant RME Babyface Pro USB audio interface

Be be.0 at gmx.com
Thu Dec 10 03:19:09 EST 2015


I tested it with JACK and channels 3-4 work, but with a catch. JACK 
works with hw:Pro70785713,0 but not hw:Pro70785713. However, Mixxx only 
lists hw:Pro70785713 as an option in the ALSA backend options. Is this 
Mixxx's fault or PortAudio's fault? I would like to not have to use JACK 
to run Mixxx.

As a quick hack, can someone suggest an ~/.asoundrc to work around this? 
I have tried various versions of the snippet below with no luck.

pcm.BabyfacePro {
     type hw
     card 1
     device 0
}

On 12/10/2015 12:37 AM, Be wrote:
>
> Hello, I just got an RME Babyface Pro USB sound card. It can operate
> either as a USB audio class compliant device (with mixing controlled by
> the device's physical controls) or make use of a proprietary driver on
> Windows and Mac OS X. I am trying to use its class compliant mode to use
> with Mixxx for DJing on GNU/Linux. However, I cannot figure out how to
> use channels 3-4 for my headphones. The device has 4 analog channels out
> and in plus 8 digital out and in (via ADAT). Its manual says, regarding
> class compliant mode, "in Mac OS X, either the first two or all channels
> will work, depending on the choice in the Audio MIDI Setup." I believe
> the two channel operation exists so when the Babyface Pro is plugged
> into an iPad, the iPad sends stereo output from iTunes and other
> programs to the Babyface Pro's main output. However, I do not know how
> to select between this 2 channel mode and the 12 channel mode with
> Linux. PulseAudio only shows it as a stereo device. Mixxx, which uses
> PortAudio, displays all 12 channels as available but doesn't work when
> any channels other than 1-2 are selected. Here is debugging output of
> Mixxx:
>
> Debug [Main]: SoundManager::setupDevices()
> Debug [Main]: SoundDevicePortAudio::open() "2, Babyface Pro (70785713):
> USB Audio (hw:1,0)"
> Debug [Main]: framesPerBuffer: 256
> Debug [Main]: Requested sample rate:  44100 Hz, latency: 5.80499 ms
> Debug [Main]: Output channels: 4 | Input channels: 0
> Debug [Main]: Opening stream with id 2
> Expression 'alsa_snd_pcm_hw_params_set_channels( pcm, hwParams,
> self->numHostChannels )' failed in 'src/hostapi/alsa/pa_linux_alsa.c',
> line: 2051
> Expression 'PaAlsaStreamComponent_InitialConfigure( &self->playback,
> outParams, self->primeBuffers, hwParamsPlayback, &realSr )' failed in
> 'src/hostapi/alsa/pa_linux_alsa.c', line: 2717
> Expression 'PaAlsaStream_Configure( stream, inputParameters,
> outputParameters, sampleRate, framesPerBuffer, &inputLatency,
> &outputLatency, &hostBufferSizeMode )' failed in
> 'src/hostapi/alsa/pa_linux_alsa.c', line: 2838
> Warning [Main]: Error opening stream: Invalid number of channels
>
> aplay -l output:
> **** List of PLAYBACK Hardware Devices ****
> card 0: PCH [HDA Intel PCH], device 0: ALC272 Analog [ALC272 Analog]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
> card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
> card 1: Pro70785713 [Babyface Pro (70785713)], device 0: USB Audio [USB
> Audio]
>    Subdevices: 1/1
>    Subdevice #0: subdevice #0
>
> aplay -L output:
> null
>      Discard all samples (playback) or generate zero samples (capture)
> pulse
>      PulseAudio Sound Server
> default
>      Default ALSA Output (currently PulseAudio Sound Server)
> sysdefault:CARD=PCH
>      HDA Intel PCH, ALC272 Analog
>      Default Audio Device
> front:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      Front speakers
> surround21:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      2.1 Surround output to Front and Subwoofer speakers
> surround40:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      4.0 Surround output to Front and Rear speakers
> surround41:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      4.1 Surround output to Front, Rear and Subwoofer speakers
> surround50:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      5.0 Surround output to Front, Center and Rear speakers
> surround51:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      5.1 Surround output to Front, Center, Rear and Subwoofer speakers
> surround71:CARD=PCH,DEV=0
>      HDA Intel PCH, ALC272 Analog
>      7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
> hdmi:CARD=PCH,DEV=0
>      HDA Intel PCH, HDMI 0
>      HDMI Audio Output
> sysdefault:CARD=Pro70785713
>      Babyface Pro (70785713), USB Audio
>      Default Audio Device
> front:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      Front speakers
> surround21:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      2.1 Surround output to Front and Subwoofer speakers
> surround40:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      4.0 Surround output to Front and Rear speakers
> surround41:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      4.1 Surround output to Front, Rear and Subwoofer speakers
> surround50:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      5.0 Surround output to Front, Center and Rear speakers
> surround51:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      5.1 Surround output to Front, Center, Rear and Subwoofer speakers
> surround71:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
> iec958:CARD=Pro70785713,DEV=0
>      Babyface Pro (70785713), USB Audio
>      IEC958 (S/PDIF) Digital Audio Output
>
> /proc/asound/card1/stream0 when playing to channels 1-2 with PulseAudio:
> RME Babyface Pro (70785713) at usb-0000:00:1d.0-1.2, high speed : USB Audio
>
> Playback:
>    Status: Running
>      Interface = 1
>      Altset = 1
>      Packet Size = 47
>      Momentary freq = 44118 Hz (0x5.83c9)
>      Feedback Format = 16.16
>    Interface 1
>      Altset 1
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 3 OUT (ASYNC)
>      Rates: 44100, 48000, 88200, 96000, 176400, 192000
>      Data packet interval: 125 us
>    Interface 1
>      Altset 2
>      Format: S24_3LE
>      Channels: 12
>      Endpoint: 3 OUT (ASYNC)
>      Rates: 44100, 48000, 88200, 96000, 176400, 192000
>      Data packet interval: 125 us
>
> Capture:
>    Status: Stop
>    Interface 2
>      Altset 1
>      Format: S24_3LE
>      Channels: 12
>      Endpoint: 4 IN (ASYNC)
>      Rates: 44100, 48000, 88200, 96000, 176400, 192000
>      Data packet interval: 125 us
>    Interface 2
>      Altset 2
>      Format: S24_3LE
>      Channels: 2
>      Endpoint: 4 IN (ASYNC)
>      Rates: 44100, 48000, 88200, 96000, 176400, 192000
>      Data packet interval: 125 us
>
> So I guess the question is how to get PortAudio to use the "Altset 2"
> option. Could this be accomplished with some asoundrc sorcery? Does
> something need to change in snd-usb-audio? Is the issue with PortAudio
> and PulseAudio? How can I test channels 3-4 with aplay or another program?
> _______________________________________________
> Portaudio mailing list
> Portaudio at lists.columbia.edu
> https://lists.columbia.edu/mailman/listinfo/portaudio
>


More information about the Portaudio mailing list