Graj muzyko!
Artykuł ten przeznaczony jest dla osób początkujących opisuje on metodą za rączkę sposób instalacji i konfiguracji kart dźwiękowych pod systemem FreeBSD (w wersjach od 4.x w górę).
FreeBSD obsługuje szeroką gamę kart dźwiękowych, pozwalając tym samym swoim użytkownikom korzystać ze wszystkich ich dogodności: odsłuchiwania i nagrywania plików audio w formatach MPEG Audio Layer 3 (popularne mp3), WAV i Ogg Orbis, jak również wielu innych. W kolekcji portów (/usr/ports/audio) jest wiele aplikacji pozwalających edytować nagrywane pliki, dodawać efekty audio i sterować ewentualnymi urządzeniami MIDI podłączonymi do komputera.
Zanim przystąpimy do instalacji powinieneś dowiedzieć się kilku rzeczy o posiadanej przez siebie karcie muzycznej:
- jej model,
- nazwę układu muzycznego w niej zastosowanego oraz to,
- czy jest to karta PCI (najczęstsze urzadzenia charakteryzują się krótką szyną) czy ISA (starsze modele długa szyna).
Oto lista (oczywiście niekompletna) najczęstszych modeli kart dźwiękowych:
Yamaha OPL-SAx
OPTi931
Ensoniq AudioPCI 1370/1371
ESS Solo-1/1E
NeoMagic 256AV/ZX
Sound Blaster Pro, 16, 32, AWE64, AWE128, Live
Creative ViBRA16
Advanced Asound 100, 110 i Logic ALS120
ES 1868, 1869, 1879, 1888
Gravis UltraSound
Aureal Vortex 1 lub 2
Jeśli na powyższej liście nie znalazłeś swojej karty zajrzyj do manuala man pcm(4).
Aby używać karty dźwiękowej musisz załadować odpowiedni sterownik. Można to zrobić na dwa sposoby: załadować go za pomocą polecenia kldload (man kldload) lub wkompilować go do kernela. Zajmiemy się tą drugą opcją. Jeśli nie wiesz jak kompilować kernel, przerwij czytanie, zaglądnij do handbooka (sekcja 9) lub artykułu Tomasza Marciniaka na www.bsdzine.org dotyczącego kompilacji kerneli na systemach *BSD i po tej lekturze wróć do tego miejsca.
Karty Sound Blaster, Creative, Advance oraz ESS:
Jeśli jesteś posiadaczem jednej z tych kart musisz dodać do kernela poniższą linijkę:
device pcm
...
Jeśli Twoja karta jest kartą PnP ISA (ang. Plug and Play włóż i używaj) musisz również dodać linijkę:
device sbc
...
Dla kart nie - PnP ISA dodać należy:
device pcm
device sbc0 at isa? port 0x22 irq 5 drq I flags 0x15
...
Podane wyżej ustawienia są ustawieniami standardowymi możesz potrzebować innych ustawień przerwań IRQ i tym podobnych w rozwiązaniu tych problemów pomoże Ci man sbc(4).
Uwaga: karty serii Sound Blaster Live nie mają sterowników pod systemem FreeBSD 4.0 potrzebny jest specjalny patch, aktualizacja systemu lub zmiana karty ;).
Karty Gravis UltraSound:
Dla kart PnP ISA wpis do kernela:
device pcm
device gusc
...
A dla kart nie - PnP ISA:
device pcm
device gus0 at isa? port 0x220 irq 5 drq 1 flags 0x13
...
Podane wyżej ustawienia są ustawieniami standardowymi możesz potrzebować innych ustawień przerwań IRQ i tym podobnych w rozwiązaniu tych problemów pomoże Ci man gusc(4).
Karty Crystal Sound:
Odpowiednie wpisy do kernela poniżej:
...
device pcm
device csa
...
To wszystko w wypadku tych kart.
Generalne sterowniki dla kart PnP ISA lub PCI powinny wyglądać w kernelu następująco:
device pcm
...
Jeżeli ma to być karta nie PnP ISA do powyższego wpisu należy dodać taki:
device pcm0 at isa? irq 10 drq 1 flags 0x0
...
Możliwe jest, że ustawienia IRQ dla Twojej karty będą inne od podanych.
UWAGA: niektóre karty zintegrowane z płytą główną mogą potrzebować podanego wpisu:
options PNPBIOS
...
Po dokonaniu odpowiednich wpisów do kernela, skompilowaniu go i zrestartowania komputera należy sprawdzić poleceniem dmesg (man dmesg, man grep) czy system wykrył naszą kartę:
Wynikiem polecenia powinna być taka (lub podobna zależne jest to od modelu Twojej karty dźwiękowej) linijka:
pcm0: <SB16 DSP 4.11> on sbc0
Jeśli nie pokazało się nic oznacza to, że źle skonfigurowałeś kernel. Wróć do początku artykułu i upewnij się, że dokonałeś wpisu zgodnego z typem posiadanej przez Ciebie karty. Jeżeli zaś wszystko poszło porządku, to pozostaje nam tylko utworzenie odpowiedniego urządzenia (użytkownicy systemu 5.x nie muszą wykonywać tego kroku system przy starcie sam tworzy odpowiednie urządzenia) w katalogu /dev:
Rivendell# sh MAKEDEV snd0
W przypadku gdy komenda dmesg | grep pcm dała w wyniku linijkę zaczynającą się od pcm1, to zamiast parametru snd0 należy podać parametr snd1 (lub inny odpowiedni, w zależności od wyniku polecenie dmesg).
Polecenie sh MAKEDEV snd0 utworzy nam w katalogu /dev grupę urządzeń, spośród których najważniejszym dla nas jest /dev/audio.
Teraz wystarczy tylko zainstalować (z portów lub paczek) jakiś pakiet odgrywający pliki muzyczne (polecam mpg123 lub, dla używających graficznego systemu X, aplikacji XMMS) a jako urządzenie wyjściowe podać właśnie /dev/audio:
i cieszyć się skonfigurowaną kartą dźwiękową :).
tytus, pt., 18/04/2008 - 20:45
