Linux Sound-HOWTO, czyli Dźwięk w Linuxie - Jak To Zrobić?
Autor: Jeff Tranter, jeff_tranter@pobox.com
v1.16, 5 stycznia 1997
WWeerrssjjaa ppoollsskkaa:: PPaawweełł OOllsszzeewwsskkii aallddeerr@@aammgg..nneett..ppll
vv11..0011,, 2233 mmaarrccaa 11999977
Ten dokument opisuje obsługę dźwięku w Linuxie. Zawiera listę urządzeń
dźwiękowych pracujących z Linuxem, wyjaśnia jak skonfigurować sterown
iki dołączane do jądra i odpowiada na często zadawane pytania. Zami
arem autora jest szybsze wprowadzenie nowych użytkowników w temat i
zmniejszenie ruchu sieciowego w grupach dyskusyjnych Usenetu i pocz
towych listach dyskusyjnych.
______________________________________________________________________
Table of Contents:
1. Wprowadzenie
1.1. Podziękowania
1.2. Historia Wersji
1.3. Nowe wersje tego dokumentu
1.4. Informacja zwrotna
1.5. Polityka Dystrybucji
2. Technologia Kart Dźwiękowych
3. Obsługiwane Urządzenia
3.1. Karty Dźwiękowe
3.2. Dodatkowe Sterowniki Dźwięku
3.3. Głośnik PC (PC Speaker)
3.4. Port Równoległy
4. Instalacja
4.1. Instalacja Karty Dźwiękowej
4.2. Konfigurowanie jądra
4.3. Tworzenie Plików Urządzeń
4.4. Przeładowywanie Linuxa i Testowanie Instalacji
4.5. Usuwanie błędów
4.5.1. Krok 1: Upewnij się, że rzeczywiście uruchomiłeś jądro, które
skompilowałeś.
4.5.2. Krok 2: Upewnij się, że sterowniki dźwięku wkompilowane są w
jądro.
4.5.3. Krok 3: Czy jądro wykryło kartę dźwiękową w trakcie ładowania?
4.5.4. Krok 4: Czy możesz pobierać dane z urządzenia dsp?
4.5.5. Jeśli Wszystko Inne Zawiedzie
5. Programy Obsługujące Dźwięk
6. Odpowiedzi Na Często Zadawane Pytania
6.1. Czym są różne pliki urządzeń dźwiękowych?
6.2. Jak mogę odtworzyć próbkę dźwiękową?
6.3. Jak mogę nagrać próbkę?
6.4. Czy mogę mieć więcej niż jedną kartę dźwiękową?
6.5. Błąd urządzeń dźwiękowych "No such file or directory"
6.6. Błąd urządzeń dźwiękowych "No such device"
6.7. Błąd urządzeń dźwiękowych "No space left on device"
6.8. Błąd urządzeń dźwiękowych "Device busy"
6.9. Nadal pojawiają się błędy "urządzenie zajęte"!
6.10. Niepełne odtwarzanie pliku z dźwiękiem cyfrowym
6.11. W trakcie odtwarzania plików MOD pojawiają się przerwy
6.12. Błędy przy kompilacji programów dźwiękowych
6.13. SEGV przy uruchamianiu programów dźwiękowych, które wcześniej
działały
6.14. Jakie znane błędy lub ograniczenia ma sterownik dźwięku?
6.15. Gdzie znajdę opis odwołań ioctl() sterownika dźwięku?
6.16. Jaki procesor jest konieczny do odtwarzania lub nagrywania bez
przestojów?
6.17. Problemy z kartą PAS16 i kontrolerem SCSI Adaptec 1542 SCSI
6.18. Czy jest możliwe jednoczesne nagrywanie i odtwarzanie próbek?
6.19. Mój SB16 jest ustawiony na IRQ 2, ale configure nie pozwala
ustawić tej wartości.
6.20. Czy SoundBlaster AWE32 lub SoundBlaster16 ASP są obsługiwane?
6.21. Jeśli uruchomię Linuxa, po czym załaduje DOS, dostaję błędy
i/lub programy dźwiękowe działają niepoprawnie.
6.22. Problemy z uruchamianiem gry DOOM pod Linuxem
6.23. Jak mogę zredukować szumy zbierane przez moją kartę dźwiękową?
6.24. Mogę odtwarzać dźwięki, ale nie mogę nagrywać.
6.25. Moja "kompatybilna" karta dźwiękowa działa tylko wówczas, gdy
zainicjalizuję ją pod MS-DOS.
6.26. Moja 16-bitowa karta "kompatybilna" z SoundBlaster działa pod
Linuxem jedynie w trybie 8-bitowym.
6.27. Gdzie mogę znaleźć programy dźwiękowe pod Linuxa?
6.28. Czy sterownik dźwięku może być skompilowany jako ładowalny
moduł jądra?
6.29. Czy mogę użyć kartę dźwiękową aby zastąpić systemowy sygnał na
konsoli?
6.30. Co to jest VoxWare?
6.31. Czy karty Plug and Play są obsługiwane?
6.32. Sox/Play/Vplay wypisuje "invalid block size 1024" (błędny
rozmiar bloku 1024)
6.33. Dlaczego sterownik dźwięku ma własny program konfiguracyjny?
6.34. Ustawienia miksera są zerowane za każdym razem gdy załaduję
moduł sterownika dźwięku
6.35. Jedynie użytkownik root może nagrywać dźwięk
7. Źródła Informacji
8. Od tłumacza
______________________________________________________________________
11.. WWpprroowwaaddzzeenniiee
Oto dokument Linux Sound HOWTO, czyli Dźwięk w Linuxie - Jak To
Zrobić? Z założenia ma to być szybki poradnik obejmujący wszystko, co
potrzebujesz wiedzieć aby zainstalować i skonfigurować obsługę dźwięku
pod Linuxem. Udzielono tu odpowiedzi na często zadawane pytania, a
także zamieszczono odnośniki do innych źródeł informacji na rozmaite
tematy związane z dźwiękiem i muzyką generowaną za pomocą komputerów.
Zakres pracy jest ograniczony do problematyki kart dźwiękowych,
odnoszącej się do Linuxa. Więcej informacji na temat kart dźwiękowych
i generowania dźwięku i muzyki z pomocą komputera znajdziesz w
dokumentach wymienionych w rozdziale _Ź_r_ó_ł_a _I_n_f_o_r_m_a_c_j_i.
11..11.. PPooddzziięękkoowwaanniiaa
Wiele z tych informacji pochodzi z dokumentacji dostarczonej wraz ze
sterownikiem dźwięku, napisanym przez Hannu Savolainena
(hannu@voxware.pp.fi). Składam podziękowania Hannu i wielu innym
ludziom, którzy tworzyli sterowniki dźwięku do jądra Linuxa i programy
narzędziowe.
Dzięki pakietowi Linuxdoc-SGML ten dokument HOWTO jest dostępny w
kilku formatach, wygenerowanych z jednego wspólnego pliku źródłowego.
11..22.. HHiissttoorriiaa WWeerrssjjii
WWeerrssjjaa 11..11
pierwsza wersja; wysłana jedynie do kanału SOUND pocztowej listy
aktywistów Linuxa
WWeerrssjjaa 11..22
niewielkie uaktualnienia; pierwsza wersja dostępna w archiwach
internetowych
WWeerrssjjaa 11..33
skonwertowana do formatu SGML; obecnie dostępna w kilku
formatach dzięki narzędziom Linuxdoc-SGML Matta Welsha; zmiana
wyglądu z powodu nowego formatu, jedynie niewielkie zmiany w
treści
WWeerrssjjaa 11..44
niewielkie poprawki w SGMLu; dodana odpowiedź na temat
niekompatybilności kontrolera SCSI Adaptec1542A i karty PAS16
WWeerrssjjaa 11..55
sterownik dźwięku w wersji 2.5a jest teraz w dystrybucji jądra
1.1; uwaga na temat obsłgi GUS-MAX; inne nieznaczne poprawki
WWeerrssjjaa 11..66
dodana informacja o błędzie "no space on device" ("brak
przestrzeni na urządzeniu"); dodana uwaga o tym, że Podręcznik
Hackera (Hacker's Guide) znajduje się w "ukrytym" katalogu;
dodane pytanie o tryb dwukierunkowy; informacja o błędach
"device busy" ("urządzenie zajęte"); inne nieznaczne poprawki
WWeerrssjjaa 11..77
dodane informacje o ASP i AWE32; dostępny jest VoxWare 2.9;
odpowiedź na pytanie o używanie IRQ2; odnośniki do dokumentów
HOWTO o dźwięku i SCSI
WWeerrssjjaa 11..88
dodane pytanie o błędy pod DOSem; wiele niewielkich poprawek
celem uaktualnienia względem wersji 2.90 sterownika dźwięku;
informacja o grze DOOM; odpowiedź na temat redukcji szumów
WWeerrssjjaa 11..99
pytania o nagrywanie i karty-klony
WWeerrssjjaa 11..1100
napomknienie, że HOWTO dostępne jest przez WWW, jako dokumenty
do druku i w innych wersjach językowych; informacja na temat
konfliktu DMA ze sterownikiem napędu taśmowego QIC; informacja o
karcie Sound Galaxy NX Pro i myszy szeregowej Logitech
WWeerrssjjaa 11..1111
Długo oczekiwane uaktualnienie (byłem zajęty); dokument objęty
licencją GPL; uaktualnienie do wersji 3.0 sterownika dźwięku;
informacja o wielu nowo obsługiwanych kartach; więcej informacji
o konfiguracji i usuwaniu błędów; masa nowych odnośników do
stron HTML; uaktualnienie zgodnie z formatem CD-ROM HOWTO.
WWeerrssjjaa 11..1122
nowe sterowniki w jądrze 1.3.34; nowe nazwy urządzeń
dźwiękowych; adres 1542 to 334 a nie 333; wyjaśnienie statusu
Emu i ASP Creative Labs; wskazanie do stron WWW Creative Labs i
MediaTrix
WWeerrssjjaa 11..1133
wzmianka o nazwie VoxWare; uaktualnienie o najnowsze obsługiwane
karty dźwiękowe i opcje konfiguracji; pytanie o obsługę Plug and
Play; problem rozmiarów bloku; nowe opcje w xconfig i
menuconfig; narzędzia modutils mają obsługę dźwięku; usunięcie
pocztowej listy dyskusyjnej vger; wyróżnienie adresu strony WWW
autora; inne niewielkie zmiany
WWeerrssjjaa 11..1144
Audio Excell DSP16 nie jest obecnie obsługiwana (powinna znowu
działać za kilka miesięcy); zmiany w programie configure;
dostępne jest włoska wersja językowa tego HOWTO; trick - jak
ustawiać wzmocnienie miksowania podczas ładowania modułu obsługi
dźwięku; ostatnia stabilna wersja jądra to 2.0; now nazwa
sterownika dźwięku; pytanie o prawa dostępu root'a na plikach
urządzeń dźwiękowych
WWeerrssjjaa 11..1155
usunięcie kilku bardzo starych i obecnie nieaktualnych pytań;
nowy adres e-mail autora; poprawione kilka odwołań do
najnowszych pakietów programów; więcej informacji o książce nt.
multimediów; niewielkie poprawki pisowni i gramatyki
WWeerrssjjaa 11..1166
wiele uaktualnień i poprawek od Hannu Savolainena; dodany
sześciomiesięczny "okres przydatności do użycia"; nowy URL do
strony WWW dotyczącej książki, dodany odnośnik do hiszpańskiej
wersji językowej; niewielkie poprawki poprawki pisowni i
gramatyki
11..33.. NNoowwee wweerrssjjee tteeggoo ddookkuummeennttuu
Nowe wersje oryginału tego dokumentu będą okresowo wysyłane do gupy
dyskusyjnej comp.os.linux.answers. Będą również załadowywane do
rozmaitych anonimowych archiwów ftp, zbierających tego typu
informacje, jak np. .
Wersje hipertekstowe tego i innych dokumentów Linux HOWTO są dostępne
na wielu serwerach WWW w Internecie, w tym pod adresem
. Większość CD-ROMowych
dystrybucji Linuxa zawiera dokumenty HOWTO, często w katalogu
, jak również dokumenty te dostępne są u kilku producentów
w postaci drukowanej. Czasami dokumenty HOWTO z dystrybucji na płytach
CD-ROM, archiwów ftp i w formie drukowanej są nieaktualne. Jeśli z
daty wydania tego dokumentu wynika, że ma on więcej niż 6 miesięcy,
prawdopodobnie nowsza wersja jest już dostępna w Internecie.
Wersja polska znajduje się wraz z pozostałymi dokumentami Linux-HOWTO
w wersji polskiej w archiwum ftp://ftp.ippt.gov.pl/pub/Linux/JTZ/
Oryginalna, angielska wersja tego dokumentu:
.
Francuska wersja tego dokumentu :
.
Japońska wersja tego dokumentu : .
Włoska wersja tego dokumentu :
.
Hiszpańska wersja tego dokumentu :
.
Jeśli przetłumaczysz oryginał na inną wersję językową, daj znać
autorowi, a do powyższej listy dodany zostanie odpowiedni odnośnik.
11..44.. IInnffoorrmmaaccjjaa zzwwrroottnnaa
Polegam na Tobie, czytelniku, aby uczynić ten dokument użytecznym.
Jeśli masz jakieś sugestie, poprawki lub komentarze, proszę wyślij je
do mnie, jeff_tranter@pobox.com, a ja spróbuje włączyć je do następnej
wersji.
Wyrażam również chęć udzielania odpowiedzi na ogólne pytania dotyczące
kart dźwiękowych tak dobrze jak tylko potrafię. Jednak zanim zapytasz
mnie, _z_a_p_o_z_n_a_j _s_i_ę _p_r_o_s_z_ę _z _c_a_ł_y_m _n_i_n_i_e_j_s_z_y_m _H_O_W_T_O, a wysyłając
pytanie _d_o_ł_ą_c_z _d_o_k_ł_a_d_n_ą _i_n_f_o_r_m_a_c_j_ę _n_a _t_e_m_a_t _p_r_o_b_l_e_m_u.
Jeśli opublikujesz ten dokument na dysku CD-ROM lub w wersji
drukowanej, byłbym wdzięczny za przesłanie mi jednego egzemplarza.
Napisz e-mail, to podam mój adres pocztowy. Warto w takiej sytuacji
również rozważyć datek na rzecz Projektu Dokumentacji Linuxa (Linux
Documentation Project), co wspomoże ideę darmowej dokumentacji do
Linuxa. W sprawie dokładniejszych informacji skontaktuj się z
koordynatorem projektu Linux HOWTO, Gregiem Hankinsem
.
11..55.. PPoolliittyykkaa DDyyssttrryybbuuccjjii
Prawa autorskie 1995-1997 Jeff Tranter.
Ten HOWTO jest darmową dokumentacją; możesz go rozprowadzać i/lub
modyfikować na zasadach określonych w Generalnej Publicznej Licencji
GNU (GPL) przez Fundację Darmowego Oprogramowania (Free Software
Foundation); Licencja w wersji 2 lub (zgodnie z Twoim uznaniem)
jakakolwiek późniejsza.
Dokument ten rozprowadzany jest w nadziei, że będzie przydatny, jednak
bbeezz żżaaddnneejj ggwwaarraannccjjii; nawet bez domniemanej gwarancji pprrzzeezznnaacczzeenniiaa
lub pprrzzyyddaattnnoośśccii ddoo kkoonnkkrreettnneeggoo cceelluu. Więcej szczegółów znajdziesz w
Generalnej Publicznej Licencji GNU.
Możesz otrzymać kopię Generalnej Publicznej Licencji GNU, jeśli
napiszesz do Free Software Foundation, Inc., 675 Mass Ave, Cambridge,
MA 02139, USA.
22.. TTeecchhnnoollooggiiaa KKaarrtt DDźźwwiięękkoowwyycchh
Ten rozdział jest _b_a_r_d_z_o skrótowym przeglądem technologii dźwięku
komputerowego, który ma na celu ułatwić ci zrozumienie później
używanych pojęć. Aby dowiedzieć się więcej, powinieneś odwołać się do
książek o dźwięku cyfrowym lub cyfrowym przetwarzaniu sygnałów
dźwiękowych.
Dźwięk jest zjawiskiem _a_n_a_l_o_g_o_w_y_m; może przyjmować dowolne wartości z
ciągłego przedziału. Komputery są _c_y_f_r_o_w_e; lubią pracować z
wartościami dyskretnymi. Karty dźwiękowe wykorzystują urządzenie zwane
_K_o_n_w_e_r_t_e_r_e_m _A_n_a_l_o_g_o_w_o _- _C_y_f_r_o_w_y_m (A/D lub ADC) do konwersji napięć
odpowiadających analogowym falom dźwiękowym do postaci cyfrowych lub
numerycznych wartości, które można przechowywać w pamięci. Podobnie,
_K_o_n_w_e_r_t_e_r _C_y_f_r_o_w_o _- _A_n_a_l_o_g_o_w_y (D/A lub DAC) przekształca wartości
numeryczne z powrotem na napięcia analogowe, które w efekcie mogą
sterować głośnikiem, produkując dźwięk.
Proces przetwarzania postaci analogowej na cyfrową, zwany
próbkowaniem, obciążony jest pewnym błędem. Dwa czynniki są
najważniejsze przy określaniu, jak wiernie próbkowany dźwięk
odwzorowuje analogowy oryginał. _C_z_ę_s_t_o_t_l_i_w_o_ś_ć _p_r_ó_b_k_o_w_a_n_i_a to liczba
próbek pobranych w danej jednostce czasu (najczęściej określana w
próbkach na sekundę lub Hertzach). Przy niskiej częstotliwości
próbkowania analogowy sygnał odwzorowany będzie mniej dokładnie.
_R_o_z_m_i_a_r _p_r_ó_b_k_i to zakres wartości używanych do opisania każdej próbki,
zazwyczaj oznaczony w bitach. Im większy rozmiar próbki, tym
dokładniejszy będzie sygnał cyfrowy.
Karty dźwiękowe najczęściej używają próbek 8- lub 16-bitowych przy
częstotliwościach próbkowania od około 4000 do 44.000 próbek na
sekundę. Próbki mogą również zawierać jeden kanał (mono) lub dwa
kanały (stereo).
_S_y_n_t_e_z_a _F_M jest starszą techniką wytwarzania dźwięku. Polega na
łączeniu różnych fal dźwiękowych (np. sinusoidalnej, trójkątnej,
kwadratowej). Syntezę FM łatwiej jest zaimplementować sprzętowo niż
konwersję D/A, ale za to trudniej ją oprogramować. Jest ona również
mniej elastyczna. Wiele kart dźwiękowych obsługuje syntezę FM dla
celów wstecznej kompatybilności ze starszymi kartami i programami.
Zazwyczaj zawierają one kilka niezależnych generatorów dźwięku lub
_g_ł_o_s_ó_w.
_S_y_n_t_e_z_a _W_a_v_e_t_a_b_l_e łączy elastyczność konwersji D/A z wielokanałowymi
możliwościami syntezy FM. W tej technologii przetworzone na postać
cyfrową głosy mogą być załadowane do dedykowanego obszaru pamięci, a
następnie odtwarzane, łączone i modyfikowane przy niewielkim
obciążeniu procesora. Wszystkie najlepsze karty dźwiękowe obsługują
syntezę wavetable.
Większość kart dźwiękowych daje możliwość _m_i_k_s_o_w_a_n_i_a - łączenia
sygnałów z różnych źródeł wejściowych i kontrolowania poziomów
głośności.
_M_I_D_I jest skrótem od nazwy Musical Instrument Digital Interface
(Cyfrowy Interfejs Instrumentów Muzycznych) i jest standardowym
protokołem sprzętowym i programowym pozwalającym instrumentom
muzycznym na komunikowanie się ze sobą. Sygnały przesłane po szynie
MIDI mogą być również przechowywane w plikach MIDI do późniejszej
obróbki i odtwarzania. Wiele kart dźwiękowych zawiera interfejs MIDI.
Te, które go nie mają, nadal mogą odgrywać pliki MIDI przy użyciu
zintegrowanych w karcie funkcji.
_P_l_i_k_i _M_O_D są powszechnym formatem utworów generowanych za pomocą
komputerów. Obok informacji o nutach, które mają być zagrane, pliki te
zawierają cyfrowe próbki instrumentów (inaczej zwane głosami). Pliki
MOD po raz pierwszy pojawiły się na komputerach Amiga, ale mogą być
odtwarzane z pomocą stosownego oprogramowania na innych systemach, z
Linuxem włącznie.
33.. OObbssłłuuggiiwwaannee UUrrzząąddzzeenniiaa
W tym rozdziale wymieniono karty graficzne i interfejsy, które są
obecnie obsługiwane przez Linuxa. Informacja tutaj zawarta oparta jest
na najnowszych w trakcie pisania tego dokumentu jądrach Linuxa.
Sterownik dźwięku ma swą własną numerację wersji. Ostatnie stabilne
jądro Linuxa to wersja 2.0.27, wykorzystująca sterownik dźwięku w
wersji 3.5.4-960630.
Autor sterownika dźwięku, Hannu Savolainen, zazwyczaj również
udostępnia nowsze wersje sterownika dźwięku zanim włączane są one do
standardowej dystrybucji jądra Linuxa. Najbardziej aktualna lista
obsługiwanych kart znajduje się pod adresem (USA) lub
(Europa). Na
tych stronach wyszczególnione jest, która wersja sterownika dźwięku
jest wymagana przy danym typie karty dźwiękowej, lub czy sterownik
danej karty jest nadal w fazie rozwoju. Plik
, rozprowadzany wraz ze
sterownikiem dźwięku do jądra, zawiera informację o obsługiwanych
kartach, ale nie zawsze jest aktualny.
Sterownik dźwięku powinien również działać z większością kart
dźwiękowych na platformie Alpha. Jednakże, niektóre karty mogą
wywoływać konflikty na portach I/O innych urządzeń systemów opartych
na Alpha, nawet jeśli działają one poprawnie na komputerach i386, więc
ogólnie rzecz biorąc nie można z góry określić, czy dana karta będzie
działać, zanim się faktycznie nie spróbuje.
W czasie, gdy to piszę, sterownik dźwięku nie działa jeszcze na wersji
Linuxa na systemy z procesorem PowerPC, ale w przyszłości obsługa ta
powinna się pojawić.
Wygląda na to, że sterownik dźwięku można dołączyć do jądra w wersji
Linuxa na systemy MIPs, ale obawiam się że nie specjalnie działa (czy
komputery MIPs mają w ogóle sloty ISA?).
Jądro Linuxa zawiera osobne sterowniki dla wersji na Atari i Amigę,
które implementują kompatybilny podzestaw sterownika na platformę
Intel, przy użyciu wbudowanych w te komputery urządzeń.
Wersja Linuxa na systemy SPARC nie ma obecnie obsługi dźwięku
(podobnie jak Amiga i Atari, komputery SPARC mają wbudowane urządzenia
dźwiękowe, więc można to załatwić nowym sterownikiem).
33..11.. KKaarrttyy DDźźwwiięękkoowwee
Następujące karty dźwiękowe obsługiwane są przez sterownik dźwięku
jądra Linuxa:
ˇ ATI Stereo F/X (nie jest już produkowana)
ˇ AdLib (nie jest już produkowana)
ˇ Ensoniq SoundScape (i kompatybilne firm Reveal i Spea)
ˇ Gravis Ultrasound
ˇ Gravis Ultrasound ACE
ˇ Gravis Ultrasound Max
ˇ Gravis Ultrasound z opcjonalnym próbkowaniem 16-bitowym
ˇ Logitech Sound Man 16
ˇ Logitech SoundMan Games
ˇ Logitech SoundMan Wave
ˇ MAD16 Pro (układy OPTi 82C928, 82C929, 82C930, 82C924)
ˇ Media Vision Jazz16
ˇ MediaTriX AudioTriX Pro
ˇ Microsoft Windows Sound System (MSS/WSS)
ˇ Mozart (OAK OTI-601)
ˇ Orchid SW32
ˇ Personal Sound System (PSS)
ˇ Pro Audio Spectrum 16
ˇ Pro Audio Studio 16
ˇ Pro Sonic 16
ˇ Roland MPU-401 interfejs MIDI
ˇ Sound Blaster 1.0
ˇ Sound Blaster 16
ˇ Sound Blaster 16ASP
ˇ Sound Blaster 2.0
ˇ Sound Blaster AWE32
ˇ Sound Blaster Pro
ˇ TI TM4000M notebook
ˇ ThunderBoard
ˇ Turtle Beach Tropez ("classic", ale nie Plus)
ˇ Turtle Beach Maui
ˇ Yamaha FM synthesizers (OPL2, OPL3 i OPL4)
ˇ 6850 UART interfejs MIDI
Należy zauważyć, że karty Plug and Play (PnP) nie są w pełni
kompatybilne ze starszymi modelami bez PnP tego samego urządzenia. Dla
przykładu, SoundBlaster16 PnP nie jest w pełni zgodna z oryginalną
kartą SoundBlaster16. Podobnie jest w przypadku kart Soundscape PnP i
GUS PnP. Więcej informacji o Plug and Play znajdziesz w dalszej części
tego dokumentu.
Następujące karty _n_i_e _s_ą obsługiwane, z powodu, że są przestarzałe,
bądź dlatego, że producent nie chce udostępnić informacji
programistycznych niezbędnych do napisania sterownika.
ˇ Pro Audio Spectrum (oryginalna)
ˇ Pro Audio Spectrum+
ˇ starsze (oparte o Sierra Aria) karty dźwiękowe firmy Diamond
Inne karty dźwiękowe, które określa się jako kompatybilne z jedną z
obsługiwanych kart dźwiękowych _m_o_g_ą działać, jeśli są zgodne sprzętowo
(tj. na poziomie rejestrów).
Mimo faktu, iż większość kart dźwiękowych tytułuje się mianem
"kompatybilnych z SoundBlaster", bardzo niewiele z obecnie
sprzedawanych kart jest wystarczająco kompatybilnych, aby pracować z
linuxowym sterownikiem karty SoundBlaster. Karty te najczęściej
pracują lepiej pod kontrolą sterownika MSS/WSS lub MAD16. Jedynie
prawdziwe karty SoundBlaster, produkowane przez Creative Labs,
zawierające oryginalne układy (tzn. SoundBlaster16 Vibra), karty MV
Jaz16 i oparte o ESS688/1688 działają dobrze ze sterownikiem
SoundBlaster. Próba użycia ustawienia "16-bitowa karta dźwiękowa
kompatybilna z SoundBlaster Pro" to zazwyczaj tylko strata czasu.
Jądro Linuxa obsługuje port SCSI wbudowany w niektóre karty dźwiękowe
(np. ProAudioSpectrum 16) i firmowy interfejs do niektórych napędów
CD-ROM (np. Soundblaster Pro). Więcej informacji znajdziesz w
dokumentach Linux SCSI HOWTO oraz Linux CDROM HOWTO
Dostępny jest także ładowalny moduł jądra obsługujący porty joysticka
- również te, które znajdują się na niektórych kartach dźwiękowych.
Zauważ, że obsługa SCSI, CD-ROM, joysticka i sterowniki dźwiękowe w
jądrze są od siebie całkowicie niezależne.
Najnowsze informacje o sterowniku kart dźwiękowych znajdziesz na
stronie WWW Hannu Savolainena, której adres wymieniony jest w
rozdziale _Ź_r_ó_d_ł_a _I_n_f_o_r_m_a_c_j_i.
33..22.. DDooddaattkkoowwee SStteerroowwnniikkii DDźźwwiięękkuu
Dostępnych jest też kilka "nieoficjalnych" sterowników dźwięku, nie
włączonych do dystrybucji jądra Linuxa, używanych zamiast
standardowego sterownika dźwięku.
Komercyjną wersję sterownika dźwięku pod Linuxa sprzedaje firma 4Front
Technologies. Oferowana przez nich wersja ma kilka dodatkowych funkcji
w porównaniu ze sterownikiem włączonym do dystrybucji jądra Linuxa.
Więcej informacji na ten temat znajdziesz na stronie WWW 4Front
Technologies.
Markus Mummert (mum@mmk.e-technik.tu-muenchen.de) stworzył pakiet
sterowników do kart Turtle Beach MultiSound (classic), Tahiti i
Monterey. W dokumentacji czytamy:
"Jest on zaprojektowany do wysokiej jakości zapisu/odczytu z
dysku twardego bez utraty synchronizacji nawet na
obciążonych systemach. Inne funkcje, takie jak synteza fal,
MIDI i cyfrowy procesor sygnałowy (DSP) nie mogą być
używane. Nie jest również możliwe jednoczesne odtwarzanie i
nagrywanie. Obecnie zastępuje on VoxWare i był testowany na
kilku wersjach jądra, od 1.0.9 do 1.2.1. Można go również
zainstalować na systemach UN*X SysV386R3.2."
Można je znaleźć pod adresem
.
Kim Burgaard (burgaard@daimi.aau.dk) napisał sterownik i programy
narzędziowe do interfejsu MIDI Roland MPU-401. Opis z mapy
oprogramowania Linuxa jest następujący:
"Sterownik do interfejsów MIDI w pełni zgodnych z Roland
MPU-401 (w tym również Roland SCC-1 i RAP-10/ATW-10). Wraz
ze sterownikiem otrzymujemy użyteczny zestaw programów
narzędziowych, w skład którego wchodzą między innymi odt
warzacz i rejestrator standardowych plików MIDI (Standard
MIDI Files)."
Od czasu wydania wersji 0.11a dokonano licznych ulepszeń.
Między innymi, sterownik zawiera obecnie procedury dzielenia
pracy IRQ i można go skompilować z nowym interfejsem modułów
jądra. Opcja pracy z metronomem, możliwość synchronizowania
np. grafiki na podstawie rytmu bez utraty precyzji, zaawan
sowany interfejs powtarzania/nagrywania/nadpisywania i
wiele, wiele więcej."
Można to znaleźć pod adresem :
.
33..33.. GGłłoośśnniikk PPCC ((PPCC SSppeeaakkeerr))
Dostępny jest sterownik dźwięku, nie wymagający żadnych dodatkowych
urządzeń dźwiękowych; wykorzystuje on wewnętrzny głośnik PC. Jest on w
większości programowo zgodny ze sterownikiem kart dźwiękowych, jednak
jak można się było spodziewać, jakość uzyskiwanego dźwięku jest
znacznie gorsza i procesor jest znacznie bardziej obciążony. Wyniki
bywają różne, zależnie od charakterystyki danego głośnika. Więcej
informacji znajdziesz w dokumentach dołączonych do sterownika głośnika
PC.
Bieżąca wersja to 0.9b i można ją zdobyć pod adresem
33..44.. PPoorrtt RRóówwnnoolleeggłłyy
Innym wyjściem jest skonstruowanie konwertera cyfrowo-analogowego w
oparciu o równoległy port drukarki i kilka dodatkowych komponentów.
Jakość dźwięku w tym przypadku jest lepsza niż na głośniku PC, ale
nadal sterownik konsumuje dużo czasu procesora. Wskazówki dotyczące
budowy takiego konwertera, oraz odpowiedni sterownik zawiera wcześniej
wspomniany pakiet sterujący do głośnika PC.
44.. IInnssttaallaaccjjaa
Konfiguracja obsługi dźwięku przez Linuxa sprowadza się do
następujących kroków:
1. Instalacja karty dźwiękowej.
2. Konfiguracja i kompilacja jądra z obsługą dźwięku.
3. Stworzenie plików urządzeń.
4. Przeładowanie jądra Linuxa i testowanie ustawień.
Następne rozdziały szczegółowo opisują każdy z tych kroków.
44..11.. IInnssttaallaaccjjaa KKaarrttyy DDźźwwiięękkoowweejj
Postąp zgodnie ze wskazówkami producenta odnośnie instalacji sprzętu,
lub zleć instalację dostawcy twojego komputera.
Starsze karty dźwiękowe mają zazwyczaj przełączniki lub jumpery
pozwalające dobrać ustawienia IRQ, kanałów DMA, itd.; zapisz sobie
wartości, które ustawisz. Jeśli nie masz pewności, wykorzystaj
ustawienia fabryczne. W miarę możliwości próbuj unikać konfliktów
karty z innymi urządzeniami (np. kartami ethernet, kontrolerami SCSI,
portami szeregowymi i równoległymi).
Zazwyczaj powinieneś używać te same ustawienia portu I/O, IRQ i DMA,
które działają pod DOSem. Jednak w niektórych przypadkach (szczególnie
przy kartach PnP) dla poprawnego działania karty pod Linuxem
ustawienia będą musiały być inne. Może się przydać metoda
doświadczalna.
44..22.. KKoonnffiigguurroowwaanniiee jjąąddrraa
Przy wstępnej instalacji Linuxa prawdopodobnie użyłeś jądra
prekompilowanego. Jądra te zazwyczaj nie zawierają obsługi dźwięku.
Najlepiej przekompilować jądro samemu z takimi sterownikami, jakie są
Ci potrzebne. Możesz również chcieć przekompilować jądro aby
uaktualnić je do nowszej wersji lub aby zwolnić nieco pamięci przez
zminimalizowanie jego rozmiarów.
Szczegóły odnośnie kompilacji jądra znajdziesz w Linux Kernel HOWTO
po polsku (lub w
oryginale Linux Kernel HOWTO ). Wspomnę tutaj tylko o kilku kwestiach specyficznych dla
kart dźwiękowych.
Jeśli nigdy wcześniej nie konfigurowałeś obsługi dźwięku w jądrze,
dobrze byłoby, abyś przeczytał _w_s_z_y_s_t_k_i_e dokumenty Readme dołączone do
sterowników dźwięku do jądra, w szczególności informację o konkretnym
typie karty dźwiękowej, której używasz. Następujące pliki informacyjne
można znaleźć w katalogu kodu źródłowego sterownika dźwięku do jądra,
zazwyczaj :
CHANGELOG - opis zmian w poszczególnych wersjach
COPYING - ograniczenia rozprowadzania i prawa autorskie
Readme - najświeższe i najważniejsze informacje
Readme.aedsp16 - informacje o karcie dźwiękowej Audio Excel DSP 16
Readme.cards - uwagi na temat konfigurowania konkretnych kart
Readme.linux - uwagi o instalacji osobnych wersji sterownika dźwięku
Readme.modules - jak skompilować sterownik dźwięku do postaci modułu ładowalnego
Readme.v30 - nowe funkcje w wersji 3.0 sterownika dźwięku
experimental.txt - uwagi o opcjach eksperymantalnych
Postąp zgodnie ze zwykłą procedurą tworzenia jądra. Obecnie dostępne
są trzy interfejsy ułatwiające konfigurowanie jądra. Graficzny
interfejs działający w X11 można wywołać wpisując "make xconfig".
Interfejs oparty o okienkowe menu, wymagający jedynie trybu tekstowego
jest dostępny jako "make menuconfig". Pierwotna metoda, wywoływana
przez "make config", to prosty, tekstowy interfejs.
Szczególnie uważnie należy korzystać z "make xconfig" i "make
menuconfig". Należy dokładnie prześledzić wszystkie pytania Yes/No.
Domyślną odpowiedzią na te pytania jest zawsze 'No' (nie), co nie we
wszystkich przypadkach jest poprawne. W szczególności opcja "/dev/dsp
and /dev/audio support" (CONFIG_AUDIO) powinna zazwyczaj być włączona.
W tym dokumencie przyjąłem założenie, że konfigurować będziesz jądro
metodą tradycyjną "make config" - odpowiadając na kolejne pytania,
chociaż sam proces jest podobny w innych przypadkach.
Są również dwie różne metody konfigurowania dźwięku. Pierwsza to tzw.
"stara" metoda (jedyna dostępna w jądrach przed wersją 2.0.0).
Wykorzystuje ona osobny program konfiguracyjny, będący częścią
sterownika dźwięku. Sposób ten jest skuteczny w przypadku więszości
kart dźwiękowych z wyjątkiem kilku rzadkich modeli, które wymagają
dodatkowych sterowników "niskopoziomowych" (miroSOUND, AWE32 i
AEDSP16).
Druga, "nowa" metoda, jest lepiej zintegrowana z okienkowym systemem
konfiguracji jądra. Nie działa ona w przypadku kart, które wymagają
pliku załadowanego od producenta. Należą do nich karty PSS, SM Wave,
AudioTrix Pro i TurtleBeach Tropez/Maui. Przy tych kartach konieczne
jest użycie starej metody.
"make xconfig" wywołuje zawsze "nową" metodę. Przy "make menuconfig"
możesz wybrać między "starą" i "nową" metodą w okienku konfiguracji
dźwięku. Jeśli natomiast używasz "make config", domyślnie wybierana
jest "stara" metoda. Jednak jeśli już raz skorzystałeś z "nowej"
metody, będzie ona również używana przez "make config". Przełączyć się
do "starej" metody możesz wówczas przez uruchomienie "make menuconfig"
i wybranie jej w menu.
Zalecany sposób to użycie "make menuconfig" w połączeniu ze "starą"
metodą. Wiele problemów konfiguracji dźwięku powstaje (przynajmniej
częściowo) z powodu niepoprawnego użycia "nowej" metody.
Możliwe jest również skompilowanie sterownika dźwięku do postaci
ładowalnego modułu jądra. Na początek zalecam wkompilowanie sterownika
do rezydentnej części jądra. Z chwilą, gdy już zostanie przetestowany
i działa poprawnie, możesz spróbować opcję modułu.
Po uruchomieniu make config, włącz obsługę dźwięku odpowiadając "y" na
pytanie:
Sound card support (CONFIG_SOUND) [M/n/y/?]
Po zakończeniu pytań konfiguracyjnych skompilowany i uruchomiony
zostanie program konfiguracji dźwięku, który następnie wypyta cię o
pożądane opcje dotyczące kart dźwiękowych. Odpowiadaj na te pytania
ostrożnie, nieprawidłowa odpowiedź może spowodować, że pewne dalsze
pytania w ogóle nie zostaną zadane. Dla przykładu, nie odpowiadaj
"yes" na pierwsze pytanie (PAS16) jeśli rzeczywiście nie masz PAS16.
Nie włączaj większej ilości kart niż faktycznie potrzebujesz obsłużyć,
gdyż jedynie zajmuje to pamięć. Dodatkowo, niektóre sterowniki (jak
MPU-401) mogą kłócić się z kontrolerem SCSI i uniemożliwiać ładowanie
jądra.
Wymieniam poniżej opisy poszczególnych opcji konfiguracji. Odpowiedz
"y" (tak) lub "n" (nie) na każde pytanie. Pokazywana jest odpowiedź
domyślna, więc "Y/n/?" oznacza domyślnie "y", a "N/y/?" oznacza, że
domyślnym ustawieniem jest "n". Aby użyć ustawienie domyślne po prostu
naciśnij Enter, ale pamiętaj, że wartość ta niekoniecznie jest
poprawna.
Wpisując znak zapytania ("?") otrzymasz krótką informację opisującą
daną opcję konfiguracji.
Zauważ również, że nie wszystkie pytania muszą uzyskać odpowiedź.
Program konfiguracyjny może wyłączyć pewne pytania zależnie od
wcześniejszych odpowiedzi. Może również wybierać pewne opcje
automatycznie.
OOlldd ccoonnffiigguurraattiioonn eexxiissttss iinn //eettcc//ssoouunnddccoonnff.. UUssee iitt [[YY//nn//??]]
_(_W _/_e_t_c_/_s_o_u_n_d_c_o_n_f _z_n_a_l_e_z_i_o_n_o _p_o_p_r_z_e_d_n_i_ą _k_o_n_f_i_g_u_r_a_c_j_ę_. _U_ż_y_ć _j_ą
_[_Y_/_n_/_?_]_)" Jeśli wcześniej kompilowałeś jądro z obsługą dźwięku,
mogą być zapisane ustawienia poprzedniej konfiguracji. Jeśli
chcesz użyć poprzednio wybrane opcje, odpowiedz "y". Jeśli
chcesz spróbować innej konfiguracji lub uaktualniłeś jądro do
nowszej wersji, powinieneś odpowiedzieć "n" i przejść przez
procedurę konfiguracji.
PPrrooAAuuddiiooSSppeeccttrruumm 1166 ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _P_r_o_A_u_d_i_o_S_p_e_c_t_r_u_m _1_6 _[_Y_/_n_/_?_]_)" Odpowiedz "y" _t_y_l_k_o
jeśli masz kartę Pro Audio Spectrum _1_6, ProAudio Studio 16 lub
Logitech SoundMan 16. Nie odpowiadaj "y" jeśli masz jakąś inną
kartę firmy Media Vision lub Logitech, gdyż nie są one
kompatybilne z PAS16.
SSoouunnddBBllaasstteerr ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _k_a_r_t _S_o_u_n_d_B_l_a_s_t_e_r _[_Y_/_n_/_?_]_)" Odpowiedz "y" jeśli masz
oryginalną kartę SoundBlaster produkcji Creative Labs, lub klon
w 100% kompatybilny (jak np. Thunderboard lub SM Games). Jeśli
twoja karta jest na liście obsługiwanych kart, zerknij na
instrukcje do tej konkretnej karty zawarte w pliku Readme.cards
zanim odpowiesz na to pytanie. Przy nieznanych kartach możesz
odpowiedzieć "y" jeśli w opisie dostarczonym z kartą
stwierdzono, że jest kompatybilna z SoundBlasterem.
GGrraavviiss UUllttrraassoouunndd ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _G_r_a_v_i_s _U_l_t_r_a_s_o_u_n_d _[_Y_/_n_/_?_]_)" Odpowiedz "y" jeśli masz
kartę GUS lub GUS MAX. Odpowiedz "n" gdy ich nie masz, ponieważ
sterownik zżera sporo pamięci.
MMPPUU--440011 ssuuppppoorrtt ((NNOOTT ffoorr SSBB1166)) [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _M_P_U_-_4_0_1 _(_N_I_E _d_o_t_y_c_z_y _S_B_1_6_) _[_Y_/_n_/_?_]_)" Bądź ostrożny z
tym pytaniem. Interfejs MPU-401 jest obsługiwany przez prawie
wszystkie karty dźwiękowe. Jednakże, pewne obsługiwane przez
Linuxa karty mają własne sterowniki do MPU-401. Włączenie opcji
MPU-401 dla tych kart wywoła konflikty. Trochę kłopotów
spowodować może również włączenie opcji MPU-401 dla sprzętu,
który tak naprawdę nie ma MPU-401. Jeśli twoja karta znalazła
się na liście obsługiwanego sprzętu, przeczytaj informacje
dotyczące tej konkretnej karty w pliku Readme.cards. Bezpiecznie
jest odpowiedzieć "y" jeśli masz prawdziwą kartę interfejsu MIDI
MPU-401.
66885500 UUAARRTT MMiiddii ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _M_I_D_I _6_8_5_0 _U_A_R_T _[_Y_/_n_/_?_]_)" Bezpiecznie jest
odpowiedzieć "n" na to pytanie we wszystkich przypadkach.
Interfejs 6850 UART używany jest bardzo rzadko.
PPSSSS ((EECCHHOO--AADDII22111111)) ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _P_S_S _(_E_C_H_O_-_A_D_I_2_1_1_1_) _[_Y_/_n_/_?_]_)" Odpowiedz "y" tylko jeśli
masz karty Orchid SW32, Cardinal DSP16 lub jakieś inne oparte na
układzie PSS (AD1848 codec + kość ADSP-2115 DSP + kość Echo
ESC614 ASIC).
1166 bbiitt ssaammpplliinngg ooppttiioonn ooff GGUUSS ((_n_o_t GGUUSS MMAAXX)) [[YY//nn//??]]
_(_O_p_c_j_a _1_6_-_b_i_t_o_w_e_g_o _p_r_ó_b_k_o_w_a_n_i_a _w _G_U_S _(_n_i_e _d_o_t_y_c_z_y _G_U_S _M_A_X_)
_[_Y_/_n_/_?_]_)" Odpowiedz "y" jeśli masz zainstalowaną 16-bitową
kartę siostrzaną na swojej karcie GUS. Odpowiedz "n" jeśli masz
kartę GUS MAX. Odpowiedź "y" przy tej opcji powoduje wyłączenie
obsługi GUS MAX.
GGUUSS MMAAXX ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _G_U_S _M_A_X _[_Y_/_n_/_?_]_)" Odpowiedz "y" tylko jeśli masz kartę
GUS MAX.
MMiiccrroossoofftt SSoouunndd SSyysstteemm ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _M_i_c_r_o_s_o_f_t _S_o_u_n_d _S_y_s_t_e_m _[_Y_/_n_/_?_]_)" Ponownie, pomyśl
dobrze, zanim odpowiesz tutaj "y". Bezpiecznie jest wybrać "y"
jeśli masz oryginalną kartę Windows Sound System wyprodukowaną
przez Microsoft, lub kartę Aztech SG 16 Pro (lub NX16 Pro).
Możesz również odpowiedzieć "y" jeśli twoja karta nie była
wymieniona wcześniej w tym dokumencie. Przy kartach
obsługiwanych przez VoxWare, przejrzyj instrukcje do konkretnej
karty w pliku Readme.cards. Niektóre karty mają własną obsługę
MSS i w ich przypadku włączenie tej opcji wywoła konflikty.
EEnnssoonniiqq SSoouunnddssccaappee ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _k_a_r_t _E_n_s_o_n_i_q _S_o_u_n_d_s_c_a_p_e _[_Y_/_n_/_?_]_)" Odpowiedz "y" jeśli
masz kartę dźwiękowoą opartą na układzie Ensoniq SoundScape.
Takie karty produkowane są co najmniej przez Ensoniq, Spea i
Reveal (Reveal robi także inne karty).
MMeeddiiaaTTrriiXX AAuuddiiooTTrriiXX PPrroo ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _M_e_d_i_a_T_r_i_X _A_u_d_i_o_T_r_i_X _P_r_o _[_Y_/_n_/_?_]_)" Odpowiedz "y" jeśli
masz kartę AudioTriX Pro.
SSuuppppoorrtt ffoorr MMAADD1166 aanndd//oorr MMoozzaarrtt bbaasseedd ccaarrddss??
_(_O_b_s_ł_u_g_a _k_a_r_t _M_A_D_1_6 _i_/_l_u_b _o_p_a_r_t_y_c_h _n_a _u_k_ł_a_d_z_i_e _M_o_z_a_r_t_?_)"
Odpowiedz "y" jeśli twoja karta ma układ interfejsu audio Mozart
(OAK OTI-601) lub MAD16 (OPTi 82C928 or 82C929). Owe układy są
obecnie dość popularne, więc możliwe jest, że wiele kart no-name
ma jeden z nich. Dodatkowo, układ MAD16 montowany jest w
niektórych kartach znanych producentów takich jak Turtle Beach
(Tropez), Reveal (kilka modeli) i Diamond (ostatnie).
SSuuppppoorrtt ffoorr CCrryyssttaall CCSS44223322 bbaasseedd ((PPnnPP)) ccaarrddss [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _k_a_r_t _P_n_p _o_p_a_r_t_y_c_h _n_a _C_r_y_s_t_a_l _C_S_4_2_3_2 _[_Y_/_n_/_?_]_)"
Odpowiedz "y" jeśli masz kartę opartą na układzie Crystal
CS4232.
SSuuppppoorrtt ffoorr TTuurrttllee BBeeaacchh WWaavvee FFrroonntt ((MMaauuii,, TTrrooppeezz)) ssyynntthheessiizzeerrss
[Y/n/?]
_(_O_b_s_ł_u_g_a _T_u_r_t_l_e _B_e_a_c_h _W_a_v_e _F_r_o_n_t _(_M_a_u_i_, _T_r_o_p_e_z_)_)" Odpowiedz "y"
jeśli masz jedną z tych kart.
SSoouunnddBBllaasstteerr PPrroo ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _S_o_u_n_d_B_l_a_s_t_e_r _P_r_o _[_Y_/_n_/_?_]" Włącz tę opcję jeśli masz
kartę SoundBlaster Pro lub SoundBlaster 16. Włącz ją również
jeśli masz jakikolwiek klon SoundBlaster Pro. Odpowiedź "n"
oszczędza trochę pamięci, ale "y" to bezpieczniejsze wyjście.
SSoouunnddBBllaasstteerr 1166 ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _S_o_u_n_d_B_l_a_s_t_e_r _1_6 _[_Y_/_n_/_?_]" Włącz jeśli masz kartę
SoundBlaster 16 (również AWE32).
AAuuddiioo EExxcceell DDSSPP 1166 iinniittiiaalliizzaattiioonn ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _i_n_i_c_j_a_l_i_z_a_c_j_i _A_u_d_i_o _E_x_c_e_l _D_S_P _1_6 _[_Y_/_n_/_?_]_)" Włącz tę
opcję, jeśli masz kartę Audio Excel DSP16. Więcej informacji
znajdziesz w pliku Readme.aedsp16.
Następnie program konfiguracyjny zadaje kilka pytań o serwisy wyższego
poziomu. Zalecana jest odpowiedź "y" na każde z tych pytań. Odpowiadaj
"n" tylko wówczas, gdy jesteś pewien, że nie będziesz danej opcji
potrzebować.
//ddeevv//ddsspp aanndd //ddeevv//aauuddiioo ssuuppppoorrtt ((uussuuaallllyy rreeqquuiirreedd)) [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _/_d_e_v_/_d_s_p _i _/_d_e_v_/_a_u_d_i_o _(_z_a_z_w_y_c_z_a_j _w_y_m_a_g_a_n_a_) _[_Y_/_n_/_?_]_)"
Odpowiedź "n" wyłącza /dev/dsp i /dev/audio, urządzenia
konwerterów A/D i D/A. Odpowiedz "y".
MMIIDDII iinntteerrffaaccee ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _i_n_t_e_r_f_e_j_s_u _M_I_D_I _[_Y_/_n_/_?_]_)" Odpowiedź "n" wyłącza
urządzenia /dev/midixx i dostęp do jakichkolwiej portów MIDI
wykorzystujących /dev/sequencer i /dev/music. Opcja ta również
wpływa na wszystkie urządzenia kompatybilne z MPU-401 i/lub
General MIDI.
FFMM ssyynntthheessiizzeerr ((YYMM33881122//OOPPLL--33)) ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _s_y_n_t_e_z_a_t_o_r_a _F_M _(_Y_M_3_8_1_2_/_O_P_L_-_3_) _[_Y_/_n_/_?_]_)" Odpowiedz na
to pytanie "y".
//ddeevv//sseeqquueenncceerr ssuuppppoorrtt [[YY//nn//??]]
_(_O_b_s_ł_u_g_a _/_d_e_v_/_s_e_q_u_e_n_c_e_r _[_Y_/_n_/_?_]_)" Odpowiedź "n" wyłącza
/dev/sequencer i /dev/music
DDoo yyoouu wwaanntt ssuuppppoorrtt ffoorr tthhee mmiixxeerr ooff SSGG NNXX PPrroo ??
_(_C_z_y _c_h_c_e_s_z _o_b_s_ł_u_g_ę _m_i_x_e_r_a _S_G _N_X _P_r_o_?_)" Odpowiedz "y" jeśli
masz kartę dźwiękową Sound Galaxy NX Pro i życzysz sobie mieć
obsługę jej rozszerzonych funkcji miksowania.
DDoo yyoouu wwaanntt ssuuppppoorrtt ffoorr tthhee MMVV JJaazzzz1166 ((PPrrooSSoonniicc eettcc..)) ??
_(_C_z_y _c_h_c_e_s_z _o_b_s_ł_u_g_ę _M_V _J_a_z_z_1_6 _(_P_r_o_S_o_n_i_c _i_t_d_._)_?_)" Odpowiedz "y"
jeśli masz kartę dźwiękową MV Jazz16.
DDoo yyoouu hhaavvee aa LLooggiitteecchh SSoouunnddMMaann GGaammeess [[YY//nn//??]]
_(_C_z_y _m_a_s_z _k_a_r_t_ę _L_o_g_i_t_e_c_h _S_o_u_n_d_M_a_n _G_a_m_e_s_[_Y_/_n_/_?_]_) " Odpowiedz "y"
jeśli masz kartę dźwiękową Logitech SoundMan Games.
Po zadaniu powyższych pytań program konfiguracyjny pyta o szczegółowe
informacje dotyczące konfiguracji karty. Zazwyczaj chodzi o adresy I/O
i parametry IRQ i DMA. Przy niektórych kartach program pyta o pewne
pliki, które mają być użyte w trakcie instalacji karty. Są one używane
przez karty posiadające układ DSP lub mikroprocesor, który musi być
zainicjalizowany poprzez załadowanie pliku programu (mikrokodu) do
pamięci karty. W niektórych przypadkach plik mikrokodu dopisywany jest
do pliku .h przez program konfiguracyjny, a następnie włączany do
sterownika w trakcie kompilacji. Przeczytaj informacje dotyczące
twojej karty w pliku Readme.cards.
Na końcu zostaniesz zapytany:
The sound driver is now configured.
Save copy of this configuration to /etc/soundconf [Y/n/?]
(Sterownik dźwięku jest teraz skonfigurowany.
Zapisać kopię tej konfiguracji do pliku /etc/soundconf [Y/n/?])
Najczęściej powinieneś wpisać "y" abyś miał możliwość wykorzystanie
tej samej konfiguracji sterownika dźwięku następnym razem przy
kompilacji jądra.
Jeśli uaktualniasz sterownik dźwięku do nowszej wersji, upewnij się,
że pliki /usr/include/sys/soundcard.h i /usr/include/sys/ultrasound.h
są dowiązaniami symbolicznymi do odpowiadających im plików w katalogu
/usr/include/linux, lub że po prostu zawierają wiersze odpowiednio
#include i #include .
Jesteś teraz gotowy do kompilacji i instalacji nowego jądra.
44..33.. TTwwoorrzzeenniiee PPlliikkóóww UUrrzząąddzzeeńń
Dla poprawnego działania urządzeń dźwiękowych, należy stworzyć dla
nich pliki urządzeń. Zazwyczaj tworzone są one automatycznie podczas
instalacji systemu Linux. Można przeprowadzić szybki test przy użyciu
poniższych poleceń. Jeśli wynik jest zgodny z poniższym (różne będą
daty utworzenia plików), prawie na pewno pliki urządzeń dźwiękowych są
ustawione poprawnie.
% ls -l /dev/sdnstat
crw-rw-rw- 1 root root 14, 6 Apr 25 1995 /dev/sndstat
Pamiętaj, że samo posiadanie odpowiednich plików urządzeń niczego
jeszcze nie gwarantuje. Sterownik jądra musi być załadowany lub
wkompilowany zanim urządzenia zaczną pracować (więcej o tym później).
W sporadycznych przypadkach, jeśli przekonany jesteś, że pliki
urządzeń są niepoprawne, możesz je utworzyć ponownie przy użyciu
krótkiego skryptu powłoki zamieszczonego na końcu pliku Readme.linux w
katalogu /usr/src/linux/drivers/sound. Powinieneś powinieneś uruchomić
ten skrypt jako root. Dodatkowo, większość dystrybucji Linuxa zawiera
skrypt /dev/MAKEDEV, który można wykorzystać do tych celów.
Jeśli używasz sterownika dźwięku do głośnika PC, przeczytaj
dokumentację dołączoną do pakietu aby ustalić, czy konieczne jest
stworzenie jakichś plików urządzeń.
44..44.. PPrrzzeełłaaddoowwyywwaanniiee LLiinnuuxxaa ii TTeessttoowwaanniiee IInnssttaallaaccjjii
Powinieneś być teraz gotów do przeładowania nowego jądra i sprawdzenia
sterowników dźwięku. Postąp zgodnie ze swoją zwykłą procedurą
instalacji i przeładowywania jądra (oczywiście trzymaj poprzednie
jądro gdzieś pod ręką na wypadek kłopotów).
Sound initialization started
at 0x220 irq 5 dma 1,5
at 0x330 irq 5 dma 0
at 0x388
Sound initialization complete
Opis powinien pasować do typu twojej karty dźwiękowej i ustawień
przełączników (jeśli takowe są).
Pamiętaj, że powyższy komunikat nie jest wyświetlany, jeśli używasz
ładowalnego modułu jądra (chyba, że to włączysz, np. tak: "insmod
sound trace_init=1").
Jeśli sterownik dźwięku jest wkompilowany w jądro, powinny się pojawić
komunikaty "Sound initialization started" ("Inicjalizacja dźwięku
rozpoczęta") oraz "Sound initialization complete" ("Inicjalizacja
dźwięku zakończona"). W przeciwnym wypadku, jądro nie zawiera
sterownika dźwięku. Powinieneś wówczas sprawdzić, czy rzeczywiście
zainstalowane zostało nowe jądro, które skompilowałeś po włączeniu
obsługi dźwięku.
Jeśli między napisami "Sound initialization started" i "Sound
initialization complete" nie pojawią się żadne wiersze, oznacza to, że
nie wykryte zostały żadne urządzenia dźwiękowe. Najprawdopodobniej nie
masz włączonego odpowiedniego sterownika, karta nie jest obsługiwana,
podałeś zły port I/O lub masz kartę PnP, która nie została
skonfigurowana.
W trakcie ładowania sterownik może również wyświetlać komunikaty o
błędach i ostrzeżenia. Obserwuj je podczas ładowania sterownika po raz
pierwszy po kompilacji.
Następnie powinieneś sprawdzić plik urządzeń /dev/sndstat. Odczytanie
statusu tego pliku powinno udzielić ci dodatkowych informacji o tym,
czy sterownik dźwięku poprawnie rozpoczął pracę. Przykładowy wynik
powinien wyglądać mniej więce tak:
% cat /dev/sndstat
Sound Driver:3.5.4-960630 (Sat Jan 4 23:56:57 EST 1997 root,
Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586)
Kernel: Linux fizzbin 2.0.27 #48 Thu Dec 5 18:24:45 EST 1996 i586
Config options: 0
Installed drivers:
Type 1: OPL-2/OPL-3 FM
Type 2: Sound Blaster
Type 7: SB MPU-401
Card config:
Sound Blaster at 0x220 irq 5 drq 1,5
SB MPU-401 at 0x330 irq 5 drq 0
OPL-2/OPL-3 FM at 0x388 drq 0
Audio devices:
0: Sound Blaster 16 (4.13)
Synth devices:
0: Yamaha OPL-3
Midi devices:
0: Sound Blaster 16
Timers:
0: System clock
Mixers:
0: Sound Blaster
Powyższe polecenie może wywołać kilka komunikatów błędu. "No such file
or directory" ("Nie ma takiego pliku lub katalogu") oznacza, że musisz
stworzyć pliki urządzeń (patrz rozdział 4.3). "No such device" ("Nie
ma takiego urządzenia") oznacza, że sterownik dźwięku nie jest
dołączony lub załadowany do jądra. Cofnij się do rozdziału 4.2 aby to
poprawić.
Jeśli wiersze w sekcji "Card config:" ("Konfiguracja karty:")
/dev/sndstat są wyświetlone w nawiasach (jak np. "(SoundBlaster at
0x220 irq 5 drq 1,5)"), oznacza to, że urządzenie to zostało
skonfigurowane, ale nie wykryte.
Powinieneś teraz móc odtworzyć prosty plik dźwiękowy. Zdobądź
przykładowy plik dźwiękowy i wyślij go do urządzenia dźwiękowego, tzn.
% cat endoftheworld >/dev/dsp
% cat crash.au >/dev/audio
(Upewnij się, że nie pomijasz ">" w powyższym poleceniu).
Pamiętaj jednak, że używanie cat nie jest, ogólnie rzecz biorąc,
poprawną metodą odtwarzania plików dźwiękowych, to tylko szybki test.
Na pewno przyda ci się stosowny program odtwarzający dźwięk (opisane
później), który zrobi to lepiej.
Polecenie to zadziała tylko jeśli na liście urządzeń dźwiękowych w
pliku /dev/sndstat masz co najmniej jedno urządzenie. Jeśli część
wymieniająca urządzenia dźwiękowe jest pusta, powinieneś sprawdzić,
dlaczego urządzenie nie zostało wykryte.
Jeśli powyższe polecenie zwróci "I/O error" ("Błąd wejścia/wyjścia"),
powinieneś zerknąć na końcówkę komunikatów jądra przy użyciu polecenia
"dmesg". Prawdopodobne jest, że znajdziesz tam komunikat o błędzie
"Sound: DMA (output) timed out - IRQ/DRQ config error?" (Dźwięk: DMA
(wyjście) przekroczenie limitu czasowego - błąd konfiguracji
IRQ/DRQ?"). Powyższy komunikat oznacza, że sterownik nie uzyskał
oczekiwanego przerwania od karty dźwiękowej. W większości przypadków
oznacza to, że IRQ lub kanał DMA ustawione w sterowniku nie działają.
Najlepszą metodą ich uruchomienia jest spróbowanie wszystkich
możliwych kanałów DMA i numerów IRQ obsługiwanych przez urządzenie.
Inną możliwą przyczyną jest fakt, że urządzenie nie jest kompatybilne
z urządzeniem, dla którego skonfigurowany jest sterownik dźwięku.
Najczęściej tak jest np. gdy karta teoretycznie "kompatybilna z
SoundBlaster (Pro/16)" nie działa ze sterownikiem SoundBlaster. W tym
przypadku powinieneś spróbować dowiedzieć się, z jakim urządzeniem
twoja karta jest kompatybilna (np. wysyłając pytanie do grupy
dyskusyjnej comp.os.linux.hardware).
Kilka próbnych plików dźwiękowych znaleźć można pod adresem
Możesz teraz sprawdzić nagrywanie dźwięku. Jeśli masz możliwość
nagrywania, przeprowadź szybki test używając poleceń typu:
# nagranie 4 sekund dźwięku z mikrofonu
EDT% dd bs=8k count=4 sample.au
4+0 records in
4+0 records out
# odtworzenie dźwięku
% cat sample.au >/dev/audio
Oczywiście, aby to zadziałało, musisz mieć mikrofon podłączony do
karty dźwiękowej i powinieneś do niego coś powiedzieć. Możesz również
potrzebować program miksujący aby ustawić mikrofon jako urządzenie
wejściowe i dostosować poziom nagrywania.
Jeśli przejdziesz przez te testy, możesz być dosyć pewny, że sprzęt i
oprogramowanie konwersji dźwięku D/A i A/D działają poprawnie. Jeśli
napotkasz problemy, zerknij do następnego rozdziału tego dokumentu.
44..55.. UUssuuwwaanniiee bbłłęęddóóww
Jeśli nadal masz problemy mimo postąpienia zgodnie z instrukcjami w
tym dokumencie, oto kilka rzeczy, które powinieneś sprawdzić. Testy są
uszeregowane względem rosnącego stopnia złożoności. Jeśli test się nie
powiedzie, usuń problem zanim przejdziesz do następnego etapu.
44..55..11.. KKrrookk 11:: UUppeewwnniijj ssiięę,, żżee rrzzeecczzyywwiiśścciiee uurruucchhoommiiłłeeśś jjąąddrroo,, kkttóórree
sskkoommppiilloowwaałłeeśś..
Możesz zerknąć na datę i czas utworzenia pliku jądra aby sprawdzić,
czy uruchomione jest to, w które wkompilowałeś obsługę dźwięku. Możesz
to zrobić za pomocą polecenia uname:
% uname -a
Linux fizzbin 2.0.0 #1 Tue Jun 4 16:57:55 EDT 1996 i386
lub wyświetlając zawartość pliku /proc/version
% cat /proc/version
Linux version 2.0.0 (root@fizzbin) (gcc version 2.7.0) #1 Tue Jun 4 16:57:55 EDT 1996
Jeśli data i czas nie zgadzają się z momentem, w którym kompilowałeś
jądro, uruchomione jest starsze jądro. Czy rzeczywiście przeładowałeś
system? Jeśli używasz LILO, czy przeinstalowałeś je (zazwyczaj
poprzez uruchomienie /etc/lilo/install)? Jeśli ładujesz system z
dyskietki, czy stworzyłeś nową dyskietkę startową i użyłeś jej do
załadowania systemu?
44..55..22.. KKrrookk 22:: UUppeewwnniijj ssiięę,, żżee sstteerroowwnniikkii ddźźwwiięękkuu wwkkoommppiilloowwaannee ssąą ww
jjąąddrroo..
Najprostszą metodą jest sprawdzenie zawartości "/dev/sndstat", jak to
opisano wcześniej. Jeśli zawartość nie jest taka, jakiej się
spodziewamy, coś musiało pójść nie tak w trakcie konfigurowania lub
kompilacji jądra. Rozpocznij ponownie proces instalacji, począwszy od
konfiguracji i kompilacji jądra.
44..55..33.. KKrrookk 33:: CCzzyy jjąąddrroo wwyykkrryyłłoo kkaarrttęę ddźźwwiięękkoowwąą ww ttrraakkcciiee łłaaddoowwaanniiaa??
Upewnij się, że karta dźwiękowa została wykryta w trakcie
przeładowywania systemu. Powinieneś zobaczyć komunikat ładowania.
Jeśli komunikaty przewinęły się za szybko poza krawędź ekranu, możesz
je zazwyczaj przywołać przy użyciu polecenia dmesg:
% dmesg
lub
% tail /var/adm/messages
Jeśli karta nie została znaleziona, coś poszło niepomyślnie. Upewnij
się, że jest rzeczywiście zainstalowana. Jeśli karta pracuje pod DOS,
możesz być dosyć pewny, że sprzęt działa poprawnie, więc
najprawdopopdobniej jest jakiś problem z konfiguracją jądra. Albo
wkompilowałeś zły typ karty lub złe parametry, albo twoja karta nie
jest kompatybilna z żadnym ze sterowników dźwięku do jądra Linuxa.
Jest także możliwe, że twoja karta dźwiękowa jest jednym z tych
"kompatybilnych" modeli, które wymagają inicjalizacji przez sterownik
pod DOS. Spróbuj załadować DOS, a następnie sterownik dostarczony
przez producenta karty. Następnie załaduj Linuxa używająć miękkiego
przeładowania przez Control-Alt-Delete. Upewnij się, że ustawienia
portu I/O karty, DMA i IRQ są takie same, jak użyte pod DOS. Wskazówki
na temat konfigurowania danego typu karty znajdziesz w pliku
Readme.cards.
Jeśli twoja karta dźwiękowa nie jest wymieniona w tym dokumencie,
możliwe jest, że sterowniki Linuxa jej nie obsługują. Aby się
skonsultować w tej sprawie, możesz sprawdzić kilka odnośników
zamieszczonych na końcu tego dokumentu.
44..55..44.. KKrrookk 44:: CCzzyy mmoożżeesszz ppoobbiieerraaćć ddaannee zz uurrzząąddzzeenniiaa ddsspp??
Spróbuj odczytać coś z urządzenia /dev/audio przy użyciu programu dd
wymienionego wcześniej w tym dokumencie. Polecenie powinno działać
bezbłędnie.
Jeśli nie działa, są szanse, że problem polega na konflikcie IRQ lub
DMA lub niekompatybilności jakiegoś rodzaju sprzętu (urządzenie nie
jest obsługiwane przez Linuxa lub sterownik jest skonfigurowany dla
innego urządzenia)
Daleka ewentualność to wadliwy sprzęt. Jeśli to możliwe, przetestuj
kartę pod DOSem, aby się upewnić.
44..55..55.. JJeeśśllii WWsszzyyssttkkoo IInnnnee ZZaawwiieeddzziiee
Jeśli nadal masz problemy, oto kilka ostatecznych sugestii, co możesz
jeszcze sprawdzić:
ˇ dokładnie przeczytaj ponownie ten dokument HOWTO
ˇ przeczytaj dokumenty źródłowe, wymienione na końcu tego dokumentu,
w szczególności strony WWW Hannu Savolainena i stosowne pliki
Readme dołączone do kodów źródłowych jądra Linuxa
ˇ wyślij pytanie do jednej z grup dyskusyjnych comp.os.linux lub
innych (dobry wybór to comp.os.linux.hardware; z powodu dużego
ruchu w tych grupach, dobrze jest umieszczać słowo "sound"
("dźwięk") w temacie wysyłanego artykułu, aby eksperci mogli łatwo
to zauważyć)
ˇ użycie przeszukiwarki WWW/Usenetu z inteligentinie dobranymi
kryteriami przeszukiwania może szybko przynieść bardzo dobre
wyniki. Jednym z takich wyjść jest .
ˇ spróbuj użyć najświeższe jądro Linuxa (ale jedynie w ostateczności,
ostatnie jądra "rozwojowe" (development) mogą być niestabilne).
ˇ wyślij pocztę do autora sterownika dźwięku
ˇ wyślij pocztę do autora Sound HOWTO
ˇ odpal emacsa i wpisz Esc-x doctor :-)
55.. PPrrooggrraammyy OObbssłłuugguujjąąccee DDźźwwiięękk
Podaję tutaj przykładowe typy programów, które mogłyby ci się przydać,
jeśli masz kartę dźwiękową pod Linuxem. Aby znaleźć więcej bieżących
informacji, możesz sprawdzić Mapę Oprogramowania na Linuxa (Linux
Software Map), archiwa internetowe i/lub pliki na krążku z dystrybucją
Linuxa.
Jako minimum, z pewnością będziesz potrzebować następujące programy
obsługujące dźwięk:
ˇ program do konwersji formatów plików dźwiękowych (np. Sox)
ˇ program miksujący (mikser) (np. aumix lub xmix)
ˇ odtwarzacz/rejestrator plików dźwiękowych (np. play lub wavplay)
ˇ odtwarzacz plików MOD (np. tracker)
ˇ odtwarzacz plików MIDI (np. playmidi)
W przypadku większości z powyższych programów, istnieją zarówno wersje
tekstowe, jak i wzbogacone o interfejs użytkownika. Istnieją również
bardziej ezoteryczne programy (np. synteza i rozpoznawanie mowy),
które mogłbyś zechcieć spróbować.
66.. OOddppoowwiieeddzzii NNaa CCzzęęssttoo ZZaaddaawwaannee PPyyttaanniiaa
W tym rozdziale udzielono odpowiedzi na niektóre pytania spośród
często zadawanych w pocztowych grupach dyskusyjnych i grupach Usenetu.
Odpowiedzi na więcej pytań można również znaleźć na stronie WWW
sterownika dźwięku OSS.
66..11.. CCzzyymm ssąą rróóżżnnee pplliikkii uurrzząąddzzeeńń ddźźwwiięękkoowwyycchh??
Są to najbardziej "typowe" nazwy plików urządzeń, niektóre dystrybucje
używają nieco innych nazw.
//ddeevv//aauuddiioo
zazwyczaj dowiązanie do /dev/audio0
//ddeevv//aauuddiioo00
urządzenie dźwiękowe, kompatybilne ze stacjami roboczymi Sun
(tylko częściowa implementacja, nie obsługuje interfejsu ioctl
Sun, tylko kodowanie u-law)
//ddeevv//aauuddiioo11
drugie urządzenie dźwiękowe (jeśli jest obsługiwane przez kartę
dźwiękową lub jeśli masz więcej zainstaowanych kart niż jedną)
//ddeevv//ddsspp
zazwyczaj dowiązanie do /dev/dsp0
//ddeevv//ddsspp00
pierwsze urządzenie cyfrowego próbkowania
//ddeevv//ddsspp11
drugie urządzenie cyfrowego próbkowania
//ddeevv//mmiixxeerr
zazwyczaj dowiązanie do /dev/mixer0
//ddeevv//mmiixxeerr00
pierwszy mikser dźwięku
//ddeevv//mmiixxeerr11
drugi mikser dźwięku
//ddeevv//mmuussiicc
interfejs wysokiego poziomu sequencera
//ddeevv//sseeqquueenncceerr
niskopoziomowy dostęp do MIDI, FM, i GUS
//ddeevv//sseeqquueenncceerr22
zazwyczaj dowiązanie do /dev/music
//ddeevv//mmiiddii0000
pierwszy surowy port MIDI
//ddeevv//mmiiddii0011
drugi surowy port MIDI
//ddeevv//mmiiddii0022
trzeci surowy port MIDI
//ddeevv//mmiiddii0033
czwarty surowy port MIDI
//ddeevv//ssnnddssttaatt
wyświetla status sterownika dźwięku jeśli przeczytany
Sterownik głośnika PC udostępnia następujące urządzenia:
//ddeevv//ppccaauuddiioo
odpowiednik /dev/audio
//ddeevv//ppccsspp
odpowiednik /dev/dsp
//ddeevv//ppccmmiixxeerr
odpowiednik /dev/mixer
66..22.. JJaakk mmooggęę ooddttwwoorrzzyyćć pprróóbbkkęę ddźźwwiięękkoowwąą??
Pliki dźwiękowe stacji roboczych Sun (.au) można odtworzyć wysyłając
je do urządzenia /dev/audio. Surowe próbki (pliki raw) można wysłać do
/dev/dsp. Jednak zazwyczaj przyniesie to kiepskie efekty i lepiej jest
używać program taki jak play, ponieważ rozpoznaje on większość typów
plików i ustawia odpowiednią częstotliwość próbkowania i inne
parametry na karcie.
Programy takie jak wavplay lub vplay (w pakiecie snd-util) dadzą
najlepsze rezultaty z plikami WAV. Jednakże nie rozpoznają one plików
WAV skompresowanych metodą Microsoft ADPCM. Starsze wersje programu
play (z pakietu Lsox) nie działają również zbyt dobrze z 16-bitowymi
plikami WAV.
Polecenie splay wchodzące w skład pakietu snd-util może być używane do
odtwarzania większości plików dźwiękowych jeśli odpowiednie parametry
podasz ręcznie w wierszu polecenia.
66..33.. JJaakk mmooggęę nnaaggrraaćć pprróóbbkkęę??
Odczyt /dev/audio lub /dev/dsp zwróci próbkowane dane, które można
przekierować do pliku. Program taki jak vrec ułatwia kontrolowanie
częstotliwości próbkowania, czas nagrania, itp. Może ci się również
przydać programowy mikser do wybierania stosownego urządzenia
wejściowego.
66..44.. CCzzyy mmooggęę mmiieećć wwiięęcceejj nniiżż jjeeddnnąą kkaarrttęę ddźźwwiięękkoowwąą??
Przy obecnym sterowniku dźwięku jest możliwe posiadanie kilku kart
SoundBlaster, SoundBlaster/Pro, SoundBlaster16, MPU-401 lub MSS
jednocześnie w tym samym komputerze. Instalacja dwóch SoundBlasterów
jest możliwa, ale wymaga zdefiniowania makr SB2_BASE, SB2_IRQ, SB2_DMA
oraz (w niektórych przypadkach) SB2_DMA2 przez ręczną edycję pliku
local.h. Możliwe jest również posiadanie karty SoundBlaster
jednocześnie z PAS16.
Następujące sterowniki nie zezwalają na posiadanie wielokrotnych
urządzeń:
ˇ GUS (ograniczenie sterownika)
ˇ MAD16 (ograniczenie sprzętowe)
ˇ AudioTrix Pro (ograniczenie sprzętowe)
ˇ CS4232 (ograniczenie sprzętowe)
66..55.. BBłłąądd uurrzząąddzzeeńń ddźźwwiięękkoowwyycchh ""NNoo ssuucchh ffiillee oorr ddiirreeccttoorryy""
_(_B_ł_ą_d_: _N_i_e _z_n_a_l_e_z_i_o_n_o _p_l_i_k_u _l_u_b _k_a_t_a_l_o_g_u_)
Musisz stworzyć pliki urządzeń dźwiękowych. Przeczytaj rozdział o
tworzeniu plików urządzeń. Jeśli masz pliki urządzeń, upewnij się, że
mają poprawne liczby główną i poboczną (niektóre starsze dystrybucje
Linuxa na CD-ROM nie tworzą odpowiednich plików urządzeń przy
instalacji).
66..66.. BBłłąądd uurrzząąddzzeeńń ddźźwwiięękkoowwyycchh ""NNoo ssuucchh ddeevviiccee""
_(_B_ł_ą_d_: _N_i_e _z_n_a_l_e_z_i_o_n_o _u_r_z_ą_d_z_e_n_i_a_)
Nie przeładowałeś jądra zawierającego sterownik dźwięku lub adres I/O
nie odpowiada twojemu sprzętowi. Sprawdź, czy uruchomione jest świeżo
skompilowane jądro i upewnij się, że ustawienia wpisane w trakcie
konfigurowania sterownika odpowiadają charakterystyce sprzętu.
66..77.. BBłłąądd uurrzząąddzzeeńń ddźźwwiięękkoowwyycchh ""NNoo ssppaaccee lleefftt oonn ddeevviiccee""
_(_B_ł_ą_d_: _B_r_a_k _w_o_l_n_e_j _p_r_z_e_s_t_r_z_e_n_i _n_a _u_r_z_ą_d_z_e_n_i_u_)
Może się to zdarzyć jeśli próbowałeś nagrywać dane na /dev/audio lub
/dev/dsp bez stworzenia niezbędnego pliku urządzeń. Urządzenie
dźwiękowe jest teraz zwykłym plikim, który wypełnił twoją partycję.
Powinieneś uruchomić skrypt opisany w rozdziale _T_w_o_r_z_e_n_i_e _P_l_i_k_ó_w
_U_r_z_ą_d_z_e_ń niniejszego dokumentu.
Może się to również przytrafiać przy jądrach Linuxa 2.0 i późniejszych
jeśli nie ma wystarczającej ilości wolnej pamięci RAM w momencie, gdy
zaczynamy używać urządzenie. Sterownik dźwięku wymaga co najmniej
dwóch stron (8k) fizycznie ciągłej przestrzeni RAM dla każdego kanału
DMA. Zdarza się to czasami na komputerach z mniej niż 16M pamięci RAM,
lub działających przez bardzo długi czas. Możliwe jest zwolnienie
nieco pamięci RAM przez skompilowanie i uruchomienie następującego
programu w języku C przed ponowną próbą skorzystania z urządzenia.
main() {
int i;
char mem[500000];
for (i = 0; i < 500000; i++)
mem[i] = 0;
exit(0);
}
66..88.. BBłłąądd uurrzząąddzzeeńń ddźźwwiięękkoowwyycchh ""DDeevviiccee bbuussyy""
_(_B_ł_ą_d_: _U_r_z_ą_d_z_e_n_i_e _z_a_j_ę_t_e_)
Tylko jeden proces może korzystać z danego urządzenienia dźwiękowego w
danym momencie. Najprawdopodobniej jakiś inny proces korzysta z
urządzenia, z którym mamy problem. Jedną z metod sprawdzenia tego jest
użycie polecenia fuser:
% fuser -v /dev/dsp
/dev/dsp: USER PID ACCESS COMMAND
tranter 265 f.... tracker
W powyższym przykładzie, polecenie fuser wykazało, że proces 265
korzysta z urządzenia. Usunięcie procesu lub poczekanie aż się skończy
umożliwi ponwne korzystanie z urządzenia.
66..99.. NNaaddaall ppoojjaawwiiaajjąą ssiięę bbłłęęddyy ""uurrzząąddzzeenniiee zzaajjęęttee""!!
Zdaniem Briana Gough, przy kartach SoundBlaster używających 1 kanału
DMA istnieje potencjalny konflikt ze sterownikiem napędów taśmowych
QIC-02, który również korzysta z DMA 1, co wywołuje błędy "device
busy" (urządzenie zajęte). Zgodnie z FTAPE-HOWTO sterownik QIC-02 nie
jest niezbędny aby używać FTAPE; wymagany jest jedynie sterownik
QIC-117. Przekonfigurowanie jądra aby używało sterownika QIC-117
zamiast QIC-02 umożliwi koegzystencję FTAPE i sterownika dźwięku.
66..1100.. NNiieeppeełłnnee ooddttwwaarrzzaanniiee pplliikkuu zz ddźźwwiięękkiieemm ccyyffrroowwyymm
Symptom polega zawyczaj na tym, że próbka jest odgrywana przez mniej
więcej sekundę, a następnie zatrzymuje się lub wyświetlany jest
komunikat "missing IRQ" (brak IRQ) lub "DMA timeout" (przekroczenie
limitu czasowego DMA). Najprawdopodobniej masz niepoprawnie ustawione
parametry IRQ i DMA. Sprawdź, czy konfiguracja jądra odpowiada
ustawieniom na przełącznikach karty i że nie kłócą się one z jakąś
inną kartą.
Innym objawem są próbki dźwiękowe, które się "zapętlają". Jest to
zazwyczaj spowodowane konfliktem IRQ.
66..1111.. WW ttrraakkcciiee ooddttwwaarrzzaanniiaa pplliikkóóww MMOODD ppoojjaawwiiaajjąą ssiięę pprrzzeerrwwyy
Odtwarzanie plików MOD wymaga dość znacznej pracy procesora. Być może
masz zbyt wiele działających procesów lub twój komputer jest zbyt
wolny, aby odtwarzać w czasie rzeczywistym. Masz następujące
możliwości:
ˇ spróbuj odtwarzać je przy niższej częstotliwości próbkowania lub w
trybie monofonicznym
ˇ wyeliminuj inne procesy
ˇ kup szybszy komputer
ˇ kup silniejszą kartę dźwiękową (np. Gravis UltraSound)
Jeśli masz kartę Gravis UltraSound, powinieneś używać jednego z
programów do odtwarzania plików MOD, napisanych specjalnie dla karty
GUS (np. gmof).
66..1122.. BBłłęęddyy pprrzzyy kkoommppiillaaccjjii pprrooggrraammóóww ddźźwwiięękkoowwyycchh
Wersja 1.0c i wcześniejsze sterownika dźwięku wykorzystywały inny i
niekompatybilny schemat ioctl(). Zdobądź nowsze kody źródłowe lub
nanieś niezbędne poprawki aby przystosować dany program do nowego
sterownika dźwięku. Więcej szczegółów znajdziesz w pliku Readme
sterownika dźwięku.
Upewnij się również, że używasz ostatnią wersję soundcard.h i
ultrasound.h przy kompilacji programów. Zerknij na wskazówki
instalacyjne na początku tego tekstu.
66..1133.. SSEEGGVV pprrzzyy uurruucchhaammiiaanniiuu pprrooggrraammóóww ddźźwwiięękkoowwyycchh,, kkttóórree wwcczzeeśśnniieejj
ddzziiaałłaałłyy
Jest to prawdopodobnie taki sam problem, jaki opisano w poprzednim
pytaniu.
66..1144.. JJaakkiiee zznnaannee bbłłęęddyy lluubb ooggrraanniicczzeenniiaa mmaa sstteerroowwnniikk ddźźwwiięękkuu??
Zobacz pliki Readme i CHANGELOG dostarczone z kodem źródłowym
sterownika dźwięku do jądra.
66..1155.. GGddzziiee zznnaajjddęę ooppiiss ooddwwoołłaańń iiooccttll(()) sstteerroowwnniikkaa ddźźwwiięękkuu??
Są one częściowo opisane w _H_a_c_k_e_r_'_s _G_u_i_d_e _t_o _V_o_x_W_a_r_e _(_P_o_d_r_ę_c_z_n_i_k
_H_a_c_k_e_r_a _d_o _V_o_x_W_a_r_e_), obecnie dostępny w formie dokumentu draft.
Ostatnia wersja to draft 2 i można ją znaleźć w
. Pamiętaj, że ten
katalog jest "ukryty" i nie pojawia się w liście katalogów. Jeśli
wejdziesz do tego katalogu i użyjesz polecenia FTP "dir", pliki tam
_b_ę_d_ą.
W trakcie pisania tego dokumentu nowa dokumentacja pojawiła się na
stronie WWW firmy 4Front Technologies.
Innym źródłem informacji jest Przewodnik po Multimediach w Linuxie,
opisany w rozdziale _Ź_r_ó_d_ł_a _I_n_f_o_r_m_a_c_j_i.
66..1166.. JJaakkii pprroocceessoorr jjeesstt kkoonniieecczznnyy ddoo ooddttwwaarrzzaanniiaa lluubb nnaaggrryywwaanniiaa bbeezz
pprrzzeessttoojjóóww??
Nie ma odpowiedzi na to pytanie, ponieważ zależy to od następujących
czynników:
ˇ czy używane jest próbkowanie PCM lub synteza FM
ˇ częstotliwość próbkowania i rozmiar próbki
ˇ który program jest używany do nagrywania bądź odtwarzania
ˇ urządzenie karty dźwiękowej
ˇ przepustowość dysku, szybkość zegara procesora, rozmiar pamięci
podręcznej, itd.
Ogólnie rzecz biorąc, każdy komputer 386 powinien z łatwością być w
stanie odtwarzać próbki lub muzykę powstałą przez syntezę FM na
8-bitowej karcie.
Jednakże odtwarzanie plików MOD wymaga dość dużej pracy procesora.
Niektóre eksperymentalne pomiary wykazały, że odtwarzanie przy
częstotliwości 44kHz wymaga ponad 40% prędkości 486/50 i komputer
386/25 będzie miał już kłopoty z próbkami powyżej 22kHz (takie są na
8-bitowych kartach, takich jak SoundBlaster). Karty takie jak Gravis
UltraSound przeprowadzają więcej operacji sprzętowo i odciążają
procesor.
Powyższe stwierdzenia są prawdziwe przy zakłożeniu, że komputer nie
prowadzi żadnych działań obciążających procesor.
Dokonywanie konwersji plików dźwiękowych lub dodawanie efektów przy
użyciu programów narządziowych jak np. sox jest również szybsze jeśli
masz koprocesor matematyczny (lub procesor z wbudowanym FPU).
Sterownik jądra sam w sobie nie wykonuje jednak żadnych obliczeń
zmiennoprzecinkowych.
66..1177.. PPrroobblleemmyy zz kkaarrttąą PPAASS1166 ii kkoonnttrroolleerreemm SSCCSSII AAddaapptteecc 11554422 SSCCSSII
(następujące wyjaśnienie udostępnił seeker@indirect.com)
Linux rozpoznaje 1542 jedynie pod adresem 330 (domyślnie) lub 334, a
PAS zezwala na emulację MPU-401 jedynie pod adresem 330. Nawet jeśli
wyłączysz MPU-401 programowo, coś nadal chce się kłócić z 1542, jeśli
jest on pod preferowanym adresem domyślnym. Przełączenie 1542 pod
adres 334 wszystkich uszczęśliwi.
Dodatkowo, zarówno 1542, jak i PAS-16 korzystają z 16-bitowego DMA,
więc jeśli próbkujesz przy 16 bitach i 44kHz w stereo i zapisujesz
plik na dysku SCSI podczepionym pod 1542, jesteś o krok od kłopotów.
DMA zachodzą na siebie i nie ma wystarczająco dużo czasu na
odświeżenie RAM, więc dostajesz okrutny komunikat ``PARITY ERROR -
SYSTEM HALTED'' (BŁĄD PARZYSTOŚCI - SYSTEM ZAWIESZONY), bez
jakichkolwiek wskazówek, jak do tego doszło. Tym gorzej, że kilku
innych producentów napędów QIC-117 zaleca ustawianie czasu
włączania/wyłączania magistrali w taki sposób, że 1542 pozostaje
włączony nawet dłużej niż zwykle. Zdobądź program SCSISEL.EXE z BBSu
firmy Adaptec lub kilku innych miejsc w Internecie i zmniejszaj czas
BUS ON lub zwiększaj BUS OFF dopóki problem nie zniknie, następnie
ustaw je jeszcze ździebko dalej. SCISEL zmienia ustawienia EEPROM,
więc jest to bardziej trwałe niż poprawka w wierszu sterownika pod DOS
w CONFIG.SYS i będzie działać jeśi załadujesz bezpośrednio Linuxa (nie
jest tak przy poprawce w DOSie). Następny problem z głowy.
Ostatni problem - starsze układy Symphony drastycznie zmniejszały czas
cykli I/O aby przyspieszyć dostęp do magistrali. Żadna karta spośród
różnych, którymi się bawiłem nie miała _ż_a_d_n_y_c_h problemów ze
zmniejszonym czasem, za wyjątkiem PAS-16. BBS firmy Media Vision
udostępnia SYMPFIX.EXE, który ma usuwać problem przez zmianę bitu
diagnostycznego w kontrolerze magistrali Symphony, ale nie jest to
wystarczająca gwarancja. Mogą być konieczne:
ˇ spowodowanie, aby sprzedawca płyty głównej wymienił starszą wersję
układu magistrali
ˇ wymiana płyty głównej, lub
ˇ kupno innego typu karty dźwiękowej
Firma Young Microsystems uzupełnia płyty główne, które importuje, za
mniej więcej $30 (US); inni producenci mogą też to robić jeśli jesteś
w stanie dociec, kto sprowadził lub wyprodukował płytę główną (życzę
szczęścia). Problem tkwi w układzie interfejsu magistrali ProAudio, o
ile mi wiadomo; _n_i_k_t nie kupuje karty dźwiękowej za $120 żeby zaraz
wetknąć ją w 6MHz AT. Większość z nich działa znakomicie na
komputerach 25-40MHz 386/486 i powinna być w stanie obsłużyć _c_o
_n_a_j_m_n_i_e_j 12MHz magistralę, o ile układy są poprawnie zaprojektowane.
Pierwszy problem zależy od układów użytych na płycie głównej,
prędkości magistrali i innych ustawień BIOS, oraz fazy księżyca. Drugi
problem zależy od ustawienia opcji odświeżania (ukryte lub
synchroniczne), prędkości DMA 1542 i (być może) prędkości I/O
magistrali. Trzeci można wykryć dzwoniąc do Media Vision i pytając,
który rodzaj kości Symphony jest niekompatybilny. Bądź jednak
ostrzeżony - 3 z 4 techników, z którymi rozmawiałem miało uszkodzenie
mózgu. Byłbym bardzo ostrożny zanim bym uwierzył w _c_o_k_o_l_w_i_e_k, co
powiedzieli o czyimś sprzęcie, ponieważ nawet swojego nie znają za
dobrze.
66..1188.. CCzzyy jjeesstt mmoożżlliiwwee jjeeddnnoocczzeessnnee nnaaggrryywwaanniiee ii ooddttwwaarrzzaanniiee pprróóbbeekk??
Z powodu ograniczeń sprzętowych, nie jest to możliwe na większości
kart dźwiękowych. Niektóre nowsze karty to umożliwiają. Więcej
informacji znajdziesz w rozdziale o "trybie dwukierunkowym" w
_P_o_d_r_ę_c_z_n_i_k_u _H_a_c_k_e_r_a _d_o _V_o_x_W_a_r_e.
66..1199.. MMóójj SSBB1166 jjeesstt uussttaawwiioonnyy nnaa IIRRQQ 22,, aallee ccoonnffiigguurree nniiee ppoozzwwaallaa
uussttaawwiićć tteejj wwaarrttoośśccii..
Na '286 i starszych komputerach, przerwanie IRQ 2 jest przeniesione do
drugiego kontrolera przerwań. Jest ono równoważne IRQ 9.
66..2200.. CCzzyy SSoouunnddBBllaasstteerr AAWWEE3322 lluubb SSoouunnddBBllaasstteerr1166 AASSPP ssąą oobbssłłuuggiiwwaannee??
Dawniej, firma Creative Labs nie chciała udostępniać informacji dla
programistów o tych kartach. Zmienili jednak swą politykę i sterownik
do AWE wchodzi obecnie w skład sterowników w jądrach Linuxa 2.1.x.
66..2211.. JJeeśśllii uurruucchhoommiięę LLiinnuuxxaa,, ppoo cczzyymm zzaałłaadduujjee DDOOSS,, ddoossttaajjęę bbłłęęddyy
ii//lluubb pprrooggrraammyy ddźźwwiięękkoowwee ddzziiaałłaajjąą nniieeppoopprraawwnniiee..
Zdarza się to po miękkim przełądowaniu DOS. Czasami komunikat o
błędzie myląco odnosi się do rzekomego błędu w pliku CONFIG.SYS.
Większość obecnych kart dźwiękowych ma programowo konfigurowalne
ustawienia IRQ i DMA. Jeśli używasz inne ustawienia na Linuxie i MS-
DOS/Windows, możesz napotkać problemy. Niektóre karty dźwiękowe nie
przyjmują nowych ustawień bez całkowitego przeładowania (wyłączenie
zasilania lub wciśnięcie przycisku reset).
Szybkim rozwiązaniem tego problemu jest pełne przeładowanie komputera
przy użyciu przycisku reset lub przez wyłączenie i włączenie
zasilania, a nie przeładowanie miękkie (np. przez Ctrl-Alt-Del).
Poprawne rozwiązanie upewnienie się, że pod MS-DOS i Linuxem używane
są te same ustawienia (lub nie używaj DOS :-).
66..2222.. PPrroobblleemmyy zz uurruucchhaammiiaanniieemm ggrryy DDOOOOMM ppoodd LLiinnuuxxeemm
Użytkownikom linuxowej wersji gry DOOM firmy ID software mogą się te
uwagi przydać.
Aby uzyskać poprawny dźwięk wyjściowy, potrzebujesz sterownik dźwięku
w wersji 2.90 lub późniejszej; ma on obsługę "trybu DOOM" w czasie
rzeczywistym.
Próbki dźwiękowe są 16-bitowe. Jeśli masz kartę 8-bitową, możesz nadal
usłyszeć dźwięk przy użyciu jednego z kilku programów dostępnych w
.
Jeśli gra DOOM działa wolno na twoim komputerze, wyłączenie dźwięku
(przez zmianę nazwy pliku sndserver) może ją przyspieszyć.
Domyślnie DOOM nie obsługuje dźwięku (jak w wersji na DOS). Program
musserver dodaje obsługę dźwięku do DOOMa pod Linuxem. Możesz go
znaleźć pod adresem
.
(Ostatnie przełomowe wieści: zdaje się, że sterownik dźwięku do gry
DOOM nie chce działać z jądrami 2.0.x. Informuje o błędzie związanym z
/dev/sequencer.)
66..2233.. JJaakk mmooggęę zzrreedduukkoowwaaćć sszzuummyy zzbbiieerraannee pprrzzeezz mmoojjąą kkaarrttęę ddźźwwiięękkoowwąą??
Użycie dobrej jakości ekranowanych kabli i próbowanie karty w różnych
slotach może pomóc w redukowaniu poziomu szumów. Jeśli karta dźwiękowa
ma regulator głośności, możesz spróbować jego różne ustawienia
(maksymalne jest prawdopodobnie najlepsze).
Użycie programowego miksera pozwala ci się upewnić, że niepożądane
sygnały wejściowe (np. mikrofon) są ustawione na zerowym poziomie.
Konstrukcja niektórych kart dźwiękowych nie zapewnia dobrego
ekranowania i uziemienia, przez co zbierają one sporo szumów.
Na koniec, w moim systemie odkryłem, że opcja jądra no-hlt w linii
polecenia zmniejsza poziom szumów. Przekazuje ona do jądra informację,
aby nie używana była instrukcja halt w trakcie przetwarzania pętli
biernego procesu. Możesz sprawdzić to ręcznie w trakcie ładowania
systemu, lub ustawić przez dodanie polecenia append="no-hlt" do pliku
konfiguracyjnego LILO.
66..2244.. MMooggęę ooddttwwaarrzzaaćć ddźźwwiięękkii,, aallee nniiee mmooggęę nnaaggrryywwaaćć..
Jeśli możesz odtwarzać dźwięk, ale nie nagrywać, spróbuj zrobić
następujące rzeczy:
ˇ użyj programowego miksera aby wybrać stosowne urządzenie (np.
mikrofon)
ˇ przy użyciu miksera ustaw poziomy wejściowe na maksymalne
ˇ jeśli możesz, spróbuj przetestować nagrywanie na karcie pod MS-
DOSem, aby sprawdzić, czy nie ma problemu sprzętowego.
Czasami do nagrywania używany jest inny kanał DMA niż do odtwarzania.
W tym przyoadku najbardziej prawdopodobnym powodem będzie niepoprawne
ustawienie DMA dla nagrywania.
66..2255.. MMoojjaa ""kkoommppaattyybbiillnnaa"" kkaarrttaa ddźźwwiięękkoowwaa ddzziiaałłaa ttyyllkkoo wwóówwcczzaass,, ggddyy
zzaaiinniiccjjaalliizzuujjęę jjąą ppoodd MMSS--DDOOSS..
W większości przypadków karty "kompatybilne z SoundBlaster" będą
działać lepiej pod Linuxem jeśli zostaną skonfigurowane ze
sterownikiem innym niż SoundBlaster. Większość kart jest teoretycznie
kompatybilna (tzn. "kompatybilna z 16-bitową SB Pro" lub "16-bitowa
kompatybilna z SB"), ale zwykle ów tryb SoundBlaster jest tylko
sztuczką dodaną dla kompatybilności gier pod DOSem. Większość kart ma
16-bitowy macierzysty tryb, który jest prawdopodobnie obsługiwany
przez ostatnie wersje jądra Linuxa (2.0.1 i późniejsze).
Tylko przy niektórych (zazwyczaj raczej starych) kartach niezbędna
jest próba uruchomienia ich w trybie SoundBlaster. Jedyne nowsze
karty, które są wyjątkami od tej reguły są karty oparte na Mwave.
66..2266.. MMoojjaa 1166--bbiittoowwaa kkaarrttaa ""kkoommppaattyybbiillnnaa"" zz SSoouunnddBBllaasstteerr ddzziiaałłaa ppoodd
LLiinnuuxxeemm jjeeddyynniiee ww ttrryybbiiee 88--bbiittoowwyymm..
16-bitowe karty opisane jako kompatybilne z SoundBlaster są
rzeczywiście kompatybilne jedynie z 8-bitową kartą SoundBlaster Pro.
Mają zazwyczaj 16-bitowy tryb, który nie jest kompatybliny z
SoundBlaster 16 oraz sterownikiem dźwięku w Linuxie.
Może ci się udać uruchomić kartę w trybie 16-bitowym przy użyciu
sterownika MAD16 lub MSS/WSS.
66..2277.. GGddzziiee mmooggęę zznnaalleeźźćć pprrooggrraammyy ddźźwwiięękkoowwee ppoodd LLiinnuuxxaa??
Oto kilka dobrych archiwów, które możesz przekopać w poszukiwaniu
programów obsługujących dźwięk pod Linxem:
ˇ
ˇ
ˇ
ˇ
ˇ
ˇ
66..2288.. CCzzyy sstteerroowwnniikk ddźźwwiięękkuu mmoożżee bbyyćć sskkoommppiilloowwaannyy jjaakkoo łłaaddoowwaallnnyy
mmoodduułł jjąąddrraa??
Przy ostatnich jądrach sterownik dźwięku może być skompilowany do
postaci modułu.
Szczegóły znajdziesz w plikach
i
(lub
).
66..2299.. CCzzyy mmooggęę uużżyyćć kkaarrttęę ddźźwwiięękkoowwąą aabbyy zzaassttąąppiićć ssyysstteemmoowwyy ssyyggnnaałł nnaa
kkoonnssoollii??
Spróbuj program oplbeep, znajdujący się pod adresem
Inny wariant to program beep, znajdujący się tu:
Pakiet modutils zawiera przykładowy program i poprawkę do jądra, które
pozwalają uruchamiać dowolny program zewnętrzny generujący dźwięki gdy
jest to wymagane przez jądro.
Dodatkowo, przy niektórych kartach dźwiękowych możesz podłączyć
wyjście głośnika PC do karty - wówczas wszystkie dźwięki wydobywają
się z głośników podłączonych do karty.
66..3300.. CCoo ttoo jjeesstt VVooxxWWaarree??
Sterowniki dźwięku do jądra obsługują kilka różnych systemów
kompatybilnych z Unixem, opartych na architekturze Intel. Można je
zdobyć jako osobny pakiet, oddzielony od jądra. Do lutego 1996 autor
nazywał oprogramowanie "VoxWare". Niestety, nazwa ta została
zarejestrowana przez VoxWare Incorporated i nie można jej używać. Nowa
nazwa sterownika to OSS/Free.
Open Sound System (OSS - Otwarty System Dźwiękowy) jest komercyjnie
dostępnym steronikiem dźwięku dla różnych systemów Unix, sprzedawanym
przez 4Front Technologies. Darmowa wersja, znana jako OSS/Free będzie
nadal udostępniana za darmo na systemy Linux.
Więcej informacji znajdziesz na stronie WWW firmy 4Front Technologies
- .
Inne nazwy, na jakie mogłeś się natknąć, które były używane wcześniej
w odniesieniu do tego samego sterownika to TASD (Tymczasowo Anonimowy
Sterownik Dźwięku) oraz USS (Unix Sound System - System Dźwięku dla
Unixa).
66..3311.. CCzzyy kkaarrttyy PPlluugg aanndd PPllaayy ssąą oobbssłłuuggiiwwaannee??
Pełna obsługa Plug and Play powinna pojawić się w Linuxie 2.1.
Tymczasem, istnieje kilka rozwiązań, pozwalających uruchomić karty
Plug and Play.
Jeśli masz nowszy system Pentium z BIOSem Plug and Play, powinien się
on automatycznie zająć konfigurowaniem kart. Upewnij się, że ustawiłeś
sterownik dźwięku w Linuxie na takie same parametry adresu I/O, IRQ i
kanału DMA, jakie użyte zostały przez BIOS.
Istnieje pakiet programów narzędziowych do Plug and Play dla Linuxa,
który można wykorzystać do ustawienia karty. Można go znaleźć na
stronach WWW Red Hat : (może być także
włączony do twojej dystrybucji Linuxa).
Jeśli używasz kartę pod Windows95, możesz użyć menedżera urządzeń do
ustawienia karty, następnie miękko przeładować Linuxa przy użyciu
programu LOADLIN. Upewnij się, że Windows95 i Linux używają tych
samych ustawień karty.
Jeśli używasz kartę pod DOSem, do konfigurowania karty pod DOS możesz
użyć program narzędziowy icu, dostarczany z kartami SoundBlaster16
PnP. Następnie miękkie przeładowanie Linuxa za pomocą programu
LOADLIN. Ponownie, upewnij się, że Linux i DOS używają tych samych
ustawień karty.
Komercyjny sterownik dźwięku OSS obsługuje kartę dźwiękową
SoundBlaster16 PnP. Możesz nabyć ten sterownik od 4Front Technologies.
66..3322.. SSooxx//PPllaayy//VVppllaayy wwyyppiissuujjee ""iinnvvaalliidd bblloocckk ssiizzee 11002244"" ((bbłłęęddnnyy
rroozzmmiiaarr bbllookkuu 11002244))
Zmiana w sterowniku dźwięku w wersji 1.3.67 zepsuła kilka programów
odtwarzających dźwięk, które (niepoprawnie) sprawdzały, czy wynik
odwołania ioctl SNDCTL_DSP_GETBLKSIZE jest większy niż 4096. Programy
narzędziowe włączone do ostatniego pakietu snd-util-3.x.tar.gz (pod
adresem .) obecnie obsługują to
poprawnie. Ostatnie wersje sterownika dźwięku zostały również
poprawione celem uniknięcia alokacji fragmentów krótszych niż 4096
bajtów, co rozwiązuje problem ze starszymi programami.
66..3333.. DDllaacczzeeggoo sstteerroowwnniikk ddźźwwiięękkuu mmaa wwłłaassnnyy pprrooggrraamm kkoonnffiigguurraaccyyjjnnyy??
Sterownik dźwięku obsługuje wiele różnych parametrów konfiguracyjnych.
Program configure z pakietu sterownika dźwięku sprawdza wiele
zależności między parametrami. Narzędzia używane do konfigurowania
jądra nie umożliwiają takiego stopnia funkcjonalności.
Powiedziawszy powyższe, ostatnie jądra opcjonalnie pozwalają na użycie
standardowych narzędzi konfiguracji jądra do ustawiania sterownika
dźwięku (patrz wcześniejszy rozdział - "Konfigurowanie Jądra").
66..3344.. UUssttaawwiieenniiaa mmiikksseerraa ssąą zzeerroowwaannee zzaa kkaażżddyymm rraazzeemm ggddyy zzaałłaadduujjęę
mmoodduułł sstteerroowwnniikkaa ddźźwwiięękkuu
Możesz skompilować sterownik dźwięku jako moduł ładowalny i używać
kerneld do jego automatycznego ładowania i usuwania. Może to wywołać
jeden problem - za każdym przeładowaniem modułu ustawienia miksera
powracają do wartości domyślnych. Przy niektórych kartach może to być
zbyt głośno (np. SoundBlaster16), lub za cicho. Markus Gutschke
(gutschk@uni-muenster.de) znalazł następujące rozwiązanie. Wpisz
poniższy wiersz do pliku /etc/conf.modules:
options sound dma_buffsize=65536 && /usr/bin/setmixer igain 0 ogain 0 vol 75
Spowoduje to, że twój program miksujący (w tym przypadku setmixer)
zostanie uruchomiony niezwłocznie po załadowaniu sterownika dźwięku.
Parametr dma_buffsize jest jedynie sztuczną wartością, niezbędną ze
względu na wymagany jakikolwiek parametr linii polecenia. Zmień
polecenie zgodnie z potrzebami, aby dopasować ustawienia głośności.
Jeśli wkompilowałeś sterownik dźwięku do jądra i chcesz ustawiać
poziomy głośności w trakcie ładowania jądra, możesz wywołać program
miksujący w jednym z systemowych plików startowych, jak np.
/etc/rc.d/rc.local.
66..3355.. JJeeddyynniiee uużżyyttkkoowwnniikk rroooott mmoożżee nnaaggrryywwaaćć ddźźwwiięękk
Domyślnie, skrypt w Readme.linux, który tworzy pliki urządzeń
dźwiękowych ustawia prawa dostępu tak, że urządzenia odczytywane mogą
być jedynie przez użytkownika root. Jest tak, aby uniknąć możliwej
dziury w systemie. W środowisku sieciowym, zewnętrzni użytkownicy
mogliby potajemnie podłączyć się zdalnie do systemu z kartą dźwiękową
i mikrofonem i podsłuchiwać. Jeśli cię to nie martwi, możesz zmienić
prawa dostępu ustanowione przez skrypt.
Przy domyślnych ustawieniach, użytkownicy nadal mogą odtwarzać pliki
dźwiękowe. Nie jest to ryzykowne z punktu widzenia bezpieczeństwa, ale
może być potencjalnie denerwujące.
77.. ŹŹrróóddłłaa IInnffoorrmmaaccjjii
Jeśli masz kartę dźwiękową, która zawiera interfejs CD-ROM lub SCSI,
dodatkowe informacje, które mogłyby ci się przydać są w dokumentach
Linux SCSI HOWTO oraz Linux CD-ROM HOWTO
Sound Playing HOWTO opisuje sposoby użycia różnych typów plików
dźwiękowych i muzycznych pod Linuxem.
Istnieje stary dokument, zwany _P_o_d_r_ę_c_z_n_i_k _H_a_c_k_e_r_a _d_o _W_o_x_W_a_r_e, dostępny
pod adresem . Większość
zawartej tam informacji została zastąpiona dokumentami w
, ale rozdział o /dev/sequencer
może nadal być przydatny.
Następujące dokumenty FAQ są regularnie wysyłane do grupy dyskusyjnej
Usenetu news.announce, a także archiwizowane pod adresem
:
ˇ PCsoundcards/generic-faq (FAQ na temat zwykłych kart dźwiękowych na
PC)
ˇ PCsoundcards/soundcard-faq (FAQ comp.sys.ibm.pc.soundcard)
ˇ PCsoundcards/gravis-ultrasound/faq (FAQ o Gravis UltraSound)
ˇ audio-fmts/part1 (Opisy formatów plików dźwiękowych)
ˇ audio-fmts/part2 (Opisy formatów plików dźwiękowych)
Dokumenty FAQ wymieniają również kilka list pocztowych i archiwów
dotyczących konkretnych produktów. Następujące grupy dyskusyjne
Usenetu omawiają kwestie dźwięku i/lub pokrewne:
ˇ alt.binaries.sounds.* (różne grupy do wysyłania plików dźwiękowych)
ˇ alt.binaries.multimedia (do wysyłania plików multimedialnych)
ˇ alt.sb.programmer (programowanie kart Soundblaster)
ˇ comp.multimedia (o multimediach)
ˇ comp.music (teoria i badania muzyki komputerowej)
ˇ comp.sys.ibm.pc.soundcard.* (różne grupy dotyczące kart dźwiękowych
na IBM PC)
Strony WWW poświęcone multimediom znaleźć można tutaj:
. Creative Labs ma stronę WWW
pod adresem . MediaTrix ma stronę WWW pod
adresem .
Linuxowe pocztowe listy dyskusyjne mają sporo "kanałów" poświęconych
różnym tematom, w tym dźwiękowi. Aby dowiedzieć się, jak się do nich
przyłączyć, wyślij pocztę ze słowem "help" jako treścią listu na adres
majordomo@vger.rutgers.edu. Owe listy pocztowe nie są zalecane jeśli
chodzi o pytania na temat konfiguracji kart dźwiękowych, itp. Istnieją
z myślą o dyskusjach dotyczących programowania.
Jak wspomniano wcześniej kilka razy, do sterownik dźwięku do jądra
dołączona jest pewna ilość plików Readme, zawierających użyteczne
informacje o sterowniku kart dźwiękowych. Można je zazwyczaj znaleźć w
katalogu .
Z autorem sterownika dźwięku do jądra, Hannu Savolainenem, można się
skontaktować pod adresem hannu@voxware.pp.fi. Ma on również stronę WWW
: . Te strony WWW są najlepszym
źródłem informacji, jeśli chodzi o bieżący status obsługiwanych kart
dźwiękowych, znane problemy i poprawki błędów.
Informacje o OSS, komercyjnym sterowniku dźwięku do Linuxa i innych
systemów kompatybilnych z Unixem można znaleźć na stronach WWW 4Front
Technologies.
_M_a_p_a _O_p_r_o_g_r_a_m_o_w_a_n_i_a _L_i_n_u_x_a (Linux Software Map) jest nieocenionym
narzędziem wyszukiwania oprogramowania na Linuxa. Przeszukiwanie LSM
po słowach kluczowych, jak np. _s_o_u_n_d (dźwięk) jest dobrą metodą
wynajdowania programów mających coś wspólnego z urządzeniami
dźwiękowymi. LSM można znaleźć w rozmaitych anonimowych archiwach
FTP, chociażby .
W ramach Projektu Dokumentacji Linuxa powstało kilka książek o
Linuxie, w tym _L_i_n_u_x _I_n_s_t_a_l_l_a_t_i_o_n _a_n_d _G_e_t_t_i_n_g _S_t_a_r_t_e_d (Instalacja
Linuxa i Pierwsze Kroki). Są one za darmo dostępne poprzez anonimowy
FTP z głównych archiwów Linuxa, a także do nabycia w formie
drukowanej.
Na sam koniec, bezwstydny wtręt: Jeśli chcesz się dowiedzieć znacznie
więcej o multimediach pod Linuxem (szczególnie aplikacje i
programowanie CD-ROM i dźwięku), sprawdź moją książkę _L_i_n_u_x _M_u_l_t_i_m_e_d_i_a
_G_u_i_d_e, ISBN 1-56592-219-0, wydaną przez oficynę O'Reilly and
Associates. O szczegółach dowiesz się pod numerem 800-998-9938 w
Ameryce Północnej, lub na stronach WWW
.
88.. OOdd ttłłuummaacczzaa
Prawa autorskie wersji polskiej tego dokumentu (c) 1997 są własnością
Pawła Olszewskiego (alder@amg.net.pl). Dystrybucja wersji polskiej
objęta jest klauzulą analogiczną do zawartej w oryginale.
Jeśli znalazłeś w niniejszym dokumencie jakieś paskudne literówki,
błędy ortograficzne, lub inne tego typu numery, ślij informację w
pierwszej kolejności do tłumacza, w tej sytuacji autor oryginału jest
najprawdopodobniej niewinny.
W kwestii merytorycznej, dokument ten nie różni się specjalnie od
oryginału (nie dokonałem żadnych zmian ani poprawek), pomijając
odnośnik do pliku LSM.gz, który zmieniłem na lokalne archiwum SunSITE.
Dodałem również odnośnik do archiwum polskich wersji dokumentów HOWTO.
Najnowsza wersja tego dokumentu znajduje się wraz z innymi
przetłumaczonymi na polski dokumentami serii Linux-HOWTO, w archiwum
dokumentów JTZ (Jak To Zrobić):
ftp://ftp.ippt.gov.pl/pub/Linux/JTZ/Sound-HOWTO.pl.html.gz.
Najświeższa wersja angielska znajduje się tutaj:
http://sunsite.unc.edu/mdw/HOWTO/Sound-HOWTO.html.
_N_a _z_d_r_o_w_i_e_,
Pawko Olszewski, alder@amg.net.pl