Sound Blaster AWE 32/64 HOWTO
Sound Blaster AWE 32/64 HOWTO
Autor: Marcus Brinkman
Marcus.Brinkmann@ruhr-uni-bochum.de
v1.2, 11 Stycznia 1998
Wersja polska: Leszek Urbański
tygrys@gdansk.sprint.pl
v1.0, 23 Lutego 1998
Dokument ten został napisany w standardzie ISO-8859-2.
Oryginał tego dokumentu znajduje się pod adresem
http://homepage.ruhr-uni-bochum.de/Marcus.Brinkmann/soundblaster.html
Ten dokument opisuje jak zainstalować i skonfigurować kartę Sound Blaster 32 (SB AWE 32, SB AWE 64) firmy Creative Labs w systemie Linux używając sterownika "AWE Sound Driver Extention" napisanego przez Takashi-ego Iwai. Opisuje także specjalne narzędzia i odgrywarki dla SB AWE. Przyjętym systemem będzie Debian GNU Linux, ale opisany sposób powinien działać w każdej innej dystrybucji.
1. Wprowadzenie
To jest JTZ o Sound Blaster-rze AWE. Podaje ono dokładne informacje o maksymalnym wykorzystaniu Twojego Sound Blaster'a 32 (lub lepszego), włączając w to syntezę Wave Table. Ten dokument opisuje wszystkie karty SB od SB 32.
Karty Sound Blaster są dobrze znane w środowisku DOS i Windows, a wiele osób chce też używać swoje karty pod Linux'em. Niestety, Creative Labs dostarcza tylko sterowniki pod Windows i DOS'a, więc zainstalowanie karty SB pod Linuxem nie jest proste. [oj, chyba jest :-) - przyp. tłum.] Ten dokument próbuje opisać jak można używać właściwości kart SB AWE w środowisku Linuxa.
1.1 Podziękowania
Dokument zawiera informacje, które wziąłem z FAQ Sterownika AWE i FAQ ISA PnP.
Zobacz sekcję
Źródła dla poznania autorów i miejsca tych dokumentów. Dzięki nim, obsługa dźwięku SB AWE jest możliwa. Mnóstwo ważnej pracy było zrobione przez
Hannu Savolainen'a, który napisał sterownik dostarczany z jądrem Linuxa. Dziękuję!
Chcę podziękować
Nicoli Bernardelli za testowanie AWE64. Bez niego wiele błędów pozostałoby niewykrytych.
Dziękuję za
SGML Tools, to HOWTO jest dostępne w kilku formatach, wszystkie wygenerowane z jednego pliku źródłowego.
1.2 Poprawki w stosunku do poprzednich wersji
Wersja 1.0
Pierwsza wersja
Wersja 1.1
Poprawiona pisownia (dzięki Curt!), dodana potrzebna wersja isapnp, teraz dostępna na sunsite i mnóstwie kopii.
Wersja 1.2
Wersja francuska jest już dostępna, małe poprawki, dużo poprawionej pisowni (dzięki programowi ispell)
1.3 Nowe wersje tego dokumentu
Najświeższe wersje są na mojej stronie domowej -
Sound Blaster AWE HOWTONowe wersje tego dokumentu będą przesyłane na wiele anonimowych serwerów FTP składujących tego typu informacje, jak np.
ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/mini Hypertekstowe wersje tego i innych Linuxowych HOWTO są dostępne na wielu serwerach WWW, np.
http://sunsite.unc.edu/LDP. Większość dystrybucji Linuxa na CD-ROM'ach zawiera dokumenty HOWTO, często w katalogu /usr/doc.
Dzięki Arnaudowi Launay
zoro@lsol.tm.fr jest dostępna francuska wersja tego dokumentu! Najświeższa wersja jest dostępna przez
HTTP albo
anonimowe FTP.
Jeżeli przetłumaczysz ten dokument na inny język, daj mi znać, a dołączę odnośnik do niego tutaj.
1.4 Kontakt z autorem
Polegam na tobie, Czytelniku, w zrobieniu tego HOWTO użytecznym. Jeżeli masz jakiekolwiek sugestie, poprawki, albo komentarze, proszę, żebyś przysłał je do mnie,
Marcus.Brinkmann@ruhr-uni-bochum.de, a ja postaram się wziąć je pod uwagę w następnej edycji.
Byłbym szczególnie wdzięczny za informacje o procedurze startowej (skrtypty inicjalizujące itp.) innych popularnych dystrybucji Linuxa, np. RedHat lub SuSE Linux.
Jeżeli opublikujesz ten dokument na CD-ROM'ie lub na papierze, kopia była by mile widziana. (Przez e-mail możesz zapytać się o mój adres pocztowy) Pomyśl także o złożeniu dotacji dla LDP (Linux Documentation Project), żeby wspomóc tworzenie darmowej dokumentacji Linux'a. Skontaktuj się z koordynatorem Linux HOWTO, Gregiem Hankins'em
gregh@sunsite.unc.edu, żeby zdobyć więcej informacjii.
1.5 Zasady dystrybucji
Prawa autorskie - (C)1997 Marcus Brinkmann.
To HOWTO jest dokumentacją darmową; możesz ją udostępniać i/lub modyfikować na zasadach Licencji Publicznej GNU (GNU General Public License) publikowanej przez FSF (Free Software Foundation); albo wersji 2, albo jakiejkolwiek późniejszej wersji.
Ten dokument jest udostępniany z nadzieją, że będzie on użyteczny, ale bez żadnej gwarancji; nawet bez gwarancji dostępności ani przydatności w określonym przypadku. Przestudiuj Licencję Publiczną GNU, dla uzyskania dokładnych informacji.
Możesz uzyskać kopię Licencji pisząc do FSF -
Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
2. Zanim zaczniesz
2.1 Wprowadzenie
Ten dokument próbuje pomóc Ci w instalacji i użytkowaniu karty Sound Blaster AWE 32 lub Sound Blaster AWE 64 firmy Creative Labs w Twoim Linuxie. Odnośnym systemem jest
Debian GNU Linux na platformie Intel i586, ale metoda tu przedstawiona powinna działać z każdą inną dystrybucją Linuxa, jak i na każdej innej platformie sprzętowej obsługiwanej prze Linuxowy sterownik dźwięku (różnice będą opisane).
Pamiętaj, żeby dokładnie przeczytać "Linux Sound HOWTO" (zobacz sekcję
Dodatkowe informacje. Traktuję swój dokument jako dodatek do Sound HOWTO, często możesz tam znaleźć informacje o rzeczach, których tu nie opisałem.
2.2 Kilka uwag o kartach SB AWE
SB AWE 32 zawiera urządzenie dźwięku RAW, standardową syntezę OPL-2/OPL-3, port MIDI MPU-401 i syntezę Wave Table EMU 8000 o 32-głosowej polifonii (przestudiuj Sound HOWTO dla wyjaśnienia tych terminów).
SB AWE 64 ma wszystkie możliwości AWE 32 i dodatkowo syntezę Wave Guide, z której Creative Labs jest szczególnie dumny. Problemem dla użytkowników Linuxa jest fakt, że dodatkowe 32 głosy są generowane programowo i wysyłane przez urządzenia dźwięku RAW. Ponieważ Creative Labs nie widzi rynku dla sterowników pod Linuxa, sterownik syntezy Wave Guide jest dostępny tylko pod Windows 3.1 i Windows 95.
Znaczy to, że z punktu widzenia użytkownika Linuxa SB AWE 32 i AWE 64 są prawie identyczne. [AWE 64 ma troszeczkę lepsze przetworniki A/C i C/A -- przyp. tłum.] Od tej chwili będę się odnosił do SB AWE wogóle i wsponę o różnicach, jeżeli wystąpią.
2.3 Kilka uwag o kartach Plug and Play
Większość nowoczesnych kart na platformę Intela są kartami ISA PnP, co jest skrótem dla ,,Plug and Play''. Znaczy to, że karta musi być skonfigurowana przez system operacyjny, a to musi być wykonane przez skrypt inicjaliacyjny (initialization routine) w czasie ładowania systemu. Są co najmniej trzy możliwe sposoby na wykonanie tego, jeżeli:
Masz bios PnP, co oznacza, że może on "widzieć" karty PnP i może je skonfigurować. Jeżeli myślisz, że możesz używać wszystkich możliwości Twojego SB AWE PnP, jesteś w błędzie. Nawet jeżeli bios twierdzi, że obsługuje karty PnP, tylko inicjalizuje zbiór portów i adresów używanych przez Twoją kartę. Pewnie będziesz mógł odgrywać dźwięki RAW WAVE, ale nie będziesz mógł odgrywać np. muzyki MIDI. Z tego powodu bios PnP nie jest wyjściem.
Masz system operacyjny obsługujący karty PnP. Obecne stabilne jądro Linuxa (2.0.x) nie jest takim systemem, więc będziemy musieli poczekać na przyszłe wersje jądra, obsługujące urządzenia PnP.
Masz specjalny program, uruchamiany w czasie ładowania systemu, który inicjalizuje Twoje karty PnP. Tego sposobu użyjemy.
Najczęściej używanym oprogramowaniem dla inicjalizacji kart PnP pod Linuxem jest ,,isapnptools'' (zobacz sekcję
Źródła i sekcję
Zaczynamy). Opisują one właściwie jak skonfigurować wszystkie karty ISA PnP, nie tylko kartę dzwiękową.
2.4 Kilka uwag o ładowalnych modułach jądra
Niektóre sterowniki urządzeń mogą być budowane jako moduły zamiast wkompilowywania ich w jądro. Możesz znaleźć więcej informacji o modułach w ,,Kernel-HOWTO'' i ,,Module HOWTO'' (zobacz sekcję
Dodatkowe informacje).
Jeżeli posiadasz kartę PnP, musisz zainstalować obsługę dźwięku jako ładowalny moduł jądra. Znaczy to, że nie możesz wbudować sterownika dźwięku w jądro, będziesz musiał zbudować go jako moduł, który może być władowany w jądro w czasie rzeczywistym. Jest to potrzebne dlatego, że jądro będzie zainstalowane przed skonfigurowaniem karty ISA PnP, a sterownik dźwięku musi być załadowany po skonfigurowaniu karty ISA PnP.
Moduł dźwięku jądra może być załadowany ręcznie - insmod sound albo modprobe -a sound albo w poprawnej linii skryptu ładującego twojego Linuxa (w Debianie jest wymagane aby dodać linię zawierającą sound do /etc/modules). Inne podejście, to odpalenie kerneld, demona instalującego i deinstalującego moduły.
Zauważ, że kerneld może nie być najlepszym rozwiązaniem dla sterownika AWE, ponieważ zabiera to dużo czasu, aby załadować moduł do jądra, szczególnie jeżeli chcesz używać syntezy Wave Table i ładować duże banki Sound Font, co musisz zrobić za każdym razem po załadowaniu modułu. Ponieważ kerneld usuwa nieużywane moduły po jednej minucie (standardowo), lepiej jest ładować moduł dźwięku ręcznie lub w czasie ładowania systemu. Zauważ, że samodzielne ładowanie modułu zapobiega usuwaniu go przez kerneld. Przy okazji: Możesz ręcznie ładować moduł i używać kerneld w tym samym czasie. Te dwie metody nie kolidują ze sobą, ale kerneld nie zajmuje się już modułem dźwięku.
Jest to użyteczne, gdy Twoje ustawienia miksera zostają skasowane po usunięciu i ponownym załadowaniu modułu. Rozwiązanie tego problemu zostanie podane w sekcji
Mikser (jest tam opis jak można uruchomić mikser automatycznie kiedy moduł dźwięku zostaje załadowany). Jednakże zajmuje to trochę czasu dla kerneld do zainstalowania modułu, załadowania banku dźwięków i uruchomienia miksera. Z tego powodu lepiej jest instalować moduł dźwięku w czasie ładowania systemu i nie pozwalać kerneld go deinstalować.
2.5 Kilka uwag o sterowniku dźwięku w jądrze
Możesz zainstalować obsługę dźwieku bezpośrednio w jądrze lub jako
ładowalny moduł. Jeżeli masz kartę PnP, musisz zainstalować obsługę
dźwięku jako moduł, ponieważ karta PnP musi być zainicjalizowana przez
isapnptools zanim moduł zostanie zainstalowany.
Jak możesz sobie
wyobrazić, będziesz musiał zrekompilować jądro. Podam ci poniżej kilka
podpowiedzi. Na razie pomówmy o obsłudze dźwięku w źródłach jądra.
Jądro jest dystrybuowane z darmową (Lite) wersją OSS (USS) -
sterownika dźwięku. Obecna wersja tego sterownika (3.5.4) nie
obsługuje SB AWE w całości, a tylko jego część podobną do SB 16. Tak
więc możesz odgrywać dźwięki RAW i używać syntezy OPL-2/OPL-3, ale nie
będziesz mógł odgrywać muzyki MIDI z syntezą Wave Table.
Jeżeli
chcesz używać syntezy Wave Table możesz kupić komercyjny sterownik
firmy
4Front Technologies (proszę, niech mnie ktoś poinformuje, jeżeli to wystarczy) albo używać [darmowej] łaty na jądro "AWE 32 Sound Driver Extension" autorstwa Takashiego Iwai. Ten pierwszy nie jest opisany przez ten dokument, przyjmuję, że chcesz używać tego ostatniego.
Sterownik ten (zobacz sekcję
Źródła ) jest publikowany na licencji GNU i jest dystrybuowany z kilkoma programami użytkowymi do syntezy EMU 8000 kart SB AWE.
Awedrv jest już dołączony do testowych wersji jądra (2.1.x), ale prawdopodobnie chcesz rozszerzać stabline wersje.
3. Jak zainstalować dźwięk z SB AWE
3.1 Rzeczy, które będą Ci potrzebne
Oto wymagania obsługi SB AWE pod Linuxem:
Funkcjonalny system Linuxowy (np. Debian GNU Linux)
Karta SB AWE 32 albo kompatybilna (np. SB32, SB32 PnP, SB AWE64, ...)
Źródła jądra Linuxa ze sterownikiem dźwięku OSS/Free (normalnie dołączany, sprawdź w /usr/src/Linux/drivers/sound/Readme
Sterownik "AWE 32 Sound Driver Extensions"
Jeżeli masz kartę PnP, będziesz także potrzebował:
Pakiet oprogramowania isapnptools
Zobacz sekcję
Źródła dla informacji skąd można zdobyć te programy.
3.2 Zaczynamy
Przyjmijmy, że masz poprawnie zainstalowaną kartę i prawdopodobnie już ją testowałeś pod DOS'em lub Windows.
Następnym krokiem będzie inicjalizacja karty w czasie ładowania systemu wtedy, i tylko wtedy, gdy jest to karta PnP. Postępuj zgodnie z dokumentacją pakietu źródłowego żeby skompilować i zainstalować isapnptools (albo po prostu użyj binarnego pakietu) i wykonaj polecenie:
# pnpdump > /etc/isapnp.conf
jako root. To wygeneruje, mam nadzieję, że odpowiedni, plik konfiguracyjny dla Twoich kart PnP, ale ze wszystkimi urządzeniami odkomentowanymi. Edytuj plik ostrożnie i porównuj wartości kanałów DMA, adresów IO i przerwań z konfiguracją pod DOS'em lub Windows, jeśli to możliwe. (pod Win95 zobacz zasoby wykorzystywane przez kartę w opcji zasoby w menedżerze urządzeń). Jeżeli masz problemy, przeczytaj dokumentację dostarczaną z isapnptools.
UWAGA: isapnptools często nie wykrywa wszystkich trzech portów I/O syntezy AWE Wave Table. Sprawdź dokładnie pozycję WaveTable w pliku isapnp.conf z przykładem podanym na końcu tego HOWTO. Ustaw adres I/O jeżeli to potrzebne.
UWAGA: Zgodnie z isapnp-faq, isapnp czasami nie zaprogramowywuje numeru urządzenia logicznego. Jeżeli napotkasz np. taką wiadomość o błędzie:
Error occured executing request 'LD 2' on or around line...
spróbuj dodać linię (VERIFYLD N) na początku pliku isapnp.conf. Musisz używać wersji co najmniej 1.10, żeby ta medoda zadziałała. Jeżeli nie możesz używać wersji 1.10 lub nowszej możesz także wprowadzić numery urządzeń logicznych bezpośrednio. Zobacz isapnp-faq, żeby usyskać więcej informacji o tej metodzie. Jeżeli to nie będzie działać skontaktuj się ze mną (i ludzi tworzących isapnp, oni też powinni być zainteresowani).
UWAGA: Upewnij się, że ostatnią linią jest (WAITFORKEY), to czasami bywa ominięte przez starsze wersje pnpdump.
Przykładowy isapnp.conf możesz znaleźć na końcu tego dokumentu (zobacz sekcję
Przykładowy isapnp.conf.
Jeżeli używasz Debiana nie są potrzebne żadne dalsze ustawienia, isapnp zostanie uruchomiony w czasie ładowania w pliku /etc/init.d/boot po dodaniu tego kawałka kodu:
# Skonfiguruj karty isa plug and play przed ładowaniem
# modułów. Musisz to zrobić przed ładowaniem modułów, żeby mieć
# szansę skonfigurowania i zainicjalizowania kart PnP zanim
# sterowniki narobią bałaganu.
#
if [ -x /etc/init.d/isapnp ]
then
/etc/init.d/isapnp start
fi
gdzie /etc/init.d/isapnp musi zawierać linie:
#! /bin/sh
# /etc/init.d/isapnp: skonfiguruj karty Plug ang Play
test -x /sbin/isapnp || exit 0
/sbin/isapnp /etc/isapnp.conf
exit 0
Jeżeli masz inną dystrybucję Linuxa, jesteś zdany na siebie. Nie wiem co robić (czy ktoś podałby mi te informacje?). Upewnij się tylko, że isapnp będzie uruchomiona zanim moduły będą załadowane (zobacz poniżej).
3.3 Kompilacja jądra
Przed rekompilacją jądra musisz "załatać" je Sterownikiem AWE. Nawet jeżeli źródła twojego jądra już zawierają awedrv (sprawdź /drivers/sound/lowlevel/), możesz chcieć rozszerzyć istniejący sterownik. Postępuj zgodnie z instrukcjami w katalogu ze źródłami awedrv. Musisz odpalić skrypt który zainstaluje łatę w jądrze.
Sprawdź, czy na pewno rozszerzyłeś źródła. Skrypt tylko sprawdza, czy dany plik instnieje - jeżeli tak, nie instaluje łaty. Powinieneś skasować plik drivers/sound/lowlevel/awe_wav.c przed uruchomieniem skryptu po rozszerzeniu źródeł jądra.
Następnie musisz skonfigurować jądro, włączając obsługę dźwięku. Mam nadzieję, że wiesz trochę o kompilowaniu jądra; zobacz Sound HOWTO i Kernel HOWTO, żeby uzyskać więcej informacji. Przejdź do katalogu z źródłami jądra (np. /usr/src/linux) i wykonaj polecenie
# make config
lub
make menuconfig
albo
make xconfig
. Teraz musisz skonfigurować jądro. Użyj tej okazji, żeby zbudować małe i mocne jądro, dostosowane do twojego komputera. Pamiętaj, żeby odpowiedzieć Y na pytanie Enable loadable module support, jeżeli chcesz zainstalować sterownik dźwięku jako ładowalny moduł (musisz, jeżeli masz kartę PnP), ale jestem pewien, że będziesz chciał i tak to zrobić.
W pewnym momencie zostaniesz zapytany o obsługę karty dźwiękowej. Możesz odpowiedzieć zarówno Y albo M jeżeli nie masz karty PnP. Musisz odpowiedzieć M (moduł), jeżeli posiadasz kartę PnP. Musisz skompilować obsługę karty dźwiękowj jako moduł (jeżeli masz kartę PnP), ponieważ taka karta musi być zainicjalizowana przed załadowaniem modułu. Na następujące pytania powinieneś odpowiedzieć Y, na wszystkie inne N:
Sound Blaster (SB, SBPro, SB16, clones) support (CONFIG_SB) [Y/n/?]
Generic OPL2/OPL3 FM synthesizer support (CONFIG_ADLIB) [Y/n/?]
/dev/dsp and /dev/audio support (CONFIG_AUDIO) [Y/n/?]
MIDI interface support (CONFIG_MIDI) [Y/n/?]
FM synthesizer (YM3812/OPL-3) support (CONFIG_YM3812) [Y/n/?]
lowlevel sound driver support [Y/n/?]
AWE32 support (CONFIG_AWE32_SYNTH) [Y/n/?]
Tylko ostatnia opcja ma wpływ na syntezę Wave Table. Inne wykorzystują opcje SB16 sterownika OSS/Free.
Dodatkowo, musisz skonfigurować port I/O karty dźwiękowej. Spójrz na plik isapnp.conf dla wskazówek, jeżeli masz takowy. U mnie wystarczają stantardowe wartości. Zauważ, że standardowe wartości ze skryptu konfiguracyjnego jądra mogą być nieprawidłowe (zwłaszcza wartości SBC_IRQ i SB_MPU_BASE są złe dla większości kart).
I/O base for SB Check from manual of the card (SBC_BASE) [220]
Sound Blaster IRQ Check from manual of the card (SBC_IRQ) [5]
Sound Blaster DMA 0, 1 or 3 (SBC_DMA) [1]
Sound Blaster 16 bit DMA (_REQUIRED_for SB16, Jazz16, SMW) 5, 6 or 7
(use 1 for 8 bit cards) (SB_DMA2) [5]
MPU401 I/O base of SB16, Jazz16 and ES1688 Check from manual of the card
(SB_MPU_BASE) [330]
SB MPU401 IRQ (Jazz16, SM Wave and ES1688) Use -1 with SB16 (SB_MPU_IRQ) [-1]
Teraz zrekompiluj jądro. Użytkownicy Debiana powinni użyć kernel-package. To robi kompilację jądra czynnością tak prostą jak zainstalowanie paczki Debiana. Zobacz dokumentację w katalogu /usr/doc/kernel-package/. Oto podpowiedź:
# make-kpkg clean
# make-kpkg -revision custom.1.0 kernel_image
i wtedy
dpkg -i /usr/src/kernel-image-2.0.29_custom.1.0_i386.deb
Jeżeli masz inną dystrybucję Linuxa, postępuj zgodnie ze standardowym sposobem kompilacji nowego jądra. Nie zapomnij o wydaniu poleceń make modules i make modules_install. Zobacz Sound HOWTO i (może) Kernel HOWTO, żeby uzyskać więcej informacji.
3.4 Przeładowanie systemu
Po zainstalowaniu nowego jądra powinieneś przeładować system (pamiętaj, żeby mieć funkcjonującą dyskietkę startową). Zaciśnij kciuki.
Jeżeli masz kartę PnP, pamiętaj, żeby odpalić isapnp bądź to w skrypcie ładującym (tak jak było to opisane wcześniej), bądź to ręcznie:
# /sbin/isapnp /etc/isapnp.conf
Board 1 has Identity 74 00 00 e3 10 48 00 8c 0e: CTL0048 Serial No 58128
[checksum 74]
Teraz możesz zainstalować sterownik dźwięku, jeżeli skompilowałeś go jako moduł:
# modprobe -a sound
AWE32 Sound Driver v0.3.3e (DRAM 2048k)
Jeżeli sądzisz, że wykrycie pamięci nie było poprawne (znam przypadek człowieka mającego AWE 64 z 4096k, a ,,wykryta'' ilość wynosiła 28672k), spróbuj rozszerżyć awedrv albo podaj ilość pamięci w pliku /usr/src/linux/drivers/sound/lowlevel/awe_config.h, np.
# define AWE_DEFAULT_MEM_SIZE 4096 /* kilobajtów */
Przykro mi, ale musisz wtedy zrekompilować jądro (może kompilacja modułów będzie wystarczająca, ale nie wiem na pewno).
Jeżeli działa, możesz chcieć, żeby moduł dźwięku był ładowany automatycznie.
Możesz użyć kerneld (dlaczego to nie jest najlepszy pomysł zobacz w sekcji 1.4) lub dodaj linię zawierającą sound do /etc/modules (w Debianie) lub dodaj linię /sbin/modprobe -a sound do skryptu ładującego.
4. Testowanie sterownika dźwięku
4.1 /proc/devices, /dev/sndstat
Jeżeli masz obsługę dźwięku wbudowaną w jądro, dostaniesz trochę pożytecznych informacji w czasie ładowania systemu. Jeżeli obsługę dźwięku masz zainstalowaną jako ładowalny moduł, możesz otrzymać te same informacje (prawdopodobnie po deinstalacji modułu dźwięku najpierw (modprobe -r sound)) wydając polecenie
# modprobe -a sound trace_init=1
Sound initialization started
<Sound Blaster 16 (4.13)> at 0x220 irq 5 dma 1,5
<Sound Blaster 16> at 0x330 irq 5 dma 0
<Yamaha OPL3 FM> at 0x388
Sound initialization complete
AWE32 Sound Driver v0.3.3e (DRAM 2048k)
Jeżeli masz wirtualny system plików /proc, możesz poszukać urządzenia dźwięku komendą
# cat /proc/devices
Character devices:
[...]
14 sound
[...]
Następnie upewnij się, że masz zainstalowane odpowiednie urządzenia w katalogu /dev/. Zobacz Sound HOWTO, żeby uzyskać więcej informacji. Teraz zapytaj /dev/sndstat o status modułu dźwięku:
# cat /dev/sndstat
Sound Driver:3.5.4-960630 (Sat Oct 11 19:35:14 CEST 1997 root,
Linux flora 2.0.29 #1 Sat Oct 11 19:12:56 CEST 1997 i586 unknown)
Kernel: Linux flora 2.0.29 #1 Sat Oct 11 19:36:23 CEST 1997 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
1: AWE32 Driver v0.3.3e (DRAM 2048k)
Midi devices:
0: Sound Blaster 16
Timers:
0: System clock
Mixers:
0: Sound Blaster
1: AWE32 Equalizer
Jeżeli nie widzisz takich informacji, to prawdopodobnie jest błąd w konfiguracji. Zobacz co nie działa, a wtedy wróć do kroku
Zaczynamy, sprawdzając wszystko.
4.2 Wyjście - Urządzenie dźwięku typu "RAW"
Spróbuj zdobyć plik .au (Sun Workstation) albo plik RAW i wykonaj komendę
# cat bell.au > /dev/audio
lub
# cat sample > /dev/dsp
Powinieneś usłyszeć zawartość pliku przez Audio Device 0: Sound Blaster 16 (4.3)
4.3 Wyjście - Synteza OPL-2/OPL-3
Jeżeli chcesz używać syntezy FM OPL-2/OPL-3 do odgrywania plików MIDI, wypróbuj program playmidi (zobacz Dodatek B). Uruchom go komendą
# playmidi -f dance.mid
lub
# playmidi -4 dance.mid
Pierwsza komenda uruchomi OPL-2, druga OPL-3. Jeżeli dźwięk cię denerwuje nie wiń playmidi: To synteza FM brzmi tak źle.
Wyobraź sobie, że miałbyś tylko sterownik OSS/Free: To byłaby jakość dźwięku jaką mógłbyś uzyskać (nie biorąc pod uwagę syntezy programowej). Na szczęście masz SB AWE i możesz używać możliwości Wave Table ze Sterownikiem AWE.
4.4 Wyjście - Synteza Wave Table
Sterownik AWE jest dystrybuowany ze specjalnymi narzędziami (awesfx), żeby wykorzystać syntezę EMU 8000. Najpierw musisz załadować bank Sound Font do karty - nawet jeżeli chcesz używać sampli ROM! Możesz wziąć te pliki z instalacji Windows - szukaj plików z rozszerzeniem *.sfb lub *.sf2
Sample ROM są w pliku SYNTHGM.SBK, prawdziwe sample są w plikach SYNTHGS.SBK i SYNTHMT.SBK, oraz w SAMPLE.SBK. Możesz wziąć inne banki Sound Font przez ftp albo www, spróbuj na stronie EMU, stronie Creative Labs, albo na stronie z samplami Chaos, które są naprawdę dobre (pamiętaj, żeby przejrzeć stronę Sterownika AWE).
Spróbuj załadować standardowy zestaw GM (ROM) używając komendy
# sfxload -i synthgm.sbk
i wtedy odtwórz plik midi dostarczany z SB AWE:
# drvmidi dance.mid
4.5 Mikser
Uruchom swój ulubiony program miksera i uruchom go. Odegraj plik RAW i dwa pliki MIDI jednocześnie, wypróbowując ustawienia miksera. Pobaw się trochę, to powinno być bardzo łatwe. Oto lista urządzeń, oraz wyjaśnienie:
Yamaha OPL-3 Synth albo FM
AWE32 Driver Synth albo FM
Sound Blaster 16 (4.13) PCM albo DSP
PC Speaker (nadal żywy) Spkr
Inne ustawienia miksera odnoszą się do CD-ROMu, możliwie podłączonego do karty dźwiękowej, do głównej głośności, basów, tonów wysokich i poziomu nagrywania na różnych liniach wejściowych. Możesz określić, które linie powinny być nagrywane.
4.6 Wejście - Samplowanie z urządzeniem dźwięku typu "RAW"
Możesz nagrywać z różnych źródeł: z podłączonego CD ROMu, z mikrofonu podłączonego do wejścia MIC i z każdego źródła, które można podłączyć do wejścia LINE IN. Ustaw mikser w poprawnej pozycji. Odegraj dźwięk i nagrywaj do pliku, czytając z urządzenia dźwięku RAW, np.
# cdplay
# dd bs=8k count=5 </dev/dsp >music.au
5+0 records in
5+0 records out
# cat music.au >/dev/dsp
nagrywa i odtwarza pięć sekund dźwięku z urządzenia wejściowego.
4.7 Port MIDI
Przykro mi, nie ma jeszcze informacji o porcie MIDI!
5. Oprogramowanie Sterownika AWE
5.1 sfxload
Możesz ładować próbki do DRAM'u na karcie dźwiękowej programem sfxload. Zauważ, że możesz ładować tylko jeden plik z próbkami na bank, z bankiem 0 jako standardowym. A więc po komendzie sfxload synthgs.sbk jedyne sample w twojej karcie są samplami GS. Jeżeli chcesz załadować dodatkowe banki Sound Font musisz użyć opcji -b, np.
# sfxload synthgs.sbk
# sfxload -b1 sample.sbk
# drvmidi sfx.mid
Możesz załadować standardowy bank Sound Font automatycznie, razem z instalacją modułu. Dodaj taką linię:
post-install sound /usr/bin/sfxload synthgm.sbk
do pliku /etc/conf.modules.
Zobacz dokumentację, żeby uzyskać więcej detali o sfxload.
5.2 drvmidi
Z programem drvmidi możesz używać Sterownika AWE do odgrywania plików MIDI. Po prostu podaj nazwę pliku midi po komendzie:
# drvmidi waltz.mid
Zobacz dokumentację, żeby uzyskać więcej szczegółów o drvmidi.
6. Dodatek
6.1 Dodatkowe informacje
Linux Sound HOWTOAutor: Jeff Tranter, <
jeff_tranter@pobox.com>Ostatnia wersja: v1.17, 4 Sierpnia 1997Dobrze rozejrzyj się w Sound HOWTO (dostępne z sunsite.unc.edu i innych serwerów). Zawiera garść danych o kompilacji jądra z obsługą dźwięku i wyjaśnia mnóstwo o urządzeniach dźwiękowych, aplikacjach itp.Przyjmuję to HOWTO jako dodatek do Sound HOWTO.
Linux Sound Playing HOWTOAutor: Yoo C. Chung, <
wacko@laplace.snu.ac.kr>Ostatnia wersja: v1.4, 13 Maja 1997Powinieneś popatrzeć też na Sound Playing HOWTO. Mówi o różnych formatach dźwięku i aplikacjach do ich odgrywania.
AWE Driver FAQAutor: Takashi Iwai <
iwai@dragon.mm.t.u-tokyo.ac.jp>Źródło:
http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/awedrv-faq.htmlJeżeli masz problemy z instalacją Sterownika AWE lub z używaniem syntezy Wave Table w twojej karcie Sound Blaster, spójrz tutaj.
ISA PnP FAQAutor: Peter Fox <
fox@roestock.demon.co.uk>Źródło:
http://www.roestock.demon.co.uk/isapnptools/isapnpfaq.htmlJeżeli masz problemy ze skonfigurowaniem karty ISA PnP, to jest twoja encyklopedia.
6.2 Źródła
isapnptoolsAutor: Peter Fox <
fox@roestock.demon.co.uk>Ostatnia wersja: 1.11Źródło:
http://www.roestock.demon.co.uk/isapnptools/index.htmlJeżeli wysyłasz łaty, wiadomości o błędach albo komentarze, wstaw ,,isapnp'' gdzieś w linii tematu, i wyślij list do isapnp@roestock.demon.co.uk.
awedrvAutor: Takashi Iwai <
iwai@dragon.mm.t.u-tokyo.ac.jp>Ostatnia wesja: 0.4.2cŹródło:
http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/
Jądro LinuxaAutor: Linus Torvalds i wielu innychOstatnia wersja: W tej chwili powinieneś używać 2.0.29 2.0.33 - przyp. tłum.]Źródło: wszędzie, gdzie możesz znaleźć Linuxa :)
OSS/FreeAutor: Hannu Savolainen (sprawdź
http://www.4front-tech.com/usslite przed wysłaniem mi listu).Ostatnia wersja: ja mam 3.5.5-beta1Źródło: z źródłami jądra Linuxa
Informacje:
http://www.4front-tech.com/usslite albo
kopia europejska.
6.3 Przykładowy isapnp.conf
W pliku konfiguracyjnym ISA PnP wygenerowanym przez pnpdump numery urządzeń twoich kart PnP pojawiają się jako sekcje. W pliku poniżej była wykryta jedna karta (dźwiękowa), z czterema urządzeniami logicznymi:
LD 0: Urządzenie Dźwiękowe
LD 1: Urządzenie IDE
LD 2: Urządzenie WaveTable
LD 3: Urządzenie Portu Gier
Zostawiłem LD 1 nieskonfigurowane, ponieważ nie mam CD ROMu podłączonego do portu IDE w mojej karcie dźwiękowej. Jeżeli nie masz portów IDE w twoim SB, LD 1 będzie urządeniem portu gier, a LD 3 się nie pojawi.
Zobacz sekcję
Zaczynamy, żeby uzyskać dokładne (ważne!) informacje o tym pliku.
# $Id: pnpdump.c,v 1.9 1997/06/10 21:37:32 fox Exp $
# This is free software, see the sources for details.
# This software has NO WARRANTY, use at your OWN RISK
#
# For details of this file format, see isapnp.conf(5)
#
# For latest information on isapnp and pnpdump see:
# http://www.roestock.demon.co.uk/isapnptools/
#
# Compiler flags: -DREALTIME -DNEEDSETSCHEDULER
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)
# Try the following if you get error messages like
# Error occurred executing request 'LD 2' on or around line...
#(VERIFYLD N)
# ANSI string -->Creative SB32 PnP<--
(CONFIGURE CTL0048/58128 (LD 0
# ANSI string -->Audio<--
(INT 0 (IRQ 5 (MODE +E)))
(DMA 0 (CHANNEL 1))
(DMA 1 (CHANNEL 5))
(IO 0 (BASE 0x0220))
(IO 1 (BASE 0x0330))
(IO 2 (BASE 0x0388))
(ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 1
# ANSI string -->IDE<--
# (INT 0 (IRQ 10 (MODE +E)))
# (IO 0 (BASE 0x0168))
# (IO 1 (BASE 0x036e))
# (ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 2
# ANSI string -->WaveTable<--
(IO 0 (BASE 0x0620))
(IO 1 (BASE 0x0A20))
(IO 2 (BASE 0x0E20))
(ACT Y)
))
(CONFIGURE CTL0048/58128 (LD 3
# ANSI string -->Game<--
(IO 0 (BASE 0x0200))
(ACT Y)
))
# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
7. Od tłumacza
Oto pierwsza wersja polskiego AWE HOWTO. Jeżeli zauważysz jakiś błąd,
daj mi znać.
Wyszukiwarka
Podobne podstrony:
soundblaster awe pl 6soundblaster awe pl 1soundblaster awe pl 4soundblaster awe pl 3soundblaster awe plsoundblaster awe pl 5soundblaster awe pl 2Soundblaster AWE plsoundblaster awe 6 67jkrjzxsgfwaf5prckpcrtifh7zmk5rfw3hmpy 67jkrjzxsgfwaf5prckpcrtifh7zmk5rfw3hmpysoundblaster awe 3 yjzmephiywh6vpj26tgj7l435jlooc5mmn6sxxq yjzmephiywh6vpj26tgj7l435jlooc5mmn6sxxqsoundblaster awe 4 n6t4zga5crow2pedbe2zt4afoxvl2b25m7sk5wa n6t4zga5crow2pedbe2zt4afoxvl2b25m7sk5wasoundblaster awe 1 3wie2i5s5flwad6xxionolqhemsaru5dmclkpeq 3wie2i5s5flwad6xxionolqhemsaru5dmclkpeqsoundblaster awe 2 jru3b5qjvchemmjgdlg5f2bllwszyegawjqwt6i jru3b5qjvchemmjgdlg5f2bllwszyegawjqwt6isoundblaster awe ufc2s47vykt5i6ov2yrzkrqlk6vv5vokzp5zdzi ufc2s47vykt5i6ov2yrzkrqlk6vv5vokzp5zdzisoundblaster awe 5 o7vf4nxmahaqevhhilg7nnipyq5ybffe36nxrxi o7vf4nxmahaqevhhilg7nnipyq5ybffe36nxrxiTI 99 08 19 B M pl(1)bootdisk howto pl 8BORODO STRESZCZENIE antastic plwięcej podobnych podstron