Why is Audacity not taking input from this device?

This is a cross posting of this question I posted on Stack Exchange. An answer there implied that my issue might be specific to Audacity, so I am bringing it here in hopes of expert Audacity help.

The issue is that I have a USB device that is recognized in Ubuntu 12.10, but Audacity does pick up any input. The device is an Alesis iO4, 4 microphone input, with universal plug and play USB. In the attached screenshot you can see the device appearing in the Ubuntu sound settings interface, and also I can speak into a microphone and see a response in that interface as well.

However, in Audacity, when I hit the record button while speaking into one of the 4 mikes, it registers no sound at all.

I looked into Audacity’s preferences, in the “Devices” screen, and under Host in the Interface section, the only option is ALSA. Under Device in the Recording section, there are four options. HDA:Intel is my on-board sound card. I’m not sure what the difference between pulse, default, and sysdefault is, but in any case, selecting any of them does not seem to change anything.

Under the “Recording” screen there doesn’t seem to be any device related setting that I can imagine having any impact.

How do I get Audacity to accept input from this device?

Thank you for any assistance.

Ensure that your USB device is connected and working before you open Audacity.
Ensure that there are no other audio applications open when you launch Audacity (other audio applications could confuse the issue if they grab exclusive control of your sound card).
Ensure that you have no web pages open that have FLASH (The FLASH plug-in may grab exclusive control of the sound card, depending on how it is configured).

When you have checked the above, open Audacity and look in the Recording Input box of the Device Toolbar. There should be a USB option in there which will access the USB device directly through ALSA (bypassing PulseAudio).
If there is no USB option, try selecting “Transport Menu > Rescan Audio Devices” and then see if there is a USB recording option.
If still no luck, go to “Help > Audio Device Info”, wait for the screen to appear, then copy and paste the full contents of that window in your reply.

Thank you for responding.

I have ensured that the Alesis iO4 is connected and working before opening Audacity.
There are no other applications open. There are no web pages with Flash open.

In the Recording Input box of the Device Toolbar, there is no USB option in the Recording menu. There is only HDA:intel, default, sysdefault, and pulse. (There is a USB option in the playback menu, though.)

I rescanned the audio devices using the option in the Transport menu, but that did not change anything.

I got the following information from the Audio Device Info screen:

==============================
Default capture device number: 11
Default playback device number: 11
==============================
Device ID: 0
Device name: HDA Intel PCH: ALC269VB Analog (hw:0,0)
Host name: ALSA
Input channels: 2
Output channels: 2
Low Input Latency: 0.011610
Low Output Latency: 0.011610
High Input Latency: 0.046440
High Output Latency: 0.046440
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Device ID: 1
Device name: HDA Intel PCH: HDMI 0 (hw:0,3)
Host name: ALSA
Input channels: 0
Output channels: 8
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    32000
    44100
    48000
    88200
    96000
    192000
==============================
Device ID: 2
Device name: iO4: USB Audio (hw:1,0)
Host name: ALSA
Input channels: 0
Output channels: 4
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    44100
==============================
Device ID: 3
Device name: sysdefault
Host name: ALSA
Input channels: 128
Output channels: 128
Low Input Latency: 0.042653
Low Output Latency: 0.042653
High Input Latency: 0.046440
High Output Latency: 0.046440
Supported Rates:
    8000
    9600
    11025
    16000
    22050
    32000
    44100
    48000
    88200
==============================
Device ID: 4
Device name: front
Host name: ALSA
Input channels: 0
Output channels: 2
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Device ID: 5
Device name: surround40
Host name: ALSA
Input channels: 0
Output channels: 2
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Device ID: 6
Device name: surround51
Host name: ALSA
Input channels: 0
Output channels: 2
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Device ID: 7
Device name: surround71
Host name: ALSA
Input channels: 0
Output channels: 2
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Device ID: 8
Device name: hdmi
Host name: ALSA
Input channels: 0
Output channels: 8
Low Input Latency: -1.000000
Low Output Latency: 0.011610
High Input Latency: -1.000000
High Output Latency: 0.046440
Supported Rates:
    32000
    44100
    48000
    88200
    96000
    192000
==============================
Device ID: 9
Device name: pulse
Host name: ALSA
Input channels: 32
Output channels: 32
Low Input Latency: 0.011610
Low Output Latency: 0.011610
High Input Latency: 0.046440
High Output Latency: 0.046440
Supported Rates:
    8000
    9600
    11025
    12000
    15000
    16000
    22050
    24000
    32000
    44100
    48000
    88200
    96000
    192000
==============================
Device ID: 10
Device name: dmix
Host name: ALSA
Input channels: 0
Output channels: 2
Low Input Latency: -1.000000
Low Output Latency: 0.042667
High Input Latency: -1.000000
High Output Latency: 0.042667
Supported Rates:
    48000
==============================
Device ID: 11
Device name: default
Host name: ALSA
Input channels: 32
Output channels: 32
Low Input Latency: 0.011610
Low Output Latency: 0.011610
High Input Latency: 0.046440
High Output Latency: 0.046440
Supported Rates:
    8000
    9600
    11025
    12000
    15000
    16000
    22050
    24000
    32000
    44100
    48000
    88200
    96000
    192000
==============================
Selected capture device: 11 - default
Selected playback device: 0 - HDA Intel PCH: ALC269VB Analog (hw:0,0)
Supported Rates:
    44100
    48000
    96000
    192000
==============================
Available mixers:
==============================
Available capture sources:
==============================
Available playback volumes:
0 - Master:0
1 - Headphone:0
2 - Speaker:0
3 - PCM:0
4 - Mic Boost:0
==============================
Capture volume is emulated
Playback volume is native

Install PulseAudio Volume Control (pavucontrol).

Set the recording input in Audacity to “Pulse”.
Press the record button and then the pause button.

Assuming there are no errors at this point, open PulseAudio Volume Control and go to the recording tab.
Select the IO4 USB as the input device.

Thank you for your continued help. I installed Pulse Audio Volume Control, and I followed your instructions. In the Pulse Audio Volume Control interface, I can see the iO4 audio device, and it has four channels as hoped. However, despite all indications that the system is accepting the device,Audacity still does not record any input.

I don’t know if this is relevant, but the the level indicator in Sound settings and Pulse Audio Volume control seems kind of low. The orange bar only goes about a quater to a third of the way despite me yelling into any one of the microphones.

I have attached screenshots of what I am seeing.

From the look of pavucontrol it appears that Audacity is recording, albeit at a low level. Try using the Amplify effect on the recording to see if it really is silence or just a very low volume recording.

Thank you for your suggestion.

I tried applying the amplify effect at the maximum, but the recording was as dead silent after the effect was applied as it was before.

I was afraid that might happen.
It is very strange that Pulse Audio apparently sees the device but Audacity doesn’t.

Are you able to record from the built-in sound card (the Intel) using “Pulse” as the recording input and selecting the internal sound card in pavucontrol?

Thank you for your continued help.

Are you able to record from the built-in sound card (the Intel) using “Pulse” as the recording input and selecting the internal sound card in pavucontrol

Yes. In the first two attached screenshots, you can see I am recording through the built in sound card using the laptops attached microphone, with the input device in Audacity set to use pulse.

I also have a Creative Labs, Sound Blaster Play, USB audio connector. With that, I can record in Audacity using both pulse or default set as the input. I have attached screen shots of that as well.

It seems that I don’t generally have any trouble recording in Audacity in general, it’s just this one device mysteriously not passing through from the Ubuntu and Pulse sound settings to Audacity.

Pulse Volume Control settings for built in microphone and on board sound:

Audacity recording from built in microphone using pulse as input:

Sound Blaster USB input in Pulse Volume Control:

Recording in Audacity with Sound Blaster USB input, with default as input:

Thanks, that’s all useful, though there is some good and some bad :wink:

The good news: Both PulseAudio and Audacity appear to be working correctly.
The bad news: The iO4 isn’t working correctly. We need to try and find out why. It appears to be “nearly” right (but still “wrong”).

With the iO4 connected and the SB not connected. open a terminal window and type:

alsamixer

This will open up the ALSA mixer.

Press F6 to open the “Select sound card” options.
Is the iO4 listed in the options?
If it is, scroll down with the cursor keys and press Enter to select it,
then press the F4 key to display the recording (capture) settings. You may need to scroll left or right (cursor keys) to see all of the options.
Is recording enabled for the iO4 in alsamixer?

Update: A Google search indicates that this is an ALSA problem. Apparently it has been fixed. I’m looking to see if I can find what you need to do next. Please try the tests that I suggested in the previous post and let me know what happens.

Thanks for your continued help.

I checked the settings in ALSA and have included screenshots below. As you can see, the iO4 device is available, but when I select it there are no options for configuring it.

A Google search indicates that this is an ALSA problem. Apparently it has been fixed. I’m looking to see if I can find what you need to do next.

That would be great! I hope it’s an easy fix. It seems like it has the potential to work, and this device would be really helpful for me.

Here are the screenshots of the Alsamixer interface:

This is the bug: https://bugs.freedesktop.org/show_bug.cgi?id=45813
This is the (duplicate) report that relates directly to the IO4: https://bugs.freedesktop.org/show_bug.cgi?id=49056

The fix was committed (put into the official source code) on 2012-05-11
To fix the problem you need ALSA more recent than this.
The easiest solution is to keep your operating system up to date and wait for the fix to come through the updates.

You can check to see if the fix is in the most recent version of Ubuntu by running a Live CD (try here for the latest CD image http://cdimage.ubuntu.com/daily-live/current/ )

Thanks for finding that information.

Sorry for a further question, but I’m just a little concerned about one aspect: I understand that this bug fix should hopefully be a part of an ALSA update, but I notice that the bug report you linked you is from May of 2012. The last posting where it says a patch has been committed is also from the same month. Shouldn’t a patch from about 8 months ago already have made it into the latest ALSA?

I’m not sure exactly what part of ALSA the fix is in - Ubuntu use a different naming system from ALSA so it’s not obvious, but most of the packages for Quantal are at 1.0.25 whereas most of the current ALSA source code is at 1.0.26

I posted a question on the ALSA user’s mailing list, and I was told that the bug linked to is actually a Pulse Audio bug.

So, I posted the same question on the Pulse discussion mailing list, and there I was told that the fix for the bug in question has been integrated into the current version of Pulse available in the Ubuntu repositories, which is version 2.1. (Apparently version 3 of Pulse is out, but not yet available in Ubuntu.)

The possibilities seem to be are:

  1. It is a different bug in Pulse.

  2. The fix is not actually in the 2.1 version of Pulse, but possibly in version 3.0.

  3. The problem is with Audacity, or ALSA, or somewhere else.

I favour possibility 1, because it seems a fix was committed for the bug last year so that makes possibility 2 unlikely. Possibility 3 also seems less likely because I also can’t seem to record with other things like Ubuntu’s Sound Recorder.

I am uncertain how to proceed, so if anyone has suggestions, that would be most welcome.

You could try running the latest version of Ubuntu as a Live CD and see if that works.

You could try running the latest version of Ubuntu as a Live CD and see if that works.

Apologies for not following up on this suggestion that you had made earlier. I had misunderstood the purpose of trying the Live CD, and so I had skimmed by the idea of it.

I have now tried it though, and, long story short, with that and some other experimentation, I have discovered a workable solution. It turns out that in order for the iO4 to work, it must be plugged in and turned on before the computer is booted. If I do, then it is smooth sailing, as shown in the screenshots below. If I plug the iO4 anytime after the computer boots, then I get problems as described earlier in this thread.

Not only did I think a universal plug and play device could be plugged in any time, I actually thought it was more desirable to plug it in after the computer had booted and the user logged in. I guess I was simply wrong about that. Nonetheless, if anyone could provide insight as to why the iO4 needs to be present at boot, that would be helpful. Especially if it led to a solution where the ability to hot plug the iO4 anytime became possible. All my other USB devices work that way, and it would give me a little more operational flexibility.

In any case, thanks to steve and and to this Forum for providing assistance which helped me get to a point where I can now at least use my Alesis iO4.

Screenshot of four channels working with good response levels:

Note that in the input device dropdown, the input device is named “iO4: USB Audio (hw:1,0)”:

Hooray :smiley:

Normally that is correct, but the IO4 is clearly not quite “Universal plug and play”. As we saw in those PulseAudio bug reports, there has been some “hackage” to get the IO4 to work properly because it does not report itself as a “hw” device. There is apparently some “ALSA quirks” (I don’t know what that is) that is required, and it appears that is loaded at boot time, if required, but not loaded dynamically when you plug in the device. If you scour the Internet you may be able to find out exactly what it is that needs to be loaded, and then add that as a start up item in the boot-up so that it is automatically loaded on each boot.

… but the IO4 is clearly not quite “Universal plug and play”.

Ah, so perhaps my expectations on that level were too high. I don’t mean to sound disatisfied with the fact that it’s working, it’s more that I was worried that if it wasn’t hot-plugging, then maybe that was symptomatic of continuing problems. But, maybe I should be looking at it from the reverse angle - that it’s working at all is the happy exception and not having perfect plug-and-play is the baseline normal situation.

I think I’ll call this completely done, then, and not pursue the plug and play issue further. It’s working well enough, and at a certain point one has to stop fiddling with devices and software and actually start recording stuff. :wink:

Thanks again for all the help! :smiley: