Alsa

From Tim's Wiki
Jump to: navigation, search

http://gentoo-wiki.com/HOWTO_ALSA_Complete_%28includes_dmix%29#GStreamer

intel8x0

/etc/modules.d/alsa

alias char-major-116 snd
alias char-major-14 soundcore

alias snd-card-0 snd-intel8x0
alias sound-slot-0 snd-card-0

alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

alias /dev/dsp snd-pcm-oss

options snd cards_limit=1

/etc/asound.conf

pcm.ossmix {
    type dmix
    ipc_key 1021          # must be unique!
    slave {
        pcm "hw:0,0"
        period_time 0
        period_size 1024  # must be power of 2
        buffer_size 8192  # dito. It
        #format "S32_LE"
        #periods 128      # dito.
        rate 48000
    }

# bindings are cool. This says, that only the first
# two channels are to be used by dmix, which is enough for
# (most) oss apps and also lets multichannel chios work
# much faster:

    bindings {
        0 0   # from 0 => to 0
        1 1   # from 1 => to 1
    }
}

# Redirect to ossmix
pcm.!default {
    type plug
    slave.pcm "ossmix"     # use our new PCM here
}

# Redirect to ossmix
pcm.dsp0 {
    type plug
    slave.pcm "ossmix"     # use our new PCM here
}

# mixer0 like above
ctl.mixer0 {
    type hw
    card 0
}

Audigy 2

/etc/modules.d/alsa

alias char-major-116 snd
alias char-major-14 soundcore

alias snd-card-0 snd-emu10k1
alias sound-slot-0 snd-card-0

alias sound-service-0-0 snd-mixer-oss
alias sound-service-0-1 snd-seq-oss
alias sound-service-0-3 snd-pcm-oss
alias sound-service-0-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss

alias /dev/dsp snd-pcm-oss

options snd cards_limit=1

Source

/etc/asound.conf with microphone support

pcm.output {
    type plug
    slave.pcm "hw:0,0"
}

pcm.input {
    type dsnoop
    ipc_key 1027
    slave.pcm "hw:0,0"
}

pcm.multiplex {
    type asym
    playback.pcm "output"
    capture.pcm "input"
}

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

pcm.dsp0 {
    type plug
    slave.pcm "multiplex"
}

To test microphone:

arecord -r 48000 -c 1 | hexdump