# Podręcznik programu &kmid;

## Wprowadzenie

Program &kmid; jest odtwarzaczem plików midi i karaoke dla środowiska &kde;. Niektóre jego funkcje trudno znaleźć w innych odtwarzaczach Midi dla systemu &UNIX;, są to m.in. grafika w czasie rzeczywistym, podświetlanie tekstu karaoke.

Program &kmid; działa w systemach operacyjnych &Linux; oraz FreeBSD. Ponieważ wykorzystuje sterownik dźwięku OSS to powinien działać na każdym systemie, w którym możliwa jest kompilacja środowiska &kde; oraz OSS. Program &kmid; obsługuje również sterownik dla kart dźwiękowych Ultrasound (&Linux; Ultrasound Project Driver) niezbędny do uzyskania dźwięku w kartach GUS. W planach jest realizacja wsparcia dla sterowników ALSA w chwili gdy udostępniać będą one urządzenie sekwencera.

Program &kmid; wyświetla tekst odtwarzanej piosenki, zmieniając kolor fragmentów tekstu zgodnie z odtwarzaną melodią. Dzięki temu użytkownik łatwo może śledzić związek pomiędzy tekstem piosenki a jej melodią.

Być może użytkownicy będą mieć tyle radości podczas korzystania z programu &kmid; ile programiści mieli podczas jego tworzenia.

Antonio Larrosa Jiménez larrosa@kde.org

### Funkcje programu &kmid;

Głównymi cechami programu &kmid; są:

- Program posiada bardzo przyjazny interfejs użytkownika do wyświetlania tekstu utworu w trybie karaoke, wraz z ich podświetlaniem w czasie rzeczywistym.

- Graficznie przedstawia nuty odtwarzane na poszczególnych kanałach midi, wyświetlając wirtualne klawiatury fortepianu.

- Zawiera najbardziej zaawansowaną funkcję mapowania Midi. Nie ma podobnej funkcji w żadnym systemie operacyjnym.

- Obsługuje mechanizm przenieś i upuść środowiska &kde; dzięki, któremu można przenieść dowolny plik midi z okna programu &konqueror;.

- Pozwala na zmianę szybkości odtwarzania utworu - zwolnić lub przyspieszyć zgodnie z życzeniem użytkownika.

- Wyświetla światła pozwalające na śledzenie rytmu muzyki.

- Definiowane przez użytkownika czcionki dla wyświetlanego tekstu karaoke.

- Obsługuje dwa standardy zapisu tekstu utworu w pliku midi: zdarzenia tekstowe i zdarzenia napisów (automatycznie rozpoznaje używany w pliku sposób zapisu).

- Obsługuje mechanizm sesji środowiska &kde;. Jeżeli przy wylogowaniu odtwarzany jest jakiś utwór, to po ponownym zalogowaniu, ten same utwór zacznie grać.

- Regulacja głośności w czasie rzeczywistym.

- Może odtwarzać uszkodzone pliki midi (takie które powodują zawieszenie innych odtwarzaczy)!

- Możliwe jest otwieranie plików midi/karaoke skompresowanych programem gzip tak jakby to był normalny plik midi.

- Zwiększa obciążenie procesora o około 0.1% na komputerze Autora (zależy to od stopnia złożoności odtwarzanego utworu).

- Wykorzystuje zewnętrzne syntezatory dźwięku, karty dźwiękowe AWE, FM oraz GUS (dla tej ostatniej konieczne jest zainstalowanie wcześniej sterownika LUP i programu "gusd").

- Działa w systemach &Linux;, FreeBSD (i być może w innych Unixo-podobnych ...).

## Korzystanie z programu

### Otwieranie utworów

Otwarcie utworu możliwe jest na kilka sposobów.

Za pomocą polecenia Otwórz... dostępnego w menu Plik, wywołuje się standardowe okno dialogowe, w którym można wybrać plik do otwarcia.

Można chwycić plik midi w oknie programu &konqueror; i upuścić w oknie programu &kmid;. Możliwe jest przeciąganie i upuszczanie jednocześnie kilku plików.

Podanie nazwy utworu w linii poleceń programu &kmid; także spowoduje jego otwarcie.

Ostatni sposób to wybranie utworu z listy utworów znajdującej się w bieżącej kolekcji.

### Odtwarzanie utworów

W celu odtworzenia utworu, należy najpierw go otworzyć, a następnie nacisnąć przycisk Odtwarzaj znajdujący się w pasku narzędzi. Można także wybrać pozycję Odtwarzaj w menu Utwór albo nacisnąć klawisz Spacji.

Uwaga przeciągnięcie i upuszczenie pliku w programie &kmid; automatycznie rozpocznie jego odtwarzanie (przeciągnięcie i upuszczenie kilku plików doda je do kolekcji i rozpocznie ich odtwarzanie po kolei).

W trakcie odtwarzania utworu w programie &kmid; można skorzystać z suwaka pozycji w utworze, naciskając na nim środkowy przycisk myszy i przesuwając go w dowolnie wybraną pozycję.

Jeżeli utwór jest odtwarzany zbyt szybko lub zbyt wolno, można skorzystać ze strzałek znajdujących się obok wyświetlacza LCD tempa w celu regulacji prędkości odtwarzania. Przywrócenie domyślnej prędkości odtwarzania odbywa się poprzez dwukrotne kliknięcie myszką na wyświetlaczu LCD.

Klawisz spacji jest wykorzystywany w dwóch przypadkach: w czasie odtwarzania naciśnięcie spacji działa tak jak przycisk wstrzymania lub jak pozycja Wstrzymaj w menu Utwór, naciśnięcie Spacji w chwili gdy utwór nie jest odtwarzany, spowoduje włączenie odtwarzania.

### Wyświetlanie tekstu

Dostępne są dwie metody przechowywania w pliku tekstu utworu, są to tzw.: Zdarzenia tekstowe albo Zdarzenia tekstu piosenki. Część plików wykorzystuje pierwszy rodzaj, część drugi, niektóre zawierają oba rodzaje ale są też utwory nie zawierające tekstów piosenek.

Program &kmid; pozwala na wybranie rodzaju wyświetlanych zdarzeń, co więcej dokonuje automatycznego wyboru sposobu wyświetlania zgodnie z zawartością pliku z utworem, aby użytkownik nie musiał ręcznie dokonywać zmian przy każdej piosence. Zaznaczenie pozycji Automatyczny wybór tekstu w menu Ustawienia spowoduje automatyczny wybór rodzaju zdarzeń dla tekstu karaoke, ale użytkownik w każdej chwili może ten rodzaj zmienić.

Wybór wyświetlanego rodzaju napisów odbywa się poprzez odpowienie pozycje menu Ustawienia lub poprzez naciśnięcie klawiszy 1 lub 2 dla włączenia wyświetlania odpowiednio Zdarzeń tekstowych lub Zdarzeń tekstu piosenki.

## Kolekcje

Kolekcja jest to lista plików midi umieszczonych w zbiorcze, które są odtwarzane po kolei jeden po drugim. W tej sekcji zamieszczone są informacje dotyczące korzystania z kolekcji oraz porady pozwalające na pełne wykorzystanie tej funkcjonalności programu.

### Tworzenie kolekcji

Aby utworzyć kolekcję, należy najpierw otworzyć okno dialogowe Menedżera kolekcji poprzez wybranie pozycji Kolejność ... w menu Kolekcje. Następnie należy kliknąć na przycisk Nowy i wprowadzić nazwę kolekcji.

Można skopiować całą kolekcję poprzez wybranie jej na liście i naciśnięcie przycisku Kopiuj. Po naciśnięciu zostanie wyświetlone pole dla wprowadzenia nazwy nowej kolekcji, która będzie zawierać wszystkie utwory z kopiowanej kolekcji.

Jeżeli użytkownik utworzy więcej niż jedną kolekcję, to może przełączać się pomiędzy nimi za pomocą Menedżera kolekcji.

### Kolekcja tymczasowa

Kolekcja tymczasowa jest kolekcją przechowującą utwory, które użytkownik chce zagrać, ale których nie chce dodawać do żadnej utworzonej kolekcji.

Ta kolekcja nie jest zapisywana przed zamknięciem programu. Należy o tym pamiętać przed dodaniem do niej dużej liczby utworów.

W dalszej części tej sekcji, znajdują się informacje pozwalające na lepsze zrozumienie mechanizmu kolekcji tymczasowych.

### Dodawanie utworów do kolekcji

Jak korzystać z funkcji Automatycznie dodawaj do kolekcji

W programie istnieje kilka sposobów dodawania utworu do kolekcji.

W każdej z omawianych metod, należy wcześniej wybrać kolekcję do której użytkownik chce dodawać utwory. Wybór kolekcji dokonywany jest w oknie dialogowym Menedżera kolekcji. Następnie można naciskając przycisk Dodaj wywoływać okno dialogowe otwierania plików, pozwalające na wskazanie pliku z utworem do dodania.

Działanie pozostałych metod uzależnione jest od stanu opcji Automatycznie dodawaj do kolekcji.

Jeżeli włączona została opcja Automatycznego dodawania do kolekcji, to otwarcie pliku (za pomocą menu Plik Otwórz... lub mechanizmu przeciągnij i upuść) spowoduje dodanie go (ich) do aktywnej kolekcji bez konieczności wykonywania żadnych dodatkowych czynności.

Jeżeli nie została włączona opcja Automatycznie dodawaj do kolekcji, to każde otwarcie pliku z utworem spowoduje aktywowanie kolekcji tymczasowej i dodanie do niej otwieranego utworu (wcześniej poprzednia zawartość tej kolekcji jest usuwana).

### Usuwanie utworów z kolekcji

Aby usunąć utwór z kolekcji, należy otworzyć okno dialogowe Menedżera kolekcji, wybrać właściwą kolekcję i nacisnąć przycisk Usuń.

### Odtwarzanie po kolei lub losowe

Użytkownik może określić kolejność odtwarzania utworów. Po wybraniu opcji W kolejności z menu Kolekcje -> Kolejność odtwarzania utwory będą odtwarzane w takiej kolejności, w jakiej zostały dodane do kolekcji.

Po wybraniu opcji Losowo program &kmid; wygeneruje zmienną o losowej wartości i na jej podstawie będzie odtwarzał utwory z kolekcji. Program będzie korzystał z wartości tej zmiennej przy generowaniu losowej listy utworów do odtwarzania (ta lista jest tworzona dlatego, iż nie jest pożądane odtwarzanie tego samego utworu dwa razy pod rząd, a także konieczne dla poprawnego działania funkcji przejścia do poprzedniego utworu za pomocą przycisku Poprzedni utwór).

Losowa kolejka odtwarzania kolekcji będzie generowana każdorazowo przy dodawaniu lub usuwaniu utworów do kolekcji albo po wybraniu pozycji Losowo z menu.

### Wybieranie utworu w kolekcji

Wybór utworu do odtwarzania odbywa się w `Menedżerze kolekcji` lub za pomocą pola listy znajdującego się nad wyświetlanym tekstem karaoke.

Można również przejść do następnego utworu poprzez wybranie pozycji Następny utwór z menu Utwór, skorzystanie z przycisku Następny utwór na pasku narzędzi lub naciśnięcie strzałki w prawo na klawiaturze.

Aby przejść do poprzedniego utworu w kolekcji, trzeba wybrać pozycję Poprzedni utwór z menu Utwór, skorzystać z przycisku Poprzedni utwór lub na klawiaturze nacisnąć klawisz strzałka w lewo.

### Usuwanie kolekcji

Aby usunąć kolekcję, wystarczy otworzyć Menedżera kolekcji, wybrać kolekcję do usunięcia z listy i nacisnąć przycisk Usuń. Proste, prawda?

Należy pamiętać, iż nie jest możliwe skasowanie kolekcji tymczasowej. Nie stanowi to jednak problemu, jako że nie jest ona zapisywana przy kończeniu pracy z programem &kmid;.

## Mapy Midi

### Co to jest mapa Midi?

Mapa midi jest algorytmem przyporządkowania (mapowania) pewnych zdarzeń midi do innych zdarzeń midi.

Ta funkcja jest niezbędna w przypadku, gdy posiadany syntezator nie obsługuje standardowych zdarzeń midi (tzn. nie jest zgodny ze standardem General Midi). W takim przypadku, mapa midi, będzie tłumaczyła zdarzenia General Midi na zdarzenia zrozumiałe dla tego syntezatora.

Przykładowo, można utworzyć mapę midi konwertującą wszystkie zdarzenia `Change patch to Bright Piano` na zdarzenie `Change patch to Trumpet`, dzięki temu zawsze gdy utwór będzie próbował odtworzyć pianino, słyszalny będzie dźwięk trąbki.

Chociaż może to się wydawać dziwne (dlaczego ktoś chce słyszeć trąbkę, skoro w utworze ma być zagrane pianino) to jest to jednak bardzo przydatne. Standard GM (General Midi) definiuje akcję syntezatora na otrzymanie polecenia zmiany instrumentu. Jeżeli wywoływany jest instrument `0`, to syntezator powinien zagrać na instrumencie `Pianino`, jednak starsze modele syntezatorów mogą dla tego semego polecenia (`0`) użyć instrumentu `Gitara elektryczna`. Taki syntezator może na przykład definiować dźwięk pianina poleceniem `3`. W takich sytuacjach mapy midi stają się bardzo przydatne, powodują zmianę wszystkich poleceń `zmień instrument na 0` na polecenie `zmień instrument na 3` dzięki czemu odtwarzany jest poprawny dźwięk w odpowiednim miejscu.

### Czy mapa Midi jest potrzebna?

W skrócie, jeżeli użytkownik nie wykorzystuje zewnętrznego syntezatora dźwięku to odpowiedź brzmi nie!

Jeżeli użytkownik posiada jedynie kartę dźwiękową, mapy midi nie będą potrzebne, gdyż wszystkie karty dźwiękowe są zgodne ze standardem GM (dotyczy to kart AWE, GUS, kart FM i innych).

Jeżeli użytkownik posiada zewnętrzny syntezator, który nie jest zgodny ze standardem General Midi, to musi utworzyć dla niego mapę midi. Może to nawet zająć całe popołudnie dostosowywania i wypróbowywania różnych instrumentów, ale efekt końcowy wynagrodzi cały poświęcony czas. W trakcie tych czynności użytkownik odkryje wszystkie ukryte funkcje swojego syntezatora. Na przykład niedrogi syntezator Yamaha PSS-790, który nie jest zgodny ze standardem GM oraz nie dysponuje wszystkimi instrumentami wymaganymi przez ten standard, może dzięki mapowaniu midi w &kmid; zabrzmieć lepiej od niejednej karty dźwiękowej (włączając w to karty AWE :-)). Dzieje się tak z powodu wysokiej jakości dźwięku odtwarzanego przez zewnętrzne syntezatory (nawet te niezgodne ze standardem GM)

### Tworzenie mapy Midi

Nie ma żadnego programu pozwalającego na tworzenie map midi, niestety należy ręcznie edytować pliki map midi za pomocą dowolnego edytora tekstu.

Mapa midi jest plikiem tekstowym zawierającym wszystkie niezbędne przyporządkowania zdarzeń przy odtwarzaniu muzyki.

Zawiera on cztery sekcje: `PATCHMAP`, `KEYMAP`, `CHANNELMAP` oraz `OPTIONS`.

Każda sekcja musi pojawić się tylko raz, nie dotyczy to sekcji `KEYMAP` która może pojawiać się dowolną liczbę razy, pod warunkiem że każde jej wystąpienie posiada inny identyfikator TextID (więcej na ten temat poniżej).

Ogólna struktura pliku mapy Midi jest następująca:

    DEFINE PATCHMAP
    ...
    END

    DEFINE KEYMAP "Nazwa mapy klawiszy"
    ...
    END

    DEFINE KEYMAP "Inna mapa klawiszy"
    ...
    END

    DEFINE CHANNELMAP
    ...
    END

    OPTIONS
    ...
    END

Widać wyraźnie że polecenie `DEFINE` wykorzystywane jest do określenia początku sekcji (nie dotyczy to polecenia `OPTIONS`) zaś polecenie `END` musi być umieszczone na końcu sekcji.

Wstawiwanie komentarza do pliku jest możliwe poprzez umieszczenie znaku `#` na początku wiersza.

Autorzy programu proszą użytkowników o nadsyłanie stworzonych przez nich plików map midi, tak aby wsparcie dla większej liczby syntezatorów niezgodnych ze standardem General Midi mógł być dodany do kolejnych wersji programu.

#### Sekcja `PATCHMAP`

W tej sekcji definiuje się przyporządkowania instrumentów pomiędzy standardem GM oraz ustawieniami syntezatora. Składnia polecenia jest następująca:

    (Nazwa instrumentu GM)=(N) [AllKeysTo M]

Gdzie `N` jest numerem instrumentu syntezatora, który jest taki sam jak instrument standardu GM.

Należy podkreślić, iż to co znajduje się po lewej stronie znaku równości jest ignorowane, dlatego że instrumenty GM muszą być zdefiniowane w kolejności (od 0 do 127). Nie można więc zmieniać kolejności definiowanych instrumentów albo pomijać któregokolwiek ze 128 instrumentów standardu General Midi.

Opcjonalny parametr `AllKeysTo M` jest wykorzystywany do przekierowywania wszystkich nut zagranych na danym instrumencie do nuty o numerze `M`. Przykładowo jeżeli wykorzystywany syntezator nie posiada dźwięku wystrzału (instrument 127 w standardzie Generl Midi) możemy przypisać go do odgłosu bębna na kanale perkusyjnym (np. klawisz 60), który brzmi podobnie do wystrzału. Dokonuje się tego w 127 linii sekcji `PATCHMAP` poleceniem:

    Gunshot       =100 AllKeysTo 60

W przykładzie powyżej, jeżeli utwór zagra nutę na instrumencie 127 (odgłos wystrzału), będzie on przekształcony na instrument 100 (zestaw instrumentów perkusyjnych na syntezatorze) oraz zagra nutę 60 (niezależnie od zagranej w utworze nuty/naciśniętego klawisza).

Zwrot Zestaw instrumentów perkusyjnych oznacza specjalny rodzaj instrumentu syntezatora, w którym każdy naciśnięty klawisz odtwarza dźwięk innego instrumentu (bębna, cymbałków, tam tamu, marakasów itd.). Nie jest to jeden instrument perkusyjny odtwarzany w różnej wysokości tonu w zależności od naciśniętego klawisza.

#### Sekcja `KEYMAP`

Sekcja `KEYMAP` wykorzystywana jest do zdefiniowania sposobu w jaki każdy pojedynczy klawisz będzie mapowany, w ramach określonego kanału lub instrumentu. Składnia polecenia jest następująca:

    DEFINE KEYMAP "Nazwa mapy klawiszy"
    C 0 =0
    C#0 =1
    D 0 =2
    ...
    END

Tak samo jak w przypadku sekcji `PATCHMAP`, bardzo ważna jest kolejność wierszy, koniecznie też należy pamiętać aby wystąpiły wszystkie (128) klawiszy.

Ponieważ można definiować różne mapy klawiszy dla różnych kanałów i instrumentów, należy podać inną nazwę dla każdej mapy w pierwszym wierdzy definicji.

Kapy klawiszy są wykorzystywane do definiowania klawiszy w kanale perkusyjnym. W dostarczanych z programem mapach midi można zaobserwować kilka przykładów.

#### Sekcja `CHANNELMAP`

W tej sekcji można dokonać konwersji kanałów. Na przykład jeżeli zachodzi potrzeba zamienienia pierwszego i drugiego kanału, można tego łatwo dokonać za pomocą sekcji `CHANNELMAP`.

Jednak opcja ta najbardziej się przydaje w sytuacji posiadania syntezatora posiadającego kanał perkusyjny na określonym kanale midi (standard General Midi wykorzystuje do tego kanał 10, inne syntezatory mogą używać kanału 16 lub 8).

Ponieważ urządzenia midi korzystają z 16 kanałów, to sekcja `CHANNELMAP` posiada 16 linii, numerowanych od 0 do 15, tak jak w przykładzenie poniżej:

    (N) = (M) [Keymap "Nazwa"] [ForcePatch x]

Gdzie `N` to numer kanału, który ma zostać zmapowany na kanał `M`. Jeżeli podany jest parametr `Keymap` to dla tego kanału zostanie użyta mapa klawiszy o nazwie `Nazwa` (musi ona być wcześniej zdefiniowana w pliku mapy). Parametr `ForcePatch` powoduje zignorowanie wszelkich rozkazów zmiany instrumentu na tym kanala, i zamiast tego wybór instrumentu o numerze: `x`.

Opcja `ForcePatch` może być wykorzystana na przykład do tego, aby program zawsze korzystał z instrumentów perkusyjnych na kanale perkusji.

#### Sekcja `OPTIONS`

Sekcja `OPTIONS` pozwala na wpisanie kilku ogólnych opcji, które mogą być użyteczne:

    OPTIONS
    PitchBenderRatio = r
    MapExpressionToVolumeEvents
    END

Można wpisać obie opcje, jedną z nich lub nie wpisywać żadnej.

Wartość parametru `PitchBenderRatio r` jest współczynnikiem wykorzystywanym do mnożenia wartości parametrów rozkazu pitch bender (zmiana wysokości tonu). To znaczy, jeżeli zapis utworu w pliku midi zawiera rozkaz zmiany wysokości tonu o wartość `n` to do syntezatora zostanie wysłana wartość `n*(r/4096)` (stała wielkość `4096` jest niezbędna aby nie zapisywać liczb rzeczywistych z przecinkiem w pliku mapy).

Parametr ten jest wykorzystywany, ponieważ standard GM definiuje, iż syntezator po otrzymaniu rozkazu zmiany tonu o wartość 4096, powinien zagrać ton o jedną nutę wyższy. Niektóre syntezatory jednak po otrzymaniu wartości 4096 mogą powodować zmianę wysokości tonu o dwie lub więcej nut (czasami o całą oktawę) wyżej. Aby rozwiązać ten problem, najlepiej jest posłużyć się metodą prób i błędów dla określenia wartości współczynnika, która spowoduje iż &kmid; zamiast wartości 4096 będzie wysyłał wartość odpowiednią dla danego syntezatora.

Jeżeli zostanie ustawiona opcja `MapExpressionToVolumeEvents`, a plik midi będzie zawierał polecenia ustawienia ekspresji, program &kmid; wyśle zamiast niego polecenie regulacji głośności, które jest obsługiwane przez większość syntezatorów niezgodnych ze standardem GM. Polecenie ekspresji ma podobne działania, i jest wykorzystywane w wielu plikach midi do wyciszania dźwięku pod koniec utworu. Jeżeli użytkownik ma przeczucie, iż muzyka powinna być odtwarzana coraz ciszej i ciszej, to może wypróbować czy ustawienie tej opcji spowoduje pozytywny efekt. Jeżeli tak się stanie, to oznacza iż syntezator ignoruje rozkazy zmiany ekspresji bo ich po prostu nie obsługuje.

### Korzystanie z map Midi

Aby zastosować mapę midi, należy otworzyć okno dialogowe Konfiguracja urządzeń Midi za pomocą pozycji Ustawienia Midi ... w menu Ustawienia.

Następnie należy kliknąć na przycisk Przeglądaj ..., i wybrać plik z mapą midi, a następnie cieszyć się muzyką ! :-)

## Funkcje zaawansowane

### Widok kanału

Widok kanałów to okno, w którym pokazany jest zestaw klawiatur fortepianowych (po jednej dla każdego kanału midi). W czasie odtwarzania, nuty grane na każdym kanale powodują podświetlanie odpowiednich klawiszy, dzięki czemu można łatwo zidentyfikować, co odtwarzają poszczególne instrumenty.

#### Zmiana instrumentów

W widoku kanałów można dokonać zmiany instrumentu odtwarzającego muzykę na poszczególnych kanałach. Dla każdego kanału dostępny jest przycisk wyboru z listy, za pomocą którego można wybrać pożądany instrument. Po wykonaniu tej zmiany, zielona lampka znajdująca się obok przycisku zmieni kolor na czerwony, dla podkreślenia iż nie jest to domyślny instrument dla tego kanału.

Jeżeli użytkownik chce ustawić z powrotem domyślny instrument, to musi kliknąć na czerwony przycisk, co spowoduje automatyczne ustawienie domyślnego instrumentu.

#### Zmiana trybu wyświetlania

Dla okna widoku kanałów dostępne są dwa możliwe sposoby wyświetlania odtwarzanych nut. Można je wybrać w pozycji Opcje widoku kanału... w menu Ustawienia.

Użytkownik może wybrać pomiędzy trybem wyświetlania granych nut za pomocą wciśniętych klawiszy pianina (Widok 3D) i trybem w którym klawisze oprócz wciśnięcia są również podświetlane na czerwono dla łatwiejszej identyfikacji (Widok 3D - wypełniony). Jeżeli użytkownik gra na pianinie lub innym instrumencie muzycznym, to może z tego skorzystać do nauki gry wybranego utworu. Autor często używał tej funkcji gdyż wraz z funkcją redukcją prędkości odtwarzania pozwala ona bardzo łatwo nauczyć się nowych kompozycji.

### Wyświetlacz LCD: tempo

Pokazuje szybkość odtwarzania utworu w taktach na minutę. Im wyższa wartość, tym szybciej utwór jest odtwarzany.

Można również zmienić tempo utworu, jeżeli gra zbyt szybko i użytkownik nie nadąża za napisami może zwolnić szybkość odtwarzania. Zmiana tempa odbywa się za pomocą strzałek znajdujących się po obu stronach wyświetlacza LCD z tempem utworu.

Po zmianie tempa odtwarzania, można powrócić do domyślnego tempa poprzez dwukrotne kliknięcie na wyświetlaczu LCD.

## Znaczenie klawiszy

Klawisz | Działanie
Spacja | Odtwarza załadowany utwór, lub zatrzymuje go jeżeli jest on w trakcie odtwarzania.
Backspace | Zatrzymuje odtwarzanie
Strzałka w prawo | Przechodzi do następnego utworu w bieżącej kolekcji
Strzałka w lewo | Przechodzi do poprzedniego utworu w kolekcji
Strzałka w górę | Przesuwa tekst utworu o jedną linię do góry
Strzałka w dół | Przesuwa tekst utworu o jedną linię w dół
Page Up | Przesuwa tekst utworu o jeden ekran do góry
Page Down | Przesuwa tekst utworu o jeden ekran w dół
1 | Wyświetla zdarzenia tekstowe
2 | Wyświetla zdarzenia tekstu utworu
&Ctrl;O | Otwiera utwór
&Ctrl;Q | Kończy pracę z programem
F1 | Otwiera tą dokumentację

## Często zadawane pytania

Czym właściwie jest plik midi?

Plik midi zawiera informację o sposobie odtwarzania utworu, tzn. nuty, rytm, głośność, itp. Powoduje to, iż ten sam plik midi odtwarzany na różnych urządzeniach, da różne efekty, tak samo jak identyczny zapis nutowy jest w różny sposób grany przez różnych muzyków.

Mogę uzyskać lepszą jakość dźwięku w odtwarzaczu mp3/wab, dlaczego więc powinienem używać programu &kmid;?

Oczywiście nikogo nie można zmuszać do korzystania z programu &kmid;, jednak typowy plik midi ma rozmiar 50 Kb, zaś plik mp3 to około 4Mb (jak widać jest to współczynnik kompresji 1:80). Za pomocą dobrej klasy syntezatora, można uzyskać porównywalną jakość dźwięku. Dodatkowo, korzystając z pliku midi można zmieniać wybrane instrumenty, zmieniać tempo odtwarzania, itp.. Pozwala to na dużo większy poziom kontroli odtwarzanej muzyki.

Moja karta AWE nie chce działać z programem KMid, co mogę zrobić?

Taka sytuacja może się wydarzyć przykorzystaniu z binarnej dystrybucji programu &kmid; (plik rpm lub deb). Przyczyną jest to, iż nie program nie został skompilowany z włączoną obsługą kart AWE. W tej sytuacji najlepiej jest pobrać z internetu kod źródłowy programu (na przykład ze strony domowej programu &kmid;).

Chcę dodać cały folder plików do kolekcji, jednak dodawanie po kolei pojedynczych utworów jest bardzo pracochłonne i mało zabawne.

Racja, dlatego też w &kmid; można skorzystać z mechanizmu przeciągnij i upuść. Wystarczy uruchomić program &konqueror;, zaznaczyć katalog z utworami, które użytkownik chce dodać, przeciągnąć go i upuścić w oknie programu &kmid;.

Wcześniej należy włączyć opcję Automatycznie dodaj do kolekcji, dzięki czemu utwory z katalogu zostaną dodane do bieżącej kolekcji. Jeżeli opcja będzie wyłączona, to utwory zostaną dodane do kolekcji tymczasowej.

Nie mogę nadążyć za tekstem utworu, jest odtwarzany zbyt szybko!

Można skorzystać ze strzałek znajdujących się obok wyświetlacza LCD tempa w celu zmniejszenia prędkości odtwarzania. Przywrócenie domyślnej prędkości odtwarzania odbywa się poprzez dwukrotne kliknięcie myszką na wyświetlaczu LCD.

## Uwagi końcowe

### Kilka przydatnych sztuczek

Poniżej autor przedstawia kilka sztuczek pozwalających na wykorzystanie wszystkich możliwości programu &kmid;:

Otwieranie plików

- Autor programu &kmid; zawsze na swoim pulpicie &kde; posiada (w trakcie słuchania plików midi) otwarte okno programu &konqueror; z widokiem zawartości głównego katalogu plików midi oraz okno programu &kmid;. W ten sposób, po zakończeniu odtwarzania aktywnej kolekcji lub gdy chce on zagrać jakiś plik, przenosi wybrane pliki midi z okna programu &konqueror; do programu &kmid; z pomocą mechanizmu przeciągnij i upuść.

  W przypadku jeżeli użytkownik chce zagrać kilka plików midi, ale nie chce dodawać ich do żadnej kolekcji, musi wyłączyć opcję Automatycznego dodawania do kolekcji znajdująca się w menu Kolekcje i dopiero wtedy otworzyć pliki. Po otwarciu zostaną one dodane do kolekcji tymczasowej.

Inny sposób na utworzenie nowej kolekcji

- Przykładowo użytkownik posiada pliki midi o nazwach `A.mid`, `B.mid` oraz `C.mid`. Początkowo chce on zagrać jedynie pierwszy plik, wtedy wyłącza opcję Automatycznego dodawania do kolekcji i otwiera plik `A.mid`. Po tej operacji utworzona zostanie tymczasowa kolekcja z jednym plikiem midi.

  Następnie użytkownik chce również odtworzyć pliki B oraz C, i utworzyć kolekcję z całą jego zawartości. Jak może to zrobić?

  Dokona tego w prosty sposób, najpierw należy wyłączyć opcję Automatycznie dodawaj do kolekcji a następnie otworzyć pliki`B.mid` oraz `C.mid` (dowolną spośród wcześniej opisanych metod). To spowoduje, iż zostaną one dodane do kolekcji tymczasowej, w której znajdować się będą pliki `A.mid`, `B.mid` oraz `C.mid`. W tym momencie, można otworzyć okno Menedżera kolekcji wybrać na liście kolekcję tymczasową i następnie nacisnąć przycisk `Kopiuj`, wprowadzić nazwę nowej kolekcji i zatwierdzić zmiany. Po tej operacji użytkownik zostanie zapisana nowa kolekcja, zawierająca pliki midi A,B i C, która nie zostanie usunięta po zakończeniu pracy programu &kmid;.

### Przyjaciele twórców programu &kmid;

Wielu ludzi przysłało Autorowi pliki midi oraz kartki pocztowe, za co serdecznie im dziękuje. Słuchanie muzyki i oglądanie kartek podtrzymuje jego zapał i ochotę do dalszej pracy nad programem &kmid;.

- Ola Sigurdson - `Taking Care of Business` (Bachman Turner Overdrive)

- EG Lim - Bardzo ładna pocztówka z Penang.

- Guenther Starnberger - `Amadeus` (Falco) i `Schrei Nach Liebe` (Die Aerzte)

- Leandro Terrés - `All That She Wants` i `The Sign` (Ace of Base)

- Nick Stoic - Dwa pliki midi

### O autorze

Program &kmid; został napisany przez Antonio Larrosa Jiménez, z Málagi (Hiszpania). Jest on studentem Matematyki na Uniwersytecie w Maladze, w chwili obecnej na trzecim roku, dlatego też nie ma zbyt wiele czasu na zajmowanie się swoim hobby. Jego zainteresowania to: programowanie, kolekcjonowanie utworów midi, granie (muzyki) i dowodzenie twierdzeń ;-).

Jeżeli ktoś chce się dowiedzieć skąd można pobrać pliki midi lub karaoke, ma jakieś pytanie lub chce przesłać informację o błędzie, pomysł na rozwój programu, lub tylko uszczęśliwić autora, wystarczy że wyśle email na adres: larrosa@kde.org lub antlarr@arrakis.es

lub napisz do autora kartkę pocztową na adres:

    Antonio Larrosa Jimenez
    Rio Arnoya 10 5B
    Malaga (Spain)

Autor programu będzie naprawdę szczęśliwy, jeżeli dostanie od użytkowników kartkę pocztową lub plik midi/karaoke z muzyką lokalną. Każdy kto prześle kartkę pocztową lub plik midi znajdzie się na liście przyjaciół programu &kmid; (no chyba, że nie wyrazi na to zgody). Autor prosi o kontakt przed wysłaniem do niego plików midi, ponieważ może takie już mieć.

Autor chciałby podkreślić, że program &kmid; powstał w całości w jego wolnym czasie, nie uzyskał on wsparcia finansowego od żadnego przedsiębiorstwa czy też organizacji. Dlatego należy pamiętać, iż jedyną rzeczą zachęcającą go do dalszej pracy nad programem jest informacja zwrotna od jego użytkowników (może to być pocztówka, jak też zwykły e-mail).

Autor programu dziękuje za pomoc w tworzeniu programu &kmid; następującym osobom:

- Paul J. Leonard P.J.Leonard@bath.ac.uk - Wsparcie dla kart dźwiękowych AWE

- Sebestyen Zoltan szoli@digo.inf.elte.hu- wersja dla FreeBSD oraz testy obsługi kart AWE

- Christian Esken esken@kde.org - Za organizację wsparcia ze strony KDE Multimedia.

- Stephan Kulow coolo@kde.org- Skrypty konfiguracyjne i pomoc w korzystaniu z `automake` oraz `CVS`

- Jaroslav Kysela - Za pomoc w tworzeniu sterownika &Linux; Ultrasound Project

- Takashi Iwai i Joseph H. Buehler - Poprawka błędu zbyt wysokiej częstotliwości dźwięku w kartach AWE

- Adrian Knoth - Dobre wiadomości i sugestie.

- Kevin Street - Wsparcie dla systemu FreeBSD 3.0

- Pozostałe podziękowania dla: Jose Luis Sanchez za testowanie wsparcia dla kart GUS, Ignacio Garcia za testowanie wsparcia dla kart AWE, Hans Petter Bieker, Ola Sigurdson, Marc Diefenbruch, Peter Gritsch, Magnus Pfeffer, Urko Lusa, Peter-Paul Witta, Thorsten Westheider, Ulrich Cordes i pozostałych osób, które wysłały poprawki do programu, zgłoszenie błędu lub email zachęcający do dalszej pracy nad nim.

- Oczywiście do wszystkich wspaniałych muzyków w sieci internet przesyłających swoje pliki midi i karaoke.

Krzysztof Woźniak wozniakk@ceti.pl

### Zasługi i licencje

Prawa autorskie do programu &kmid; (c) 1999-2001 Antonio Larrosa Jiménez

Prawa autorskie do dokumentacji &kmid; (c) 1999-2001 Antonio Larrosa Jiménez

&underFDL; &underGPL;

## Instalacja

### Jak zdobyć program &kmid;

&install.intro.documentation;

Program &kmid; może również zostać pobrany ze strony domowej programu: http://www.arrakis.es/~rlarrosa/kmid.html. Strona zawiera informacje o rozwoju programu, informacje dodatkowe i zrzuty ekranu oraz listę stron internetowych, z których można pobrać utwory karaoke, itp.

### Wymagania

Program &kmid; do poprawnego działania wymaga:

- Zainstalowane &kde;. (Hmm... prawdopodobnie czytelnik już spełnia ten warunek ;-) )

- Karta dźwiękowa. Autorzy zalecają stosowanie dobrej karty dźwiękowej i/lub zewnętrznego syntezatora dźwięku, jako że jakość odtwarzanej muzyki bardzo zależy od posiadanego sprzętu. Inaczej muzyka będzie odtwarzana na urządzeniu stosującym syntezę FM a inaczej na kartach dźwiękowych AWE.

  Jeżeli użytkownik nie posiada karty dźwiękowej, to może skompilować program definiując stałą `MODE_DEMO_ONLYVISUAL`. Spowoduje to działanie programu tak jakby karta dźwiękowa była zainstalowana, lecz oczywiście nie usłyszy on żadnej muzyki :-(.

### Kompilacja i instalacja

&install.compile.documentation;

Razem z programem dostarczono kilka przykładowych plików, zainstalowane są one w katalogu: `$dollar;`KDEDIR`/share/apps/kmid`

W przypadku jakichkolwiek problemów z działaniem programu, najlepiej kontaktować się z wykorzystaniem jednej z list dyskusyjnych środowiska &kde; lub bezpośrednio z autorem.