[HOW-TO] Pelen dupleks w ALSA

Awatar użytkownika
lays
Sędziwy Jeż
Sędziwy Jeż
Posty: 47
Rejestracja: 27 gru 2006, 17:33
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: Xfce
Kontakt:

[HOW-TO] Pelen dupleks w ALSA

Post autor: lays » 15 mar 2007, 15:06

Oryginalne HOW-TO znajdziecie pod tym adresem. Jest to tylko tlumaczenie owego artykulu.

1. (nie jest konieczne) W System->Preferencje->Dzwiek odznacz Uruchamianie Serwera Dzwieku

2. Wklep polecenie:

Kod: Zaznacz cały

sudo apt-get install libesd-alsa0
3. Wpisz

Kod: Zaznacz cały

nano /etc/esound/esd.conf
i zawartosc zmien na:

Kod: Zaznacz cały

[esd]
auto_spawn=1
spawn_options=-terminate -nobeeps -as 2 -d default
spawn_wait_ms=100
# default options are used in spawned and non-spawned mode
default_options=
4. Uzyj polecenia nano do otwarcia takze pliku /etc/asound.conf i zmien jego zawartosc na:

Kod: Zaznacz cały

# Set default sound card
# Useful so that all settings can be changed to a different card here.
pcm.snd_card {
     type hw
     card 0
}

# Allow mixing of multiple output streams to this device
pcm.dmixer {
     type dmix
     ipc_key 1024
     slave.pcm "snd_card"
     slave {
          # This stuff provides some fixes for latency issues.
          # buffer_size should be set for your audio chipset.
          period_time 0
          period_size 1024
          buffer_size 4096
          # rate 44100
     }

     bindings {
          0 0
          1 1
     }
}

# Allow reading from the default device.
# Also known as record or capture.
pcm.dsnooper {
     type dsnoop
     ipc_key 2048
     slave.pcm "snd_card"

     bindings {
          0 0
          1 1
     }
}

# This is what we want as our default device
# a fully duplex (read/write) audio device.
pcm.duplex {
     type asym
     playback.pcm "dmixer"
     capture.pcm "dsnooper"
}

###################
# CONVERSION PLUG #
###################
# Setting the default pcm device allows the conversion
# rate to be selected on the fly.
# duplex mode allows any alsa enabled app to read/write
# to the dmix plug (Fixes a problem with wine).

pcm.!default {
     type asym
     playback.pcm "dmixer"
     capture.pcm "dsnooper"
}

########
# AOSS #
########
# OSS dsp0 device (OSS needs only output support, duplex will break some stuff)
pcm.dsp0 {
     type plug
     slave.pcm "dmixer"
}

# OSS control for dsp0 (needed?...this might not be useful)
ctl.dsp0 {
     type plug
     slave.pcm "snd_card"
}

# OSS control for dsp0 (default old OSS is mixer0)
ctl.mixer0 {
     type plug
     slave.pcm "snd_card"
}
Jezeli posiadasz kilka kart dzwiekowych, w pierwszej linijce mozesz wybrac domyslna.

6. Poleceniem nano otwieramy takze plik /etc/libao.conf i zmien zawartosc na:

Kod: Zaznacz cały

default_driver=alsa
7. Zrestartuj komputer, aby upewnic sie, ze wszystko dziala jak nalezy.

Niestety, programy uzywajace OSS moga miec problemy z dzialaniem, wiec nalezy skonfigurowac wszystko pod ALSA'e. Efektem ubocznym jest brak dzwiekow uruchamiania systemu, ale chyba warto. ;)

UWAGA: Jesli przy uzywaniu systemu ESD wystepuja problemy, zamien w zawartosci pliku /etc/esound/esd.conf wartosc

Kod: Zaznacz cały

spawn_options=-terminate -nobeeps -as 2 -d default
na

Kod: Zaznacz cały

spawn_options=-terminate -nobeeps -as 2 -d duplex
Sposob wyprobowany, u mnie dziala jak nalezy, a przy okazji wreszcie mikrofon dziala jak nalezy w grach czy innych aplikacjach. :teeh: Jednakze, nie odpowiadam za ewentualne uszkodzenie systemu.
ODPOWIEDZ

Wróć do „Software-Multimedia”