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/audiozazwyczaj dowiązanie do /dev/audio0
/dev/audio0urządzenie dźwiękowe, kompatybilne ze stacjami
roboczymi Sun (tylko częściowa implementacja, nie obsługuje interfejsu
ioctl Sun, tylko kodowanie u-law)
/dev/audio1drugie 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/dspzazwyczaj dowiązanie do /dev/dsp0
/dev/dsp0pierwsze urządzenie cyfrowego próbkowania
/dev/dsp1drugie urządzenie cyfrowego próbkowania
/dev/mixerzazwyczaj dowiązanie do /dev/mixer0
/dev/mixer0pierwszy mikser dźwięku
/dev/mixer1drugi mikser dźwięku
/dev/musicinterfejs wysokiego poziomu sequencera
/dev/sequencerniskopoziomowy dostęp do MIDI, FM, i GUS
/dev/sequencer2zazwyczaj dowiązanie do /dev/music
/dev/midi00pierwszy surowy port MIDI
/dev/midi01drugi surowy port MIDI
/dev/midi02trzeci surowy port MIDI
/dev/midi03czwarty surowy port MIDI
/dev/sndstatwyświetla status sterownika dźwięku jeśli przeczytany
Sterownik głośnika PC udostępnia następujące urządzenia:
/dev/pcaudioodpowiednik /dev/audio
/dev/pcspodpowiednik /dev/dsp
/dev/pcmixerodpowiednik /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.gzInny wariant to program beep, znajdujący się tu:
ftp://sunsite.unc.edu/pub/Linux/kernel/patches/misc/modreq_beep.tgzPakiet 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:
sound howto pl 8Sound HOWTO plsound howto pl 3sound howto pl 4sound howto pl 7sound howto plsound howto pl 5sound howto pl 1Sound HOWTO pl (2)sound howto pl 2sound playing howto plsound playing howto pl 4Sound Playing HOWTO plsound playing howto pl 5Sound Playing HOWTO pl (2)sound playing howto pl 2sound playing howto pl 3sound playing howto pl 1bootdisk howto pl 8więcej podobnych podstron