Jelikož se na referátu s tímto zadáním podílejí celkem tři studenti, byl rozdělen na tři odlišné části. První část je zaměřena na nadstavby sázecího systému TeX, druhá část se zabývá možnostmi převodu soborů WAV na MIDI a tato poslední část zmiňované trilogie je zaměřena na interaktivní editory notového zápisu pro následnou sazbu not.
Tento referát je zaměřen na přehled nejrozšířenějších interaktivních sázecích systémů v prostředí linuxu. Nejedná se o úplný výčet všech produktů v této oblasti, ale pouze o výběr těch, které jsou již použitelné pro reálnou sazbu not a zároveň jsou distribuovány pod GNU GPL licencí. Ve většině případů se nejedná o zcela soběstačné systémy, ale "pouze" o interaktivní nadstavbu k nějakému již existujícímu sázecímu systému, který bývá většinou založen na bázi TeXu (MusixTeX, PMX, LilyPond). Ve většině případu umožňují také například export do formátu MIDI a v některých případech i do XML, které bývá označováno jako MusicXML.
Pro vyzkoušení schopností jednotlivých sázecích programů jsem si vybral refrén písně Jožin z bažin od Ivana Mládka (hudba i text). Notový zápis této písně sice nepatří k nejsložitějším, ale i tak pokrývá základní požadavky většiny písní. Navíc se jedná o celkem rozumný test reálné použitelnosti daného sázecího programu. Pokud program neumožní vysázet tuto píseň, pak je pro rozumnou práci naprosto nepoužitelný.
Zvukové systémy jsou součástí linuxového jádra. Slouží pro vytvoření jednotného API pro přímou komunikaci programů s různými zvukovými kartami. Mohou být přeloženy jednak jako moduly do jádra, nebo mohou být přímo jeho součástí. Pro většinu interaktivních systémů pro sazbu not jsou téměř nezbytností, neboť tyto systémy většinou umožňují vysázenou partituru přehrát na zvukové kartě pomocí MIDI rozhraní.
Jedná se o starší verzi API, která je standardní součástí linuxových jader řady 2.4.x. Volně šiřitelná je pouze chudší verze OSS/Free, ve které je podpora různých typů zvukových karet poměrně slabá. V současné době je tento systém je již na ústupu a bude postupně nahrazen dokonalejším zvukovým systémem ALSA.
Jedná se o celkově modernějšího nástupce dnes již zastaralého zvukového systému OSS. ALSA používá modernější API a navíc umožňuje emulaci původního OSS API. Podpora různých typů zvukových karet je na mnohem lepší úrovni a navíc podporuje bezpečné více-vláknové provádění zvukových úloh. ALSA je již standardní součástí nových linuxových jader řady 2.6.x., jejichž finální verze by se měla objevit v nejbližší době.
Zvukové servery jsou SW vrstva mezi aplikačními programy a ovladači zvukových karet. Umožňují například mixování zvuku z více zdrojů pomocí CPU a posílání zvuku na jiný počítač přes síťové rozhraní. V prostředí KDE se používá zvukový server aRts (The Analog Real-Time Synthesizer) a v prostředí GNOME je použit server ESD (The Enlightened Sound Daemon). Dalším zvukovým serverem je například profesionální systém JACK, který mimo jiných pokročilých funkcí umožňuje například synchronizaci jednotlivých klientů. Většina z následujících systému pro sazbu not ke své plné funkčnosti potřebují některý z těchto zmiňovaných zvukových serverů. Velmi často je těmito programy používán právě zvukový server JACK.
Jedná se o program, který je určen primárně pro sazbu not, narozdíl od jiných zde zmiňovaných programů, které jsou ve své podstatě spíše sequencery. V těchto sequencerech je potom interaktivní sazba not "pouze" prostředek pro zápis tónů v jednotlivých MIDI zvukových stopách. Tento program není určen k přímému tisku partitury, ale slouží jako interaktivní nástroj pro její zápis a následný export do jiných formátů, které již tisk podporují, ale většinou nedisponují interaktivním editorem.
Ovládání tohoto programu je velice intuitivní a není žádný problém se s ním naučit pracovat ve velmi krátké době. Jedna z běžných věcí, která není při prvním pohledu na hlavní okno aplikace zcela zřejmá, je například zápis pauz. Pauzy se zapisují, světe div se, stejně jako noty, ale míto levého tlačítka myši je nutné stiskout tlačítko pravé. Nápověda k tomuto programu je sice poměrně strohá, ale je v ní možné nalézt vše potřebné.
Program NoteEdit podporuje také například sazbu více hlasů do jednoho partu, sazbu zmáčknutí a uvolnění pedálů u klavíru, noty pro buben a ještě mnoho dalšího u čeho vůbec netuším k čemu je to dobré. Při používání některých specialit je velice důležité brát zřetel na to, do jakého formátu budeme vysázenou partituru exportovat, protože málokterý z možných exportních formátů podporuje všechny možnosti NoteEditu. Dále například sazba více partů v jedné partituře je naprostou samozřejmostí, jako ostatně u všech dále zmiňovaných programů (v sekvencerech je více hlasů docíleno více zvukovými stopami).
Jediné co bych tomuto programu vytknul z hlediska ovládání je naprosto volný pohyb kurzoru ve vertikálním směru. Při tomto volném pohybu je poměrně náročné se přesně trefit na správnou linku notové osnovy. Naštěstí je možná změna měřítka a při velkém zvětšení již tento zmiňovaný problém zcela mizí. Tento problém také naprosto odpadá při použití externích kláves připojitelných přes MIDI rozhraní.
Vysázení celé partitury včetně textu a akordů bylo naprosto bez problémů. Zejména mě příjemně překvapil velmi povedený editor kytarových akordů, ve kterém je databáze obrovského množství akordů, ze které si snad vybere každý.
Editor kytarových akordů je velice propracovaný a umožňuje vybírat akord podle názvu, nebo je možné si jej myší naklikat přímo na zobrazených strunách. Program potom sám, pokud je to tedy možné, nalezne k názvu akordu odpovídající obrázek a dokonce i naopak k obrázku název akordu.
Podpora exportních formátů je u tohoto programu velice slušná a navíc je možné u každého z typů exportovaných formátů zadat některé parametry, které jsou pro daný formát specifické (viz. například export do formátu MusiXTeXu na následujícím obrázku).
Poznámka: Pokud vám náhodou, v tomto případě zcela jistě, neprojde XML formát ani parserem, tak vězte, že je to způsobeno tím, že program NoteEdit využívá k sazbě více slov k jedné notě symboly <> a při převodu do XML je zachovává, což se XML parseru evidentně moc nelíbí.
Rosegarden-4 není, narozdíl od předchozího programu NoteEdit, určen primárně pro sazbu not, ale jedná se především o sequencer. Interaktivní sazba not je používána zejména pro zápis jednotlivých MIDI stop v sequenceru.
Ovládání programu je opět velice intuitivní a naučit se s tímto programem pracovat není opět žádný problém. Nápověda k tomuto programu je opět velice strohá, ale jako v předchozím případě je v ní možné nalézt vše potřebné.
Tento program je uživatelsky také velmi přívětivý, jediným závažným nedostatkem tak zůstává fakt, že je poměrně nestabilní a při mnohých alespoň trochu nestandardních akcích, odchází bez jediného slova do věčných lovišť na linuxových pláních. Oproti předchozímu programu NoteEdit omezuje Rosegarden-4 vertikální pohyb pouze na rastr daný linkami a mezilehlými polohami na notové osnově, což značně snižuje chybovost při vkládání not pomocí myši.
Vysázení zkušební partitury bylo celkem bez problémů, jen vkládání kytarových akordů tento editor not nepodporuje. Absence možnosti vkládat kytarové akordy je zřejmě dána tím, k jakému účelu je tento notový editor určen. Naproti tomu je zde možné v notové osnově označovat celý takt jako C a není jej nutné označovat poměrně nestandardním způsoben jako 4/4.
Podpora exportních formátů je u tohoto programu rovněž velice slušná. Při exportu však není možné zadávat takové množství parametrů pro jednotlivé exportní formáty, jako tomu bylo u programu NoteEdit.
Poznámka: V tomto případě export do XML také nefunguje! Zřejmě exportní pogram poněkud pozapomněl na nějaký uzavírací tag.
Program MusE se mi po značné době a po sehnání všech možných potřebných exotických knihoven (a že jich nebylo málo) sice podařilo nainstalovat, ale hned po spuštění se aplikace vydala do věčných lovišť za programem Rosegarden, který se tamtéž již několikrát také odporoučel. Proto nezbývá nic jiného, než se pokusit popsat tento program podle obsahu Webu tohoto projektu a doufat, že v budoucnu budou různé mouchy, způsobující pád celého systému postupně vychytány.
Alespoň podle screenshotů, lze říci, že se jedná o jakousi obdobu programu Rosegarden, tedy o sequencer ve kterém je možná interaktivní sazba not.
Jak jsem již předeslal, program se mi nepodařilo nainstalovat, takže o způsobu ovládání se dá jen spekulovat. Z následujícího obrázku je patrné, že ovládání je zřejmě zprostředkováno pomocí nástrojových lišt, jako tomu bylo o předchozích programů, akorát na základě obrázku tohoto obrázku nemohu zodpovědně říci, jestli je možné vysázet nějaké komplikovanější partitury něž je ta na obrázku (např. jestli tento program umí trámce, ligatury, ...).
Tento program je uživatelsky také velmi přívětivý, jediným závažným nedostatkem tak zůstává fakt, že je poměrně nestabilní a při mnohých alespoň trochu nestandardních akcích, odchází bez jediného slova do věčných lovišť na linuxových pláních.
Kdyby se mi bývalo bylo podařilo program spustit bez toho aby mě následně během téměř nepostřehnutelného okamžiku zase opustil, tak by vysázená partitura zřejmě mohla vypadat poměrně slušně. Jen kytarové akordy by se mi ani v tomto případě zřejmě nepodařilo vysázet.
Z Webu projektu programu MusE se mi podařilo zjistit pouze to, že je podporován formát MIDI. Jaká je možnost exportu do jiných formátů zůstává pro mne tajemstvím.
Denemo je opět jedním z programů, jenž je určen primárně pro sazbu not, jedná se v podstatě o grafickou nadstavbu sázecího systému LilyPond. Jelikož však podporuje export i do několika málo jiných formátů než je LilyPond, je jeho použití o něco málo univerzálnější.
Ovládání tohoto programu již není tak intuitivní, jako tomu bylo u dříve zmiňovaných programů. Tento program neobsahuje žádné nástrojové lišty a téměř veškeré ovládaní je zaměřeno na vstup pomocí klávesnice. Tento způsob zadávaní not je z počátku poněkud náročnější, ale s postupem času efektivita práce velmi výrazně roste. Jednotlivé klávesové zkratky je možné téměř libovolně nastavovat v přehledném dialogu. Jistým nedostatkem je absence jakékoli nápovědy, ale jelikož jsem se s tímto programem vysázel během chvilky vše co jsem potřeboval, tak zřejmě nápověda nebude až tak nutná.
Mezi hlavní nedostatky tohoto programu bych zařadil to, že není možné měnit polohu textu písně a občas tak silně zasahuje do vysázených not. Dalším nedostatkem pro rozumnou práci při sazbě českých písní je naprostá absence jakékoli podpory cizích jazyků, včetně jazyka českého.
Nastavení klávesových zkratek se provádí pomocí následujícího dialogu. Klávesové zkratky je možné nastavit také pro jednotlivé položky menu, takže při prácí s tímto programem není myši vůbec zapotřebí.
Vysázení zkušební partitury nebylo v tomto případě úplně bez problémů. Jedná se zejména o nemožnost vkládat písmena s českou diakritikou a nemožnost vkládání kytarových akordů.
Podpora exportních formátů je v tomto případě na nejhorší úrovni ze všech zde zmiňovaných programů, což je pravděpodobně dáno tím, že se jedná v první řadě o interaktivní rozhraní již zmiňovaného sázecího systému LilyPond.
Poznámka: XML je v tomto případě speciální nativní formát programu Denemo, který je zřejmě komprimován, protože jinak by neměl s textovým souborem formátu XML naprosto nic společného. Dále pak, narozdíl od programu NoteEdit, nevyexportoval text písně do formátů *.abc a *.midi.
Jak je patrné z předchozích odstavců, tak asi nejlepším řešením je v současné době program NoteEdit, který má nejvíce možností, co se týká sazby not. Pokud bychom potřebovali, kromě sazby, další funkce pro práci zejména se zvukem, pak je asi nejvhodnějším kandidátem program Rosegarden-4. Na závěr bych rád ještě upozornil na skutečnost, že přestože zde uvedené programy nepodporují naprosto všechny možnosti sazby, které bychom chtěli použít, vždy to existuje možnost editovat již exportované soubory a upravit je k obrazu svému.
Ještě bych rád poznamenal, že v tomto referátu jsem vynechal finální převod partitur do tisknutelné podoby, neboť tyto programy, jak již bylo zmíněno v úvodu, nejsou zcela samostatnými sázecími systémy. Výstup je pravděpodobně, alespoň v prostředí Linuxu, nejvýhodnější vysázet do finální podoby pomocí MusiXTeXu nebo LilyPondu přímo z exportovaných souborů. Touto problematikou se zabývá další část tohoto referátu, na níž je odkaz uveden na začátku této části.