Audacity "removes" Zoom H4n Pro from List of Input Devices

This is a weird one: The other day, I wanted to use my Zoom H4n Pro as a recording device with Linux Mint Mate 21.2 and kernel 6.5.0-14-generic and Audacity 2.4.2. That used to work fine with Linux Mint 19.1 Tessa with Kernel 4.15.0-20-generic #21-Ubuntu. So I get to see the relevant USB device with lusb:

Bus 002 Device 009: ID 1686:0045 ZOOM Corporation Handy Recorder stereo mix

cat /proc/asound/cards shows

2 [H4]: USB-Audio - H4
ZOOM Corporation H4 at usb-0000:00:1d.0-1.4.2, full speed

and I can even record from it using the terminal with

arecord -D hw:2 -f cd foo.wav

. I can monitor the Zoom in Audacity and even record from it as often as I want. But once I click “Play” in Audacity, the Zoom is gone from the list of USB input devices in the “Sound Preferences” app. Restarting the Pulseaudio daemon with

pulseaudio -k

brings it back, I can then record again but “Play” messes things up again. The output of lusb and cat /proc/asound/cards is unchanged. Transport/Rescan Audio Devices does not bring the Zoom back.

However:
When the Zoom is connected, Linux Mint seems ŧo also change the Output device to “Handy Recorder stereo mix Analog Stereo”. I don’t know if the Zoom does even work as an output device. So when I revert this back to “Built-in Audio Analog Stereo” and only leave “Handy Recorder stereo mix Analog Stereo” for input, everything seems to work fine.

At least as long as I don’t unplug/replug the Zoom. No idea if that is something in Audacity, Linux Mint, Pulseaudio’s defaults, the way how the H4n Pro identifies itself as an USB device or even the Linux kernel.

A Jabra SPEAK 420 handsfree station (which works as a speaker and as a microphone) exposes no such issues. So even if the behaviours might not be a bug in Audacity, my advice to select a proper output device might save you some headscratching hassle.

With a standard ALSA / PulseAudio setup, Audacity may connect to an audio device via PulseAudio (a “sound server” that manages connections between software and audio devices), or directly to the (ALSA) audio device drivers. An important difference is that ALSA drivers are generally “single client”, which means that only one application may use the device at a time, whereas PulseAudio provides an additional layer between applications and the driver so that multiple applications can use the same device at the same time.

By selecting a specific hardware device in Audacity’s device settings, you are telling Audacity to access the device directly (that is, using the ALSA driver without PulseAudio managing the connection. This gives Audacity exclusive access to the device, which means that the device will not be available to other applications.

On the other hand, if you select either “Pulse” (PulseAudio), or “default” (an alias for PulseAudio), you can then use your system’s “Audio Mixer” (PulseAudio Volume Control) to connect Audacity to any available audio device. The audio device should then still be available to other apps (via PulseAudio).

TL;DR
Set Audacity to use the “default” device for both recording and playback, and use the system’s Audio Mixer to select the required audio device.

Thanks for the explanation.

I’m no expert when it comes to ALSA, PulseAudio, Linux’ sound system or how to configure Audacity in respect to this. All I know is that I left Preferences/Devices completely stock with the only available option for Host being “ALSA”. It says “Using PortAudio V19.6.0-devel, revision 396fe…” below.

For “Playback” I have several options, among them being “default”, “HDMI”, “pulse”, “upmix”, “vdownmix”, etc. and is currently on “default”. For “Recording” there is “default”, “pulse”, “vdownmix”, “upmix”, etc. - also on “default”.

Pavucontrol is not installed (yet), I’m using Mint’s default “Sound Preferences” app because I worry that an additional audio manager might interfere with things.

The problem stems from Linux Mint thinking that it should use the Zoom H4n Pro as an output device (maybe it identifies as such, maybe it’s the default to automatically use any newly arrived device to all of its capabilities, maybe the Zoom’s firmware is broken ans should not pretend to support audio output in the first place) and then clicking “Play” in Audacity messes things up.

If I remember next time that I have to override this behaviour by selecting “Built-in Audio Analog Stereo” for output, everything’s fine.

Ok, I thought that Mint had pavucontrol by default, but looking at the release notes:

Sound and microphone issues

If you’re facing issues with your microphone or your sound output, please install “pavucontrol”.

This will add “PulseAudio Volume Control” to your menu. This application has more configuration options than the default volume control.

This topic was automatically closed after 30 days. New replies are no longer allowed.