USB Headset

I have USB headset (so headphones + mic). When plugged in, these are detected by alsamixer just fine. I wonder how I can use it with Zynthian’s built in UI without switching off ZynADAC?

I was able to use alsa_in/alsa_out together with jack_connect/patchage to make it work, but I wanted to find a way to do it from the Zynthian UI. Any ideas?

Hi @averagejoe , it looks like your headset is recognized as a generic usb sound device.

If you want to use it as the default sound device, just configure it in webconf under Hardware → Audio as generic usb

If it doesn’t work, please provide output from:

  • aplay -l command
  • dmesg command

Hello @le51!

I want to keep ZynADAC to be a default sound device, but I also want to occasionally use that USB headset. Like maybe patch audio output to it, or use its mic to record sounds, etc.

If I change configuration in Audio tab, I thought I will disable ZynADAC. Is it correct?


Yep! Linux + Jack supports a single sound card. The reason is that the sound subsystem must sync to the device’s clock and each device will have a different clock. Some professional soundcards costing many hundreds / thousands of pounds support slaving their clock to another, e.g. using word clock or links between cards but these would need to present as a single device to allow jack to use it as its master clock.

There are some solutions which allow multiple sound cards to hook into jack, like alsa_in and alsa_out which connect to an audio device and connect it to jack by applying samplerate conversion. Indeed we use this to implement the headphone output via the Raspberry Pi onboard audio interface but it adds a significant load to system resources and can trigger xruns. It is a neat idea but not recommended for performance.

You could add a feature request to allow additional audio interfaces to be configured but I doubt it will be high on the priority list (unless there is a sudden realisation of its substantial worth).