You are not logged in.

#1 2014-04-10 03:28:47

Sergius
Member
Registered: 2014-04-10
Posts: 3

USB sound card crackling when changing nr of channels in ALSA

Hello! I have read the alsa config and some related posts from brebs (https://bbs.archlinux.org/profile.php?id=10353) and I setup upmixing to 5.1 and dmix with a USB sound card. It works, but the sound is constantly crackling. I have simplified my .asoundrc to find out where did this problem came from and I got this:

pcm.!default {
    type plug
    slave.pcm "dmix6"
}

pcm.dmix6 {
    type asym
    playback.pcm {
        type dmix
        ipc_key 567829
	slave {
            pcm "hw:0,0"
	    channels 6
        }
    }
}

It strill crackles with this config but when I change the channels to 2 there is no crackling anymore. I messed with buffer_size and period_size but the problem persists. Using surround51 does not fix it either. Thank you!

Edit: Forgot to mention my sound card, it's a Sweex SC016.

Last edited by Sergius (2014-04-10 03:30:52)

Offline

#2 2014-04-10 18:49:33

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: USB sound card crackling when changing nr of channels in ALSA

Are there sound artefacts when using speaker-test -c 6 -D 'hw:0,0' ? What speed does that particular usb port have (what version)? What modules does this soundcard use?

Offline

#3 2014-04-10 21:59:11

Sergius
Member
Registered: 2014-04-10
Posts: 3

Re: USB sound card crackling when changing nr of channels in ALSA

emeres wrote:

Are there sound artefacts when using speaker-test -c 6 -D 'hw:0,0' ? What speed does that particular usb port have (what version)? What modules does this soundcard use?

I can't exactly tell if there are artifacts with that static sound but I think I the sound was clean. The output of lsusb -D /dev/bus/usb/004/002 has a line containing "bcd USB 1.10" and this is the output of "lsmod | grep '^snd' | column -t" (taken from the ALSA wiki):

snd_usb_audio          94732   0
snd_usbmidi_lib        16191   1   snd_usb_audio
snd_rawmidi            14796   1   snd_usbmidi_lib
snd_seq_device         4252    1   snd_rawmidi
snd_hda_codec_realtek  39245   1
snd_hda_intel          31703   0
snd_hda_codec          129306  2   snd_hda_codec_realtek,snd_hda_intel
snd_hwdep              4746    2   snd_usb_audio,snd_hda_codec
snd_pcm                64085   3   snd_usb_audio,snd_hda_codec,snd_hda_intel
snd_page_alloc         6134    2   snd_pcm,snd_hda_intel
snd_timer              14974   1   snd_pcm
snd                    44446   10  snd_hda_codec_realtek,snd_usb_audio,snd_hwdep,snd_timer,snd_pcm,snd_rawmidi,snd_usbmidi_lib,snd_hda_codec,snd_hda_intel,snd_seq_device

I'm a newbie at Linux administration so I don't really know if this is what you need. Thank you!

Offline

#4 2014-04-10 22:49:56

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: USB sound card crackling when changing nr of channels in ALSA

Then use

speaker-test -c 6 -t wav -D 'hw:0,0'

instead. If the sound was okay, look what parameters, especially buffer and period sizes were used (in the standard output of speaker-test), and then use exactly those values in your dmix configuration (I read that you already tried some of that). According to producents website that audio card has 12 channels (8 playback + 4 inputs -  I assume stereo inputs) with 16 bit resolution @ 48 kHz, which should be around 9,2 Mbit/s. The "USB 1.10" port at full-speed has 12 Mbit/s, so it should be fast enough to handle this device, although some exotic communication protocols could prevent that. However in your case standard modules are used, so it should work with no problems. Try a usb 2.0 port if you have one nevertheless.

Offline

#5 2014-04-11 04:57:46

Sergius
Member
Registered: 2014-04-10
Posts: 3

Re: USB sound card crackling when changing nr of channels in ALSA

My laptop is a Toshiba Sattelite L40-15G (PSL48E) and I can't find the specs in the Toshiba website but I tried the 3 usb slots this laptop has and they are 1.10. When I changed the card to the side slot and rebooted that reduced crackling alot but I still heard some small artifacts. When the PC was running I changed it to the back slot again and the intense crackling was back, even when I switched again to the side slot.

The speaker-test crackles when the channel number is 6 in .asoundrc. I tried every combination of period_size and buffer_size speaker-test used (asoundrc with 2 and 6 channels, without asoundrc, -c 2 and -c 6 options) and it has no effect. Btw, this is my /etc/modprobe.d/alsa-base.conf, the only file I have in that folder right now:

options snd slots=snd_usb_audio,snd_hda_intel
options snd_usb_audio index=0 nrpacks=1
options snd_hda_intel index=1

If my usb slots are bad what can I do to fix them? If this can't be fixed I guess I will have to use the side slot, which is not very convenient, and ignore the minimal amount of crackling.

Offline

#6 2014-04-11 10:26:15

emeres
Member
Registered: 2013-10-08
Posts: 1,570

Re: USB sound card crackling when changing nr of channels in ALSA

Can you record a sample of sound with crackling and upload it somewhere? Do you use a usb cable with ferrite on both ends? Settings in ~/.asoundrc would only affect speaker-test if you run it without arguments that I suggested (especially output device), also I meant all parameters. Since maximum buffer and period sizes do not seem to help, increase nrpacks or delete that module option altogether.
Your slots are not bad, they are just slower because of an older standard. And no, you can not change usb ports speed without hardware changes. Depending on hardware used it may be possible, but those ports are directly on the motherboard, which makes it economically unsane. However even the usb 1.1 should be fast enough, and you cpu should handle upmixing/playback for 6 channels also. Thing is all ports should be usb 2.0 according to toshiba.
The asymmetrical part of the configuration seems redundant for now, use the dmix plugin only for starters. You might want to try a realtime kernel.

Offline

Board footer

Powered by FluxBB