Uwolniona przestrzeń dźwięku

Komentarze

Transkrypt

Uwolniona przestrzeń dźwięku
KNOW HOW
Alsa
Alsa – nie tylko dla muzyków
Uwolniona
przestrzeń dźwięku
Istnieje bardzo wiele powodów, dla
których warto zainstalować system
zaawansowanej architektury dźwięku dla Linuksa Alsa (ang. Advanced Linux Sound Architecture), będący standardowym wyposażeniem
najnowszych dystrybucji. Są to między innymi programy muzyczne
oparte na architekturze Alsa – zarówno proste odtwarzacze płyt CD,
jak i profesjonalne programy dla
studia nagrań.
WOLFGANG BONGERTZ
O
AUTOR
d początków istnienia dystrybucje Linuksa preferowały oprogramowanie na licencji GPL.
Dlatego też Alsa uzyskuje znaczną przewagę nad komercyjnym systemem OSS (ang.
Open Sond System). Najważniejszą zaletą
wolnego oprogramowania jest to, że użytkownicy nie muszą za nie płacić – wystarczy zainstalować kartę muzyczną, która obsługuje Alsa. W tym celu polecamy odwiedzenie strony głównej projektu Alsa, znajdującej się pod adresem [1], na której znaj-
44
Wolfgang Bongertz – po skończeniu
komunikacji na Politechnice w Brunswick (Niemcy) zajął się dziennikarstwem, pisząc wiele interesujących
publikacji dla muzyków i o sprzęcie
muzycznym. Od kilku lat pracuje
w systemie Linux, specjalizując się
w wymianie danych pomiędzy systemami Mac i Windows oraz aplikacjami dla muzyków.
Lipiec 2004
Windows, najlepszym rozwiązaniem będzie kupno
nowej, taniej karty i skorzystanie z systemu Alsa.
W wielu wypadkach
możliwe jest korzystanie
z programów napisanych
dla systemu OSS, dzięki
bibliotece zapewniającej
kompatybilność ALSA-oss,
którą także można pobrać
ze strony głównej Alsa [1].
W pierwszej kolejności
zalecana jest instalacja pakietów Alsy dostarczonych
wraz z dystrybucją. W ten
Rysunek 1: Alsaplayer jest bardzo uniwersalny i obsługuje
sposób możemy uniknąć
wszystkie dostępne formaty plików, począwszy od plików MP3,
niepotrzebnego pobierania
poprzez płyty CD, a na strumieniach danych skończywszy. Posipakietów z sieci i przeproada też bogate opcje wizualizacji dźwięku. Wodospad spekwadzania skomplikowatralny (na środku) jest bardzo interesujący, ale analizator
nych modyfikacji konfiguwidma (prawy dolny róg) bardziej przemawia do użytkownika
racji systemu. Jeżeli nasze
i dostarcza większej ilości informacji.
sterowniki i programy muzyczne działają już prawidłowo – aktualizadziemy obszerną bazę danych obsługiwacja nie jest konieczna. Jako że nie wszystkie
nych modeli.
aplikacje i narzędzia Alsa instalowane są
Jeżeli dana karta muzyczna nie jest
domyślnie, możemy oczywiście zainstaloumieszczona na liście, nie oznacza to wcale,
wać jeden czy dwa dodatkowe programy.
że nie będziemy mogli jej używać w połąObecne dystrybucje SuSE 9.0 i Mandrake
czeniu z Alsa, a jedynie może wymagać
9.2 oferują Alsa w wersji 0.96 (wydaną na jepewnej inwencji, aby poznać standardy obsieni 2003 roku) wraz z dodatkowym zestasługiwane przez kartę i dopasować jak najwem narzędzi i programów. Wersje o oznalepiej jej ustawienia.
czeniach 0.x nie są obecnie rozwijane. W tej
W wielu przypadkach możemy oszczędzić
chwili na stronie głównej projektu Alsa [1]
znacznie więcej kupując nową kartę muznajduje się wersja stabilna 1.02 przeznazyczną niż pozostając przy, wydawałoby się
czona dla jądra 2.2, 2.4 i 2.6. Wkrótce na
nieodzownym, systemie OSS, gdyż zapewstronie ma pojawić się wersja testowa (beta)
nienie prawidłowego działania tej karty
o numerze 1.03.
w środowisku Linuksa może pociągać za soCzęści przedstawione poniżej zakładają,
bą dodatkowe koszty. Kupując licencję OSS
że mamy zainstalowane i poprawnie działadla karty muzycznej z układem Aureal Vorjące sterowniki Alsa. Użytkownicy korzytex można się bardzo zdziwić, bowiem trzestający wcześniej z OSS powinni zapoznać
ba zapłacić za zapewnienie obsługi podstasię z informacjami umieszczonymi w ramwowych funkcji tego układu. Jeżeli nie jestekach. W Ramce 2 zawarto szczegółowe inśmy zmuszeni do korzystania z konkretnego
strukcje dotyczące instalacji systemu Alsa
modelu karty muzycznej, której wymaga np.
z plików źródłowych.
program muzyczny pracujący w środowisku
www.linux-magazine.pl
Alsa
KNOW HOW
Ramka 1: Migracja z OSS do Alsy
Przede wszystkim musimy upewnić się, że
OSS (jeżeli jest nadal zainstalowany) przejmuje kontrolę nad naszą kartą dźwiękową,
a ponadto, że nie jest ładowany podczas
uruchamiania systemu. Z wiersza poleceń
wykonujemy komendę su (posiadając
uprawnienia użytkownika głównego root)
i przerywamy pracę sterownika OSS w następujący sposób:
soundoff
Następnie wywołujemy soundconf w celu
otworzenia menu konfiguracyjnego OSS.
Wybieramy opcję Disable automatic startup
at boot time (wyłącz automatyczne uruchamianie przy starcie systemu), znajdującą się
w części Automatic Boot Setup. Powinniśmy
zobaczyć w tym momencie komunikat
o prawidłowym usunięciu sterownika OSS.
Nie zapomnijmy zapisać ustawień (save and
exit) przed opuszczeniem menu konfiguracyjnego – w ten sposób sterownik OSS nie
będzie już uruchamiał się wraz ze startem
systemu.
INFO
[1] Projekt Alsa: http://alsa-project.org
[2] Samouczek.asoundrc:
http://alsa-project.org/alsa-doc/
doc-php/asoundrc.php3
[3] Strona główna Jack:
http://jackit.sourceforge.net
[4] Wstęp do Alsa, Jack i LADSPA:
http://www.agnula.org/documentation/
dp_tutorials/alsa_jack_ladspa/
[5] Aplikacje Alsa:
http://alsa-project.org/applications.php3
[6] Sekwencer Jazz++ MIDI:
http://www.jazzware.com/cgi-bin/
Zope.cgi/jazzware
[7] Syntezator Amsynth: http://amsynthe.
sourceforge.net/amSynth/
[8] Strona główna Ardour: http://ardour.org
[9] Odtwarzacz próbek MIDI Simsam:
http://simsam.sourceforge.net
[10] MusE „Professional Music Maker”
Linux Magazine UK, 37 (2003), str. 20
[11] The BEAST: http://beast.gtk.org/
[12] AlsaModularSynth:
http://alsamodular.sourceforge.net/
[13] FluidSynth: http://www.fluidsynth.org/
[14] Rosegarden „On a Bed of Roses”
Linux Magazine UK, 37 (2003), str. 25
Starsze wersje OSS do uruchamiania sterownika mogą wykorzystywać wpis w /etc/init.d/boot.local. W takim przypadku usuwamy
linię z zapisem /usr/bin/local/soundon.
Dopiero teraz możemy zainstalować sterowniki Alsa, korzystając z menedżera instalacji
dystrybucji (jeżeli jeszcze tego nie zrobiliśmy). Po zainstalowaniu Alsy w katalogu
/etc/init.d powinien pojawić się skrypt o nazwie alsasound. Posiadając uprawnienia
użytkownika głównego, wpisujemy w wierszu poleceń:
dzającego dźwiękiem.
Jeżeli zainstalowaliśmy najnowszą wersję Alsa z kodu źródłowego (patrz Ramka 2: Instalacja Alsy z kodu źródłowego), nie powinniśmy instalować karty dźwiękowej przy pomocy YaST czy draksound, gdyż taka procedura spowoduje zastąpienie jej innymi sterownikami.
/etc/init.d/alsasound restart
Spowoduje to uruchomienie lub ponowne
uruchomienie sterownika.
Narzędzia instalacyjne dystrybucji SuSE
i Mandrake potrafią automatycznie wykrywać wewnętrzne karty dźwiękowe. Jeżeli to
konieczne, możemy dokończyć konfigurację
w SuSE 9.0 przy pomocy YaST (patrz Rysunek 2) lub w Mandrake przy pomocy draksound. Procedura instalacji powinna
automatycznie uruchomić demona zarzą-
Rysunek 2: Do konfiguracji dźwięku Alsa
w SuSE Linux wykorzystywany jest
YaST.Użytkownicy mogą w tym samym
czasie ustawiać głośność dźwięku.
Kapitan Jack
ne sterujące, które podawane są następnie
do generatora dźwięku, znajdującego się na
karcie dźwiękowej lub do instrumentu zewnętrznego, który zajmuje się wytwarzaniem odpowiednich dźwięków. Jeżeli chcemy teraz dodać echo, Alsa przeniesie dane
midi do układu scalonego generującego
dźwięk, a Jack zaopiekuje się wytworzonym
dźwiękiem i skieruje go do generatora echa,
po czym przekaże go z powrotem do karty
dźwiękowej. Jeżeli to konieczne, Jack może
także przekazać dźwięk poprzez mikser
programowy.
Oczywiście przy założeniu, że aplikacje
mogą współpracować
z systemem Jack. Na
Rysunku 4 pokazano
programowy syntezator nie posiadający
interfejsu Jack. W takim przypadku Jack
zajmuje się pośrednio kontrolą syntezatora, gdyż sekwencer
MIDI, sterujący pracą syntezatora programowego, działa
jako klient Jack –
synchronicznie z reRysunek 3: Schemat autorstwa Jörna Nettingsmeiera pokazuje zasajestratorem wielodę działania systemu Jack. Demon jackd działa jak pająk w swojej
ścieżkowym.
sieci, zapewniając stabilne przekazywanie w tle potoków audio.
Jack Audio Connection Kit (Jack) [3]
umożliwia jednoczesne działanie wielu
aplikacji korzystających ze sterowników
Alsa. Jack jest częścią większości najnowszych dystrybucji i jest automatycznie instalowany przy konfigurowaniu aplikacji
typu alsaplayer.
Jack jest serwerem dźwiękowym, który
umożliwia łączenie aplikacji muzycznych
audio kartą (lub kartami) dźwiękową
i sprawdza, czy możliwa jest wymiana danych między nimi. Spójrzmy na Rysunek 3.
Przykładowo, sekwenser MIDI nagrywa da-
www.linux-magazine.pl
Lipiec 2004
45
KNOW HOW
Alsa
Ramka 2: Instalacja Alsa z kodu źródłowego
Zanim zaczniemy, musimy upewnić się,
czy zainstalowano kod źródłowy jądra,
dzięki któremu będą uwzględniane wszystkie zależności sterowników Alsa. Następnie wpisujemy:
modinfo soundcore
do jądra. Nazwę odpowiedniego modułu
dla naszej karty muzycznej odnajdziemy
w podręczniku instalacji, znajdującym się
na stronie głównej Alsa [1].
W oknie wiersza poleceń przechodzimy do
katalogu ze sterownikiem:
cd /opt/alsa-driver-xx
Jeżeli w odpowiedzi otrzymamy informację
o dostępności modułu, możemy uznać, że
ponowna kompilacja jądra nie będzie już
potrzebna. Baza danych obsługiwanych
kart dźwiękowych, znajdująca się na stronie głównej projektu Alsa [1], zawiera
szczegółowe wskazówki na temat poszczególnych kart dźwiękowych wraz z odnośnikami do samouczków dla największych
dystrybucji.
Teraz należy rozpakować do oddzielnych
katalogów pobrane z Internetu pakiety.
Zawierają one zarówno sterowniki, jak
i zestaw bibliotek, narzędzi i modułów dla
wybranych kart, np. Aureal Vortex, Turtle
Beach Multisound Pinnacle/Fuji,
Sek'D/Marian Prodif Plus czy Advantage.
Po rozpakowaniu plików archiwum, np.
w /opt>, powinniśmy otrzymać kilka podkatalogów o nazwach alsa-driver, alsa-lib,
alsa-firmware, alsa-oss, alsa-utils i alsa-tools wraz z numerem wersji, którą właśnie
zamierzamy zainstalować.
Krok po kroku
Poniższą procedurę stworzyliśmy w oparciu
o kartę muzyczną Terratec 128iPCI. Korzysta ona z modułu sterownika es1938.
Sterownik jest wywoływany poprzez nazwę
modułu podczas konfiguracji i dodawania
a następnie wpisujemy polecenie:
./configure -with-sequencer=U
yes with--isapnp=no; U
make; make install
W ten sposób stworzymy od razu gotowe
oprogramowanie. Opcje polecenia configure zawsze rozpoczynają się od -with
i powinny znajdować się w pliku INSTALL. W naszym przypadku włączyliśmy
po prostu obsługę miksera i wyłączyliśmy
obsługę kart muzycznych ISA PnP, z których nie będziemy korzystać. Możemy
również nakazać poleceniu configure
skonfigurowanie modułu sterownika naszej karty dźwiękowej, podając -with-cards=es1938. Aby przypisać uprawnienia snddevices, starsze wersje systemu
Alsa (wersje wcześniejsze niż 0.94) muszą uruchamiać specjalny skrypt.
Zanim zajmiemy się pakietem bibliotek,
wpisujemy:
chmod a+rw /dev/mixer U
/dev/dsp /dev/sequencer /dev/mid
Następnie, będąc w katalogu /opt/alsa-libxx, wykonujemy standardową procedurę
instalacyjną: /configure; make; make install. W ten sam sposób instalujemy narzędzia i pakiety kompatybilności z OSS
z katalogów <alsa-utils-xx i <alsa-oss-xx.
Następnie przechodzimy do katalogu,
konfigurujemy, kompilujemy i instalujemy.
Pora na dołączenie modułów do jądra
systemu. Baza danych Alsa dotycząca
sprzętu [1] podpowie nam nazwę właściwego modułu odpowiedniego dla naszej
karty dźwiękowej (lub kilku kart). Dla karty
Terratec 128i PCI właściwym modułem
jest snd-es-1938:
modprobe /dev/snd-es1938; U
modprobe /dev/snd-mixer; U
modprobe /dev/snd-seq-oss
Po zakończeniu instalacji zauważymy, że
regulatory głośności są wyciszone. Możemy zatem skorzystać tutaj z alsamixer
z pakietu narzędzi i ustawić odpowiednią
głośność. Zakładając, że instalacja przebiegła pomyślnie, będziemy także mogli
korzystać z innych mikserów dźwięku typu
gamix czy kmix.
Do aktualizacji dodatków plug-in dla Alsa
(umożliwiających konwersję formatów
PCM na odpowiednie odmiany typów plików zależnych od używanej dystrybucji)
możemy skorzystać z odpowiedniego pliku
.asoundrc. Alsa doskonale radzi sobie bez
pliku .asoundrc, ale dzięki niemu będziemy mieli większą kontrolę nad naszą kartą
dźwiękową. Pod adresem [2] znajdują się
wskazówki dotyczące tworzenia plików.asoundrc.
Syntezatory, sekwencery, muzyczne stacje robocze oraz
ogromna ilość programów dla
muzyków i inżynierów dźwięku
– to wszystko przykłady dodatków plug-in współpracujących
z LDSPA.
Dystrybucje projektu Agnula,
przygotowane pod kątem wymagań muzyków i właścicieli studiów nagrań, są naprawdę potężnym narzędziem, będącym połączeniem wielkiego trio: Alsa,
Jack i LADSPA.
Dzięki wysiłkom ciągle rosnącej społeczności twórców oprogramowania
dźwiękowego,
z których większość pracuje na
aplikacjach Alsa, na rynku istnieje wiele oprogramowania
(zgodnego z Jack) – i kolekcja ta
ciągle zwiększa swoje rozmiary.
W Ramce 3 umieszczono zbiór
programów działających w oparciu o funkcjonalność Jack.
LADSPA kontra VST
LADSPA (ang. Linux Audio
Developers Simple Plugin Architecture) to darmowy odpowiednik standardu VST firmy
Steinberg, stworzonego dla dodatków plug-in programów takich jak Cubase czy Nuendo.
46
Lipiec 2004
Rysunek 4: amSynth przenosi nas w klasyczny świat dźwięku syntezatorów analogowych. Sterowanie parametrami odbywa się poprzez
kręcenie wirtualnymi pokrętłami – tak jak w prawdziwych syntezatorach analogowych.
www.linux-magazine.pl
Agnula
i Unia Europejska
Komisja Europejska zainwestowała w ciągu dwóch ostatnich lat
1,7 miliona euro w projekt
Alsa
Ramka 3: Aplikacje
Aplikacje darmowe i komercyjne dla Alsa
i Jack mogą łatwo ulegać wpływom aplikacji z ugruntowaną już pozycją na rynku. Poniżej umieściliśmy listę programów, wraz z krótkim opisem każdego
z nich. Bardziej szczegółowe informacje
można uzyskać w części Applications na
stronie głównej Alsa [5].
W najbardziej popularnych dystrybucjach
znajduje się Alsaplayer oraz odtwarzacz
multimedialny, obsługujący prawie wszystkie formaty plików, począwszy od płyt CD,
poprzez różne odmiany formatów PCM,
a na strumieniach danych MP3 skończywszy. Program oferuje także bogate możliwości wizualizacji dźwięku, typu wodospad
spektralny czy wskaźniki poziomu.
Jazz++ darmowy sekwencer MIDI ze
wszystkimi niezbędnymi funkcjami wymaganymi do profesjonalnej pracy nad muzy-
ką. Jazz++ działa także pod systemem
Windows. [6]
amSynth to gratka dla fanów klasycznych
syntezatorów analogowych. Tak jak w starych, dobrych czasach, tak i tutaj możemy
kręcić gałkami i modulować dźwięk jak
w MiniMoogach. [7]
Ardour to program do rejestracji wielościeżkowej dla aplikacji profesjonalnych.[8]
Simsam to prosty odtwarzacz próbek MIDI,
który można kontrolować za pomocą klawiatury MIDI. Tą aplikacją mogą być szczególnie zainteresowani prezenterzy muzyczni
(np. w dyskotekach). [9]
Warto tutaj wspomnieć także o sekwencerze
Audio/MIDI, MusE [10], BEAST [11] i syntezatorach AlsaModularSynth [12] i FluidSynth [13] oraz sekwencerze i edytorze nutowym o nazwie Rosegarden [14].
KNOW HOW
Agnula [4], żądając rozwinięcia aplikacji
muzycznych dla dystrybucji Linuksa opartych na Debianie i Red Hat. Wersje samoinstalujące i konfigurujące się DeMuDi
i ReHMuDi miały być przygotowane przed
31.03.2004 roku. Na stronie głównej projektu Agnula znajdują się gotowe do pobrania obrazy płyt CD dla obu dystrybucji.
Niestety, żadna z płyt CD nie jest płytą
rozruchową i obu brakuje prostej procedury instalacyjnej. Pakiety zawierają w większości starsze wersje, niż te dostarczane
oryginalnie z najnowszymi dystrybucjami.
Tak więc, rozwiązanie to jest bardzo interesujące. Dystrybucje Agnula zawierają zestaw aplikacji dla muzyków i inżynierów
dźwięku, a to daje szansę DeMuDi i ReHMuDi w walce z programami komercyjnymi
dla systemów na platformach Macintosh
i Windows.
■
Fedora Core 2 na DVD
Najnowsza wersja
DVD numer 6
Fedora Core 2
Linux Magazine ma przyjemność zaprezentować kolejną dystrybucję Linuksa.
Fedora to nazwa projektu Open Source,
tworzącego system operacyjny oparty na
Red Hat Linux.
Wymagania sprzętowe:
Komputer z procesorem Pentium
200 MHz Pentium dla trybu znakowego,
400 MHz lub lepszy dla trybu graficznego.
Twardy dysk – 520 MB (instalacja minimalna), 870 MB (serwer),
2 GB (Personal), 2,5 GB (Workstation),
5,5 GB (wszystko).
64 MB RAM dla instalacji korzystającej
z trybu znakowego, minimum 192 MB
dla instalacji graficznej, zalecane
256 MB lub więcej.
www.linux-magazine.pl
Lipiec 2004
47

Podobne dokumenty