Linux ALSA: sample format not supported (eg. Audio8DJ); propose plughw

Hi, I have an Audio 8 DJ USB audio interface which doesn’t work with Renoise (neither v2.8, nor 3.0 beta4); the error given is:

Failed to open the ALSA device 'hw:1,0 (Audio 8 DJ)' (SetupHWParameters failed).  

I’ll hypothesise that this is because the hardware only supports a single sample format, and that Renoise doesn’t output in this format:

Card 1, ID `Audio8DJ', name `Audio 8 DJ'  
 Device 0, ID `Audio 8 DJ', name `Audio 8 DJ', 4 subdevices (3 available)  
 2 channels, sampling rate 44100..96000 Hz  
 Sample formats: S24_3BE  
 Subdevice 0, name `subdevice #0'  
 Subdevice 1, name `subdevice #1'  
 Subdevice 2, name `subdevice #2'  
 Subdevice 3, name `subdevice #3'  

I think Renoise is being too restrictive here, and it should support any ALSA device, not just the hardware ones. Then it could lean on ALSA to do the necessary conversion, as is common in other applications.

I was searching the forum archive and these references might be useful:

  • Linux Alsa: Native Instruments Audio 8 Dj
    This guy is getting ‘device or resource busy’ with his Audio8DJ so initially it’s a different problem. Eventually he works around it by using JACK, tho that is somewhat overkill.

  • Renoise, Linux and Pulseaudio
    In this thread I suggested the same solution as above as a way for Renoise to support PulseAudio, but never made this a ‘bug/feature request’. Instead we made a workaround using a loop device which is fiddly and buggy. The proposal above would fix the bug with the Audio8DJ, and have the bonus of PulseAudio support.


I think the device is just locking the Alsa driver while Renoise wants exclusive access to it.
I suspect this would be solved if Renoise would support PulseAudio. I’m not sure if supporting pulseaudio would add more benefits besides your device is capable of producing audio. I suspect there are some serious downsides with pulse audio support as well. (cpu resource consumption, higher latencies)

No, the device is not already open. It is ready to be accessed by Renoise.