PLD-doc/book/pl_book__uslugi/pl_uslugi__alsa.sec
ciesiel
cvs w pld-linux.org
Pon, 4 Kwi 2005, 20:54:49 CEST
Author: ciesiel
Date: Mon Apr 4 20:54:46 2005
New Revision: 5719
Added:
PLD-doc/book/pl_book__uslugi/pl_uslugi__alsa.sec
Log:
- nowa usluga: ALSA
Added: PLD-doc/book/pl_book__uslugi/pl_uslugi__alsa.sec
==============================================================================
--- (empty file)
+++ PLD-doc/book/pl_book__uslugi/pl_uslugi__alsa.sec Mon Apr 4 20:54:46 2005
@@ -0,0 +1,165 @@
+<?xml version="1.0" encoding="iso-8859-2"?>
+<section id="uslugi_alsa_step">
+<title>ALSA - Dźwięk w Linuksie</title>
+<para>Przez dłuższy czas, obsługa kart dźwiękowych w Linuksie była traktowana po
+ macoszemu. W końcu dźwięk na poważnych serwerach nigdy nie był
+ priorytetem, jednak kiedy systemy unixowe zaczęły zaglądać pod
+ strzechy zdano sobie sprawę, że taka obsługa jest potrzebna. Prace
+ były prowadzadzone nad kilkoma systemi obsługi m.in.:
+ <productname>OSS</productname>, <productname>JACK</productname>,
+ <productname>ARTS</productname>, <productname>ESD</productname> i
+ opisywana przez nas <productname>ALSA</productname> (skrót: Advanced Linux
+ Sound Architecture). W tej chwili <productname>ALSA</productname> jest
+ najdynamiczniej rozwijającym się projektem obsługującym dźwięk. Zalety
+ i stabilność spowodowały, że moduły <productname>ALSA</productname>-y są wbudowane w kernelach od
+ serii 2.6.x
+</para>
+ <section id="uslugi_alsa_inst_konf">
+ <title>Instalacja i konfiguracja</title>
+ <para>
+ Instalacje <productname>ALSA</productname>-y w PLD dokonujemy
+ wykorzystując program <productname>poldek</productname>:
+ </para>
+ <screen># poldek -i alsa-utils kernel-sound-alsa alsa-lib alsa-utils-init</screen>
+ <para>
+ Po instalacji powyższych pakietów konfigurujemy nasz system.
+ Dokonujemy tego wywołując polecenie:
+ </para>
+ <screen># /usr/sbin/alsaconf</screen>
+ <para>
+ Po ukazaniu się ekranu z napisem "Searching sound cards"
+ czekamy ok. 10 sekund i wciskamy <keycap>ctrl-c</keycap> (konfigurator szybko
+ znajduje naszą właściwą kartę - a ponieważ szuka również kart
+ starego typu oraz różnych egzotycznych, co zajmuje mu bardzo dużo czasu dlatego
+ przerywamy wyszukiwanie).
+ </para>
+ <para>
+ Następne okno pokazuje nam listę znalezionych kart muzycznych
+ (bądź najczęściej jedną). Zatwierdzamy wyświetloną kartę i na
+ pytanie:
+ </para>
+ <screen>Do you want to modify /etc/modprobe.conf?</screen>
+ <para>
+ Odpowiadamy twierdząco. Spowoduje to dopisanie odpowiednich
+ modułów kernela do pliku konfigurującego. Następnie pozostaje nam
+ uruchomić jeden z mikserów dźwieku i ustawić jego parametry oraz
+ wyłączyć standardowo zwykle włączone wyciszenie
+ (MUTE) np:
+ </para>
+ <screen># /usr/bin/alsamixer</screen>
+ <para>
+ lub:
+ </para>
+ <screen>/usr/bin/amixer</screen>
+ <para>
+ Następnym krokiem jest przetestowanie naszego serwera:
+ </para>
+ <screen>alsaplayer -o alsa test.mp3</screen>
+ <para>
+ To już praktycznie koniec instalacji. Pamiętać należy, że do
+ niektórych programów należy doczytać odpowiednie wtyczki,
+ które umożliwią prace z <productname>ALSA</productname>-ą.
+ Wtyczki te łatwo rozpoznać po dopisce "alsa" w nazwie pakietu.
+ </para>
+ </section>
+ <section id="uslugi_alsa_zaawan">
+ <title>Mikser</title>
+ <para>
+ W wielu przypadkach okazuje się, że posiadamy kartę
+ muzyczną, która nie potrafi miksować dźwięku
+ sprzętowo - co powoduje m.in., że jednocześnie może z
+ karty korzystać jeden program lub proces. Zdarza się
+ także, że niektóre programy na sztywno próbują
+ połączyć się np. z OSS w celu obsługi dźwięku (np.
+ <productname>Skype</productname>). W takim przypadku możemy
+ skorzystać z wtyczki <productname>ALSA</productname>-y
+ o nazwie <emphasis>dmix</emphasis>. Wbrew nazwie nie
+ musimy niczego dogrywać - wszystko odbywa się w
+ plikach: <filename>/etc/asound</filename> (gdy chcemy
+ ustawień globalnych) lub
+ <filename>~/.asoundrc</filename> (czyli indywidualnych
+ ustawień dla każdego użytkownika). Przykładowy wpis
+ przedstawimy poniżej - po więcej szczegółów odsyłamy
+ na strony projektu <ulink
+ url="http://www.alsa-project.org/">ALSA</ulink>:
+ </para>
+ <screen># definiujemy urzadzenie virtualne demixer:
+
+pcm.demixer
+ {
+ type dmix
+ ipc_key 1024 # must be unique!
+ slave {
+ pcm "hw:0,0" # you cannot use a "plug" device here, darn.
+ period_time 0
+ buffer_time 0
+ period_size 1024 # must be power of 2 and much smoother
+ # than 1024/8192!
+ buffer_size 8196 # must be power of 2 and for Audiophile
+ # card (ICE1712 chip) or a VIA VT82xx
+ # (snd-via82xx) must be less 6652
+ #format "S32_LE"
+ periods 128
+ rate 44100 # with rate 44100 Hz you *will* hear,
+ # if demixer is used
+ }
+# 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
+ }
+ }
+
+# następnie ustawiamy przekierowanie z poszczególnych urzadzeń do demixera:
+
+# przekierowanie do demixer z urządzeń OSS:
+# /dev/audio
+# /dev/dsp
+# /dev/dspW
+# /dev/midi
+# /dev/mixer
+# /dev/music
+# /dev/sequencer (recording doesn't work yet)
+# /dev/sequencer2
+
+# for /dev/dsp0
+pcm.dsp0 {
+ type plug
+ slave.pcm "demixer"
+ }
+# for /dev/dsp
+pcm.dsp {
+ type plug
+ slave.pcm "demixer"
+ }
+# for /dev/card0 # ten wpis jest prawdopodobnie zbędny
+pcm.card0 {
+ type plug
+ slave.pcm "demixer"
+ }
+# Software mixing
+pcm.!default {
+ type plug
+ slave.pcm "demixer"
+ }
+ctl.mixer0 {
+ type hw
+ card 0
+ }</screen>
+ <para>
+ Po restarcie lub ponownym logowaniu (w zależności od
+ sposobu konfiguracji) możemy przetestować nasz "dmix"
+ </para>
+ <screen>alsaplayer -o alsa -d dmixer test.mp3</screen>
+ <para>
+ Nie należy zapomnieć o wyłączeniu demonów ARTs i ESD
+ gdyż w przeciwnym przypadku może sie pojawić
+ opóźnienie w odtwarzaniu dźwięków i zakłócenia w
+ niektórych programach.
+ </para>
+ </section>
+
+</section>
Więcej informacji o liście dyskusyjnej pld-doc