Jestem zielony – jak zacząć?

Dziś odpowiadmy na list jednego z naszych czytelników:

Droga Redakcjo Tuksa Audiofila,

  naczytałem się tyle o Linuksie i tym całym Jacku, a wciąż nie wiem co uruchomić. Mam Windows 7 – co dalej? Gdzie ten Jacek się schował?

*Uwaga, wpis dla mocno początkujących.
W tym artykule pomijamy mnóstwo detali i nie tłumaczymy “dlaczego”.
W detale spróbujemy wejść w innych postach.

Drogi czytelniku,

   swojego Windowsa schowaj oczywiście tam gdzie jego miejsce – do piwnicy.

Pobierz jedną z dystrybucji Linuksa przeznaczoną dla multimediów.

My proponujemy Ubuntu Studio 13.04, ale jest też wiele innych (dyne:bolic, 64studio itd…). Pobierz wersję 64bit, jeśli Twój komputer ma odpowiedni procesor – nowy sprzęt sobie z tym poradzi. Ci, którzy posiadają starsze komputery (np. Intel Core2Duo – bierz 64bit, starszy Core Duo – 32bit) pobierają 32bit.

Można też użyć “zwykłej” dystrybucji, ale wtedy musisz sam doinstalować kilka programów i ew. poprawić konfigurację. Do wyboru, do koloru.

Dobrym pomysłem może być uruchomienie systemu z pendrive – będzie szybciej niż z CD i nie zmarnujesz płyty. Pomoże Ci w tym np. program UnetBootin – jest dostępny pod Linuksa i pod Windows.

Na próbę w ogóle nie musisz instalować systemu. Po prostu uruchom płytę i zacznij działać!

Uruchom Jack Audio Connection Kit.

a_menu_qjackctl

Jack jest serwerem dźwięku; nie ma domyślnego interfejsu graficznego, więc by ułatwić sobie życie użyjemy popularnego programu Qjackctl.

a_qjackctl1

Przy odrobinie szczęścia może nawet wystarczyć szybkie kliknięcie Start.

a_qjackctl4

Jeśli widzisz w czarnym “wyświetlaczu” qjackctl napis “Started” a dwie liczby pod nim nie stały się czerwone i nie rosną jak licznik długu narodowego to możesz przyjąć, że jest dobrze i przejść dalej. By upewnić się, że zadziała Ci nasz przykład poniżej, ustaw tylko Setup->MIDI Driver (prawy dolny róg) -> “seq”.

Te “czerwone liczby” to licznik tzw. xruns, pojawiają się gdy Twojemu systemowi nie udało się wypełnić lub opróżnić buforów na czas i przepadły jakieś dane audio. Objawia się to np. zepsutymi nagraniami (nagły, krótki peak/”skrzek”), albo wirtualną perkusją, która zgubiła rytm. Mówiąc potocznie – system przywiesił się na krótką chwilę, a nasz dźwięk przez ułamek sekundy leciał w kosmos.

a_qjackctl3

Przycisk “Start” i sąsiadujący mu “Stop”, które nasz etatowy grafik oznaczył na zrzucie ekranu cyfrą (1) już znacie. Pod (3), “Setup” znajdują się między innymi ustawienia naszej karty muzycznej, pod (2), “Connect” będziemy mogli połączyć “klientów” ze sobą.
Wybierz teraz “Setup” (3) i poeksperymentuj z opcjami.

a_qjackctl_setup1

Przejdziemy przez te opcje w dużym skrócie na przykładzie ustawień karty muzycznej autora tekstu. Wszelkie zmiany zostaną uwzględnione dopiero po ponownym uruchomieniu jack (wystarczy Stop->Start). W zakładce “Settings” znajdziesz między innymi:

  • Checkbox przy “Realtime” – by wymusić wysoki priorytet dla naszego serwera dźwięku.

  • Priority u mnie na 89, można zostawić na standardowe “(default)”.

  • Frames/Period – główne pole do eksperymentów. Gdy przeszkadzają Ci nadmierne xruns spróbuj sterować tym parametrem. Zacznij np. od 2048 i szukaj najniższej wartości przy której nie masz problemu z xruns.

  • Sample Rate – częstotliwość próbkowania. U mnie 48 000, gdyż taką posługuje się moja karta muzyczna. Popularną wartością jest 44 100.

  • Periods/Buffer – sprawdzające się wartości to zwykle 2 lub 3

  • Interface – tu wierzesz kartę muzyczną, jeśli masz ich więcej

  • Audio – tu wybierasz czy karta ma działać w trybie duplex, czy może tylko nagrywać lub tylko odtwarzać

  • Input/Output Device – tu możesz wybrać konkretne urządzenie do nagrywania. Karta z naszego przykładu ma ich akurat 3 na wejście i 4 na wyjście… lecz tylko jedna kombinacja ma sens :) Niestety w moim przypadku odnalazłem ją metodą prób i błędów. Pod przyciskiem “>” znajdziesz trochę wymowniejsze opisy.

  • Midi Driver – gdy będzie na “None” nie uda Ci się podpiąć urządzeń MIDI, ustaw na seq

  • Latency – czyli opóźnienie z jakim karta będzie procesowała dźwięk. W naszym przykładzie to 8ms i jak na amatorskie warunki uważam, że to świetny wynik (przy braku xruns).

Pozostałe zakładki dziś pominiemy. Zerknij tylko czy nie chcesz funkcjonalnej ikonki w trayu (Misc->Enable system tray icon). Jeśli Twoja karta w ogóle zaczęła działać, to reszta zabawy polega na znalezieniu takich ustawień, które:

  • nie powodują xruns

  • dają Ci wystarczające opóźnienie

Uwaga – jeśli będziesz mieć problemy z ponownym uruchomieniem jack po jakiejś wpadce, nawet mimo tego, że wróciłeś do „starych, dobrych” ustawień, nie restartuj jeszcze systemu, spróbuj w konsoli wpisać (nie potrzebuje roota):

killall jackdbus -9

To “wystarczające opóźnienie” (“latency”) będzie zapewne inne dla każdego. Muzyk grający na żywo z efektami będzie chciał mieć możliwie niskie opóźnienia kosztem np. stabilności systemu przy codziennym używaniu. Opóźnienie rzędu 0.1-0.2 sekundy będzie dla niego na tyle duże, że nie da rady grać do podkładu.  Z kolei komponując na spokojnie perkusję w automacie perkusyjnym przy opóźnieniu rzędu ćwierć sekundy możesz wciąż czuć się komfortowo. O bardziej agresywnych metodach zmniejszenia opóźnień opowiemy innym razem, teraz przyjmijmy, że nie ma co na siłę wchodzić np. w kernel czasu rzeczywistego, jeśli nie przekonasz się na własnej skórze, że to niezbędne.

Łączymy pierwsze programy

Teraz, jeśli mamy już uruchomiony Jack, dorzućmy do niego jakiś program. Spróbujemy ożywić syntezator Yoshimi (fork ZynAddDubFx).

Uruchom Yoshimi (Audio Production->Sound Generators->Yoshimi). To Twój syntezator. Możesz w nim wywołać “wirtualną klawiaturę muzyczną”, jest pod przyciskiem “virKbd”. Grać możesz między innymi klikając myszką na tych wirtualnych klawiszach, czy klawiaturą komputera (będąc w oknie Toshimi Virtual Keyboard używaj dolnego ciągu klawiszy – asdf… zxcv… – by grać. Wirtualne klawisze powinny się zacząć podświetlać, ale prawdopodobnie nie usłyszysz jeszcze dźwięku.

yoshimi1

Musimy jeszcze połączyć wejścia z wyjściami.

W Qjackctl wybierz “Connect” (przycisk “(2)”). W zakładce audio połącz yoshimi po lewej stronie z system po prawej, czyli wyjście dźwięku z syntezatora z wejściem dźwięku systemowego. Możesz też rozwinąć obie opcje i łączyć kanały wewnątrz każdego programu (“klienta” jack). Niektóre mają tylko jeden, albo dwa (stereo), inne mają ich dziesiątki. Tylko od Ciebie zależy co i jak połączysz.

a_qjackctl_polaczenia1

Przy takim połączeniu powinieneś już słyszeć co grasz w yoshimi.

Podłączmy teraz inną klawiaturę (też wirtualną!)

Dlaczego? Jako ćwiczenie. W podobny sposób będziesz łączyć inne programy, a także fizyczny sprzęt.

Zamknij wirtualną klawiaturę w Yoshimi i odpal Audio Production->Virtual MIDI Keyboard (w konsoli “vkeybd”). Wygląda prosto i jeszcze nie działa – nie jest do niczego podpięta. Przejść znów do połączeń w qjackctl. Tym razej zacznij od zakładki “Alsa”:

I połącz Virtual Keyboard z Midi Through. Co ciekawe ten krok będzie identyczny np. dla prawdziwej, fizycznej klawiatury MIDI (np. podłączonej po usb). Teraz naszą klawiaturką możemy się już bawić wewnątrz Jack – przejdź do zakładki MIDI.

a_qjackctl_midi1

I połącz “system” z syntezatorem. Teraz także nasza “zewnętrzna” klawiatura może wydawać polecenia syntezatorowi. Podobnie połączysz różne programy między sobą, przejmiesz kontrolę nad perkusją za pomocą klawiszy, albo na przykład… podłączysz elektroniczną perkusję prosto w automat perkusyjny pod linuksem i w ten sposób ją nagrasz.

a_vkeybd

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>