sound howto pl 6 SNZLV34ESIBOXTM2IFONJ26EDB6YW2NNAFFPTII


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 8
Sound HOWTO pl
sound howto pl 3
sound howto pl 4
sound howto pl 7
sound howto pl
sound howto pl 5
sound howto pl 1
Sound HOWTO pl (2)
sound howto pl 2
sound playing howto pl
sound playing howto pl 4
Sound Playing HOWTO pl
sound playing howto pl 5
Sound Playing HOWTO pl (2)
sound playing howto pl 2
sound playing howto pl 3
sound playing howto pl 1
bootdisk howto pl 8

więcej podobnych podstron