Linux Sound HOWTO, czyli Dźwięk w Linuxie Jak To Zrobić Od




Linux Sound-HOWTO, czyli Dźwięk w Linuxie - Jak To Zrobić?: Odpowiedzi Na Często Zadawane Pytania


Następna
strona Poprzednia
strona Spis
treści


6. Odpowiedzi Na Często Zadawane Pytania

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.

6.1 Czym są różne pliki urządzeń dźwiękowych?

Są to najbardziej "typowe" nazwy plików urządzeń, niektóre dystrybucje
używają nieco innych nazw.



/dev/audio

zazwyczaj dowiązanie do /dev/audio0
/dev/audio0

urządzenie dźwiękowe, kompatybilne ze stacjami roboczymi Sun (tylko
częściowa implementacja, nie obsługuje interfejsu ioctl Sun, tylko kodowanie
u-law)
/dev/audio1

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ą)
/dev/dsp

zazwyczaj dowiązanie do /dev/dsp0
/dev/dsp0

pierwsze urządzenie cyfrowego próbkowania
/dev/dsp1

drugie urządzenie cyfrowego próbkowania
/dev/mixer

zazwyczaj dowiązanie do /dev/mixer0
/dev/mixer0

pierwszy mikser dźwięku
/dev/mixer1

drugi mikser dźwięku
/dev/music

interfejs wysokiego poziomu sequencera
/dev/sequencer

niskopoziomowy dostęp do MIDI, FM, i GUS
/dev/sequencer2

zazwyczaj dowiązanie do /dev/music
/dev/midi00

pierwszy surowy port MIDI
/dev/midi01

drugi surowy port MIDI
/dev/midi02

trzeci surowy port MIDI
/dev/midi03

czwarty surowy port MIDI
/dev/sndstat

wyświetla status sterownika dźwięku jeśli przeczytany
Sterownik głośnika PC udostępnia następujące urządzenia:


/dev/pcaudio

odpowiednik /dev/audio
/dev/pcsp

odpowiednik /dev/dsp
/dev/pcmixer

odpowiednik /dev/mixer

6.2 Jak mogę odtworzyć próbkę dźwiękową?

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.

6.3 Jak mogę nagrać próbkę?

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.

6.4 Czy mogę mieć więcej niż jedną kartę dźwiękową?

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)

6.5 Błąd urządzeń dźwiękowych "No such file or directory"


(Błąd: Nie znaleziono pliku lub katalogu)

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).

6.6 Błąd urządzeń dźwiękowych "No such device"

(Błąd: Nie znaleziono urządzenia)

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.

6.7 Błąd urządzeń dźwiękowych "No space left on device"


(Błąd: Brak wolnej przestrzeni na urządzeniu)

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 Tworzenie Plików Urządzeń 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);
}


6.8 Błąd urządzeń dźwiękowych "Device busy"

(Błąd: Urządzenie zajęte)

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.

6.9 Nadal pojawiają się błędy "urządzenie zajęte"!

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.

6.10 Niepełne odtwarzanie pliku z dźwiękiem cyfrowym


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.

6.11 W trakcie odtwarzania plików MOD pojawiają się
przerwy

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).


6.12 Błędy przy kompilacji programów dźwiękowych

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.

6.13 SEGV przy uruchamianiu programów dźwiękowych, które
wcześniej działały

Jest to prawdopodobnie taki sam problem, jaki opisano w poprzednim pytaniu.

6.14 Jakie znane błędy lub ograniczenia ma sterownik
dźwięku?

Zobacz pliki Readme i CHANGELOG dostarczone z kodem
źródłowym sterownika dźwięku do jądra.

6.15 Gdzie znajdę opis odwołań ioctl() sterownika
dźwięku?

Są one częściowo opisane w Hacker's Guide to VoxWare (Podręcznik Hackera
do VoxWare), obecnie dostępny w formie dokumentu draft. Ostatnia wersja to
draft 2 i można ją znaleźć w ftp://nic.funet.fi/pub/OS/Linux/ALPHA/sound.
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 Informacji.

6.16 Jaki procesor jest konieczny do odtwarzania lub
nagrywania bez przestojów?

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.


6.17 Problemy z kartą PAS16 i kontrolerem SCSI Adaptec 1542
SCSI

(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 żadnych 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; nikt 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ć co najmniej 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 cokolwiek, co powiedzieli o
czyimś sprzęcie, ponieważ nawet swojego nie znają za dobrze.


6.18 Czy jest możliwe jednoczesne nagrywanie i odtwarzanie
próbek?

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 Podręczniku Hackera do VoxWare.



6.19 Mój SB16 jest ustawiony na IRQ 2, ale configure nie
pozwala ustawić tej wartości.

Na '286 i starszych komputerach, przerwanie IRQ 2 jest przeniesione do
drugiego kontrolera przerwań. Jest ono równoważne IRQ 9.


6.20 Czy SoundBlaster AWE32 lub SoundBlaster16 ASP są
obsługiwane?

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.


6.21 Jeśli uruchomię Linuxa, po czym załaduje DOS, dostaję
błędy i/lub programy dźwiękowe działają niepoprawnie.

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 :-).


6.22 Problemy z uruchamianiem gry DOOM pod Linuxem

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 ftp://sunsite.unc/edu/pub/Linux/games/doom.

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 ftp://pandora.st.hmc.edu/pub/linux/musserver.tgz.

(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.)


6.23 Jak mogę zredukować szumy zbierane przez moją kartę
dźwiękową?

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.

6.24 Mogę odtwarzać dźwięki, ale nie mogę nagrywać.

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.


6.25 Moja "kompatybilna" karta dźwiękowa działa tylko
wówczas, gdy zainicjalizuję ją pod MS-DOS.

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.


6.26 Moja 16-bitowa karta "kompatybilna" z SoundBlaster
działa pod Linuxem jedynie w trybie 8-bitowym.
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.

6.27 Gdzie mogę znaleźć programy dźwiękowe pod Linuxa?


Oto kilka dobrych archiwów, które możesz przekopać w poszukiwaniu programów
obsługujących dźwięk pod Linxem:


ftp://sunsite.unc.edu:/pub/Linux/kernel/sound/

ftp://sunsite.unc.edu:/pub/Linux/apps/sound/

ftp://tsx-11.mit.edu:/pub/linux/packages/sound/

ftp://nic.funet.fi:/pub/OS/Linux/util/sound/

ftp://nic.funet.fi:/pub/OS/Linux/xtra/snd-kit/

ftp://nic.funet.fi:/pub/OS/Linux/ALPHA/sound/


6.28 Czy sterownik dźwięku może być skompilowany jako
ładowalny moduł jądra?

Przy ostatnich jądrach sterownik dźwięku może być skompilowany do postaci
modułu.
Szczegóły znajdziesz w plikach /usr/src/linux/drivers/sound/Readme.modules
i /usr/src/linux/Documentation/modules.txt
(lub /usr/src/linux/README).

6.29 Czy mogę użyć kartę dźwiękową aby zastąpić systemowy
sygnał na konsoli?

Spróbuj program oplbeep, znajdujący się pod adresem ftp://sunsite.unc.edu/pub/Linux/apps/sound/oplbeep-alpha.tar.gz
Inny wariant to program beep, znajdujący się tu: ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgz
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.


6.30 Co to jest VoxWare?

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 - http://www.4front-tech.com/.
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).

6.31 Czy karty Plug and Play są obsługiwane?

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
: http://www.redhat.com/ (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.

6.32 Sox/Play/Vplay wypisuje "invalid block size 1024"
(błędny rozmiar bloku 1024)

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 ftp://ftp.4front-tech.com/ossfree.)
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.

6.33 Dlaczego sterownik dźwięku ma własny program
konfiguracyjny?

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").

6.34 Ustawienia miksera są zerowane za każdym razem gdy
załaduję moduł sterownika dźwięku

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.


6.35 Jedynie użytkownik root może nagrywać dźwięk

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.


Następna strona
Poprzednia strona
Spis treści



Wyszukiwarka

Podobne podstrony:
Linux Sound HOWTO, czyli Dźwięk w Linuxie Jak To Zrobić Pr
Linux Sound HOWTO, czyli Dźwięk w Linuxie Jak To Zrobić In
Skanowanie i drukowanie Jak to zrobić
Komputerowy skład tekstów Jak to zrobić
Mistrzowskie stosowanie czcionek Jak to zrobić
jak to zrobic (2)
Mastercam X4 Jak to zrobić
Jak to zrobić
jak to zrobić opis sytuacji
Jak to zrobić
03 ROZDZIA 3 Krtka historia marki ATLANTIC, czyli jak to si wszystko zaczo
Linux IPCHAINS HOWTO Appendix Differences between ipchains and ipfwadm
sound howto pl 8

więcej podobnych podstron