1. Teoretická část Sekvencování hudebních dat a jeho automatizace Sekvencery mechanické Za nejstarší zařízení pro záznam hudebních dat a jejich přehrávání lze považovat tzv. automatofony (hrací strojky, zvonkohry, flašinety, automatické klavíry, orchestriony apod.), které přehrávají hudbu na základě informací o výškách a délkách tónů, uložených na plochu válcovitého nebo kruhového tvaru s výstupky eventuálně na perorovaný papírový pás. https://www.youtube.com/watch?v=AXL7NuUz_ok – ukázka hrací skříňky https://www.youtube.com/watch?v=jAnRATwtb00 – ukázka mechanismu hrací skříňky https://www.youtube.com/watch?v=gN16an54VJQ – ukázka flašinetu https://www.youtube.com/watch?v=mIVSWpRSHQ4 – ukázka děrovaného pásu flašinetu https://www.youtube.com/watch?v=VocFMWK3TqY – ukázka pianoly Sekvencery elektronické analogové Dnes tato zařízení nazýváme sekvencery, protože přehrávají sekvence tónů, jinak řečeno melodie s doprovodem ve formě dalších hlasů nebo souzvuků, rytmické sekce apod. Sekvencer je tedy elektronický přístroj, který dokáže vytvářet a vysílat sekvence povelů, jimiž lze řídit připojené zvukové generátory, a vytvářet tak rytmické, melodické či harmonické smyčky a úseky nebo i celé skladby. Elektronické sekvencery existovaly již v éře před nástupem digitální elektroniky jako součást tzv. modulárních syntetizérů (zmíněných ve 2. přednášce), tzn. jedněch z prvních syntetizérů. Princip jejich činnosti ale nespočíval v předběžném uložení informací o délkách tónů, jejich výškách, barvě apod.; jednalo se zjednodušeně řečeno o opakované spouštění zvuku syntetizéru díky nízkofrekvečnímu oscilátoru (LFO) v určité rychlosti – rytmus byl tedy tvořen pouze jednou opakovanou hodnotou v počtu 8 -16. https://www.youtube.com/watch?v=vCK--bs6FYY – ukázka modulárního syntetizéru Buchla Analogové sekvencery se staly předchůdci tzv. bicích automatů – speciálních doprovodných jednotek (později zabudovaných přímo do syntetizérů, časem i v digitální hardwarové nebo softwarové podobě); v počátcích využívaly zejména zvuků subtraktivní syntézy a byly neodmyslitelnou součástí zvuku elektronické populární hudby 70. a začátku 80. let. https://www.youtube.com/watch?v=okhQtoQFG5s – ukázka hudby skupiny Kraftwerk Sekvencery elektronické digitální, DAW Analogové sekvencery tedy produkují posloupnosti pulsů s volitelnou délkou a amplitudou; digitální naproti tomu zaznamenávají a vysílají MIDI data; kromě toho jsou ale součástí soudobých softwarových sekvencerů i nástroje pro záznam a zpracování zvuku, o nichž jsme mluvili v předchozí přednášce - audiosekvencery. Moderní sekvencerové programy tedy – jak už bylo řečeno - umožňují současně s MIDI daty zaznamenávat, zpracovávat a přehrávat i zvukové signály, využívat efektových procesorů, zvuk ukládat apod. Nahrazují tedy téměř všechna zařízení nahrávacího studia – mixážní pult, záznamové zařízení (dříve magnetofon), elektronické hudební nástroje (nejrůznější druhy syntetizérů), moduly efektových procesorů atd. Jedná se tedy o komplexní pracoviště, proto se tyto programy nazývají digitální pracovní audio stanice – anglicky Digital Audio Workstation – DAW. Jejich vznik je datován do roku 1984, kdy byl zaveden protokol na přenos dat MIDI; původně byly DAW určeny primárně pro práci s MIDI. První software tohoto typu byl
vyvinut pro počítače Atari a Commodore Amiga. S rostoucí výkonností hardwaru se přesouvá zájem o DAW z akademické do komerční sféry. Mezi první komerční programy patří například Cubase společnosti Steinberg, nebo Pro Tools společnosti Digidesign. DAW software se dále rozvíjel a s postupem času již tedy zcela nahradil celá tradiční studia. Nabízí širokou škálu nástrojů, které nahrazují konkrétní hardware, a mnohdy jej rozšiřují o další funkce. Základní komponentou DAW je tedy již zmíněný sekvencer - zařízení, které zaznamenává a reprodukuje hudební informaci, zaznamenanou ve formě hudebních dat nebo zvukových vzorků, tedy samplů vytvořených, stažených nebo zakoupených. Tento záznam může probíhat kontinuálně nebo po krocích. Je tak možné tvořit tempově téměř neomezené smyčky perkusních zvuků, akordických rozkladů, melodických modelů a podobně. Dříve byl tento postup omezen technickými limity hardwaru, dnes jsou již v případě programů tyto možnosti neomezené. V těchto programech lze stavebnicově sestavit moduly dle požadavků uživatele a – jak už bylo řečeno – vedle sekvencerů a syntetizérů je možné integrovat efektové jednotky a finální mixovací zařízení. Pro lepší komunikaci s těmito programy je vhodné systém rozšířit o různá MIDI zařízení, jakými jsou klávesy, ovládací pedály a různé další převodníky. Softwarové sekvencery nabízejí řadu výhod oproti dřívějším hardwarovým. Jednou z nich je variabilita, která představuje velký rámec možností volby uživatele, další pak možnost inovací ve formě aktualizací. Předností je díky obrazovce s mnoha okny aplikace přehlednost při práci. U sekvencerů rozlišujeme dvě základní koncepce - objektově orientovaný sekvencer a paternově orientovaný sekvencer. Objektově orientovaný sekvencer vychází z požadavků na volné řazení zvukových sekvencí do stopy - s každou zvolenou sekvencí je možno pracovat jako se samostatným zvukovým objektem, takže je možnost upravovat, používat efektové procesory a podobně. Mezi objektově orientované sekvencery patří například Cubase, Logic a Cakewalk. Tyto programy také zpravidla umožňují vytvořit a editovat notový zápis skladby. U paternově orientovaného sekvenceru se skladba tvoří skládáním bloků (anglicky patterns) za sebou. Prvním paternově orientovaným sekvencerem byl sotware Sound Tracker v roce 1987 pro počítače Amiga (Commodore). I tyto sekvencery obsahují efektové moduly a mixer. V případě celých DAW rozlišujeme z hlediska jejich konstrukce dva základní druhy: - první tvoří pouze počítač a software pro záznam a editaci digitálního audiosignálu, - druhý je obvyklou profesionální verzí a kombinuje (kromě mikrofonů a snímačů pro vstup audio signálu) analogově-digitální převodníky, hardwarový mixážní pult, počítač s DAW programem, hardwarové efektové procesory a více sad reproduktorů pro kontrolní poslech. Dnešní počítače s několika hardwarovými rozhraními (externí zvuková karta, MIDI ovladače) a vhodným DAW programem sice všechny operace zvládnou (viz první varianta), v profesionálním provozu se záznamem do mnoha audio i MIDI stop je ale kombinovaná možnost zatím vhodnější. Jedno z možných schémat DAW ukazuje následující obrázek.
Schéma DAW
Jak již bylo řečeno, obsahuje softwarový DAW tyto funkce: - audio sekvencer čili vícestopý záznam zvuku; zvukové stopy jsou v základním okně programu téměř vždy zobrazeny jako horizontální pruhy uspořádané pod sebou.¨
Zvuková digitální stopa
-
MIDI sekvencer čili vícestopý záznam MIDI dat
Okno MIDI sekvenceru
-
mixážní pult
Softwarový mixážní pult
-
efektové procesory v podobě plug-in; každá aplikace dnes nabízí řadu interních efektů a procesorů, které je možné v rámci virtuálního mixážního pultu zařadit do inzertu příslušného audio kanálu nebo do smyčky.
Pluginy efektových procesorů
Komunikační MIDI rozhraní MIDI rozhraní umožňuje zjednodušeně řečeno znásobit propojením jednotlivých syntetizérů množství zvuků, znějících současně, a ovládat doprovodné jednotky bicích nástrojů, a také propojit tyto nástroje s počítačem kvůli automatizaci přehrávání a zadávání a úpravě hudebních dat mimo reálný čas včetně převodu znějící hudby na standardní notaci apod. Název MIDI je zkratkou z anglické verze termínu Digitální rozhraní hudebních nástrojů (Musical Instrument Digital Interface) a jedná se tedy o mezinárodní standard komunikačního protokolu v hudebním průmyslu, který dovoluje hudebním nástrojům, počítačům i dalším přístrojům komunikovat v reálném čase prostřednictvím definovaného sériového rozhraní. Pomocí MIDI lze navíc ovládat i jevištní techniku, např. rozsvěcení světel nebo nastavování jejich jasu. Program Vu-Music pro počítače BBC dokonce interpretuje data MIDI jako obrazová data, na základě kterých generuje kaleidoskopické obrazce. Toto digitální komunikační rozhraní mělo svého analogového předchůdce – již od roku 1963 existovala první analogová generace syntezátorů, využívající principu napěťového řízení, tvořeného dvěma druhy signálů: - řídícím napětím - Control Voltage (CV) určující velikost parametru, - spouštěcí signál - Trigger Voltage (Trig) spouštějící danou akci. Podle těchto signálů je proto soustava označována CV/Trig. V případě napěťově řízeného oscilátoru generujícího tón určuje signál CV výšku tónu a signál Trig spouští přehrávání. Tyto signály proudí mezi jednotlivými obvody syntezátoru (oscilátory, modulační generátory, generátory obálek atd.), je ale možné je z nástroje vyvést a využít je pro synchronizaci s jiným syntetizérem. Některé firmy (např. Roland a Korg) používaly analogové signály i na přepínání rejstříků. Kompatibilita byla ale značně omezená, protože různí výrobci používali pro signály CV/Trig rozdílné druhy a rozsahy. Digitální komunikační rozhraní poskytují samozřejmě větší možnosti než analogová. Zpočátku se používala paralelní rozhraní, později sériová; umožňovala např. přepnutí rejstříku a přenos informace o stisknuté klávese. Různé firmy opět používaly rozdílná rozhraní, takže nástroje nebyly navzájem kompatibilní. Proto v roce 1981 na výstavě NAMM (National Association of Music Merchants) v USA prezidenti firem Sequential Circuits, Oberheim a Roland projednali předběžné návrhy na univerzální rozhraní hudebních nástrojů; vypracované návrhy, ke kterým se připojily firmy Yamaha, Korg a Kawai, byly realizovány a poprvé demonstrovány ve stejném roce na konferenci Audio Engineering Society v New Yorku.
Jednalo e o první ucelený návrh hudebního rozhraní USI (Universal Synthesizer Interface). Finální MIDI verze 1.0 se poprvé objevila v roce 1983 a jejím prvním významným propagátorem mimo výrobce hudebních nástrojů se stala americká společnost Atari, která rozhraním MIDI vybavila své počítače Atari ST a STE. V roce 1982 byla po konzultacích představitelů hudebních firem opět na výstavě NAMM v Anaheimu ke konceptu hudebního rozhraní přidána další vylepšení a následně se k projektu připojilo celkem 15 amerických a japonských firem. Název MIDI navrhla firma Roland a už v roce 1983 byly předvedeny první nástroje s MIDI rozhraním - SCI Prophet 600 a Roland Jupiter JP-6. Konečná verze MIDI normy 1.0 vznikla ve stejném roce, ale kvůli nekonkrétnosti standardu v určitých aspektech docházelo k problémům s kompatibilitou. Proto byly v roce 1984 založeny normativní orgány, odpovědné za dodržování normy MIDI a její další vývoj - MMA (MIDI Manufacturers Association) a JMSC (Japan MIDI Standard Committee). Další vývoj MIDI si postupem času vynutil řadu dodatků a i v dnešní době je MIDI norma neustále ve vývoji, přesto, že díky svému zastaralému principu přestává splňovat zejména rychlostní požadavky na komunikační rozhraní, které moderní hudební elektronika vyžaduje. Rozhraní MIDI je tvořeno třemi 5-pinovými konektory DIN, označenými In, Out a Thru. Konektor In je vstupní, na konektor Out jsou vysílány MIDI zprávy generované zařízením, na konektor Thru (který nemusí být vždy použit) jsou kopírována data ze vstupu – procházejí tak beze změny. Některá MIDI zařízení používají funkci Soft Thru, která slučuje vstupní data s interně generovanými daty a vše posílá na konektor Out.
Zadní panel syntetizéru s trojicí MIDI konektorů
Konektor typu DIN používaný pro vzájemné propojení MIDI zařízení
U osobních počítačů bývaly MIDI signály vyvedeny na game port, který byl obvykle součástí zvukové karty - jednalo se o 15-pinový konektor typu D-SUB (pin 12 sloužil jako výstup, pin 15 jako vstup). Některé zvukové karty obsahují MIDI rozhraní s konektory MIDIIn a MIDI-Out, dnes jsou ale nejčastější MIDI převodníky připojované prostřednictvím rozhraní USB.
15-pinový game port
MIDI ovladače pro tvorbu MIDI zpráv budou popsány dále, principiálně ale slouží pouze jako snímač stisku jednotlivých kláves. Původně byly ale pomocí MIDI propojení spojeny dva nebo více syntetizérů s vlastními možnostmi tvorby zvuku. Jeden z nich byl řídící (master) - MIDI kabel měl připojen v konektoru OUT), druhý řízený (slave) - kabel byl v konektoru IN. Při hře na řídící nástroj došlo k vysílání zpráv po MIDI kabelu, což nejsou – jak už bylo řečeno – audio informace, ale informace o tom, která klávesa byla stisknuta, jak silně byla stisknuta, kdy byla uvolněna apod. Tak je možné z audio výstupu prvního syntetizéru vyvést původní zvuk nástroje a z druhého – řízeného – opět z audio výstupu zvuk, nastavený na něm.
MIDI klávesnice Novation MM10
MIDI zprávy jsou dnes používány zejména pro komunikaci ovladačů se sekvencerem (a komunikaci nejrůznějších MIDI zařízení mezi sebou, ne tedy jen dvou syntetizérů s vlastními zvukovými možnostmi), čili pro ukládání MIDI informací do počítačového programu. Zobrazení v tzv. piano-roll editoru připomíná původní děrované papírové pásy pro řízení hry flašinetu, pianoly a jiných automatofonů (viz výše) – jednotlivé tzv. MIDI události (MIDI events) jsou uspořádány vertikálně v určité výšce a odpovídají tak poloze konkrétní tónové výšky v konkrétním okamžiku. Je možné je nejrůznějším způsobem upravovat, mazat, připisovat další data a nakonec si v dalším editoru nastavit i zvuk, kterým se mají přehrávat, vymezit jeho hlasitost, umístění v panoramě, úroveň hallu a chorusu a další údaje. Takových piano-roll editorů s různým zvukem lze použít až 16 – jsou to tzv. MIDI kanály s označením 1-16 (desátý kanál je přednostně vyhrazen bicím nástrojům); jsou to vlastně adresy určitých zvukových rejstříků. Při přehrávání s odlišnými nastaveními zvuku pro jednotlivé kanály, než bylo nastavení původní, bude tatáž skladba tedy znít zcela jinak. Pro zpracování MIDI dat je nabízena celá řada aplikací (viz dále) a pro jejich uložení je používán formát SMF (Standard MIDI File). MIDI standard zpočátku splňoval pouze relativně jednoduchá kritéria používání hudebních elektronických nástrojů, s příchodem nástrojů nových vznikl problém nekompatibility v interním uspořádání nástrojů (mapování zvuků a bicích nástrojů, organizaci MIDI kanálů, počtu hlasů a sekcí, možnostem
zabudovaných efektových procesorů atd.); proto časem vzniklo dalších několik standardů, z nichž nejvýznamnější jsou General MIDI, Roland GS a Yamaha XG. Základní datový blok přenášející určitou informaci se tedy jmenuje MIDI zpráva. Je tvořena na prvním místě stavovým bajtem (Status Byte), ve kterém je uložen kód příkazu a většinou (existuje jen jedna výjimka) také číslo kanálu, pro který je příkaz určen. Následuje žádný, jeden nebo více datových bajtů (Data Byte), přičemž stavový bajt může být za určitých okolností vynechán (Running Status); ty přenášejí parametry příkazu. Těmto bytům se také – jak už bylo řečeno - říká MIDI událost (MIDI event), někdy je takto označována i celá MIDI zpráva). MIDI Byte je tedy osmibitový datový typ, kde nejvýznamnější bit určuje, zda jde o stavový byte (MSB=1) nebo datový byte (MSB=0) MIDI zprávy se dělí na tzv. kanálová data a systémová data. Kanálová data přenášejí ve stavovém eventu informaci o virtuálním datovém kanále. Ve stavovém eventu jsou pro identifikaci MIDI kanálu vyhrazeny čtyři bity (viz následující obrázek), proto mohou být po jedné fyzické MIDI sběrnici přenášena kanálová data až v 16 virtuálních kanálech. Systémová data informaci o MIDI kanále nepřenáší - jsou společná pro všechny kanály. Dolní čtyři bity stavového eventu slouží k identifikaci typu systémových dat. Systémová data se dělí na zvláštní systémová data, která umožňují přenos větších datových bloků, a na data reálného času, která slouží k vzájemné časové synchronizaci několika zařízení.
Struktura stavového a datového bytu MIDI protokolu
Počet datových bytů závisí na typu MIDI zprávy, tj. na stavovém bytu. Například zpráva Nota zapnuta přenáší číslo noty (tzn. výšku tónu) a sílu stlačení klávesy. Nejvýznamnější bit v datovém bytu je vyhrazen pro identifikátor, proto mohou být hodnoty přenášené pomocí datových bytů v rozsahu 0 až 127. Zpráva Nota zapnuta, vypnuta (Note on, off) První datový byte zprávy Nota zapnuta přenáší informaci o výšce tónu. Následující tabulka znázorňuje čísla MIDI not pro jednotlivé tóny slyšitelného rozsahu. Oktáva Hud. označení C
C# D
D# E
F
F# G
G# A
A# H
-2
subsubkontra
0
1
3
5
6
8
10 11
-1
subkontra
12 13 14 15 16 17 18 19 20 21 22 23
0
kontra
24 25 26 27 28 29 30 31 32 33 34 35
2
4
7
9
1
velká
36 37 38 39 40 41 42 43 44 45 46 47
2
malá
48 49 50 51 52 53 54 55 56 57 58 59
3
jednočárkovaná 60 61 62 63 64 65 66 67 68 69 70 71
4
dvoučárkovaná 72 73 74 75 76 77 78 79 80 81 82 83
5
tříčárkovaná
84 85 86 87 88 89 90 91 92 93 94 95
6
čtyřčárkovaná
96 97 98 99 100 101 102 103 104 105 106 107
7
pětičárkovaná
108 109 110 111 112 113 114 115 116 117 118 119
8
šestičárkovaná 120 121 122 123 124 125 126 127 Čísla MIDI not pro jednotlivé tóny chromatické stupnice
Druhý datový byte této zprávy určuje dynamiku, s jakou byla nota zahrána. Tuto informaci lze využít pro nastavení intenzity zahraného tónu nebo pro nastavení jiného parametru měnícího barvu zvuku. Dynamika odpovídá rychlosti stlačení klávesy, takže stačí snímat dobu mezi sepnutím dvou spínačů postupně aktivovaných při stlačení klávesy. Klaviaturou jsou tedy snímána a ve zprávě Note On přenášena rychlostní data - Velocity. Velocity Dynamika Hudební označení 0
off
vypnuto
1
ppp
pianissimo piano
pp
pianissimo
p
piano
mp
mezzo-piano
mf
mezzo-forte
f
forte
ff
fortissimo
fff
fortissimo forte
64
127
Číselná označení dynamik tónu
Klaviatury bez rychlostního snímače by měly vysílat hodnotu Velocity = 64, při hodnotě 0 je nota vypnuta, takže zprávu Nota vypnuta není potřeba vysílat. Po přijetí této zprávy MIDI přijímač přestane odpovídající tón hrát. Stavový byte 1. datový byte 2. datový byte 1001nnnn - 0kkkkkkk - 0vvvvvvv $9n číslo noty rychlostní data Struktura MIDI zprávy Note on
Kanálová MIDI data Kanálová MIDI data se vztahují k určitému MIDI kanálu, jehož číslo je přenášeno v dolních čtyřech bitech (tzv. dolním nibblu) stavového bytu.
MIDI zpráva
Význam
ID počet databytů
Note Off
nota vypnuta
0
2
Note On
nota zapnuta
1
2
Polyphonic Key Pressure individuální tlaková citlivost 2
2
Control Change
změna kontroleru
3
2
Program Change
volba programu
4
1
Channel Pressure
společná tlaková citlivost
5
1
Pitch Bend Change
ohýbání tónu
6
2
Kanálová MIDI data
Přijímač MIDI může pracovat v jednom ze čtyř režimů, které určují, jakým způsobem jsou kanálová MIDI data zpracována. Tyto režimy jsou použity podle nastavení OMNI ON/OFF a POLY/MONO. Režimy MONO a POLY určují, jak jsou přiřazeny jednotlivé hlasy přijímače, pokud je zároveň přijato více not. V režimu MONO hraje každý hlas přijímače monofonně noty přijaté na odpovídajícím kanálu, v režimu POLY hrají hlasy přijímače přijaté noty polyfonně. Pokud je zvolen režim OMNI, bude nástroj provádět přijatá data ze všech kanálů, pokud je vypnut, bude reagovat pouze na data na zvoleném MIDI kanálu Změna kontroléru MIDI zpráva Změna kontroléru (Control Change) přenáší informace o změně hodnoty tzv. kontroleru, tzn. ovládacího parametru MIDI nástroje, jako např. hlasitosti, modulace, banky zvuků atd. První datový byte přenáší informaci o MIDI čísle kontroléru, druhý datový byte jeho novou hodnotu. Čísla kontrolérů i jejich hodnoty mohou být opět od 0 do 127 Stavový byte 1. datový byte 2. datový byte 1011nnnn 0ccccccc 0vvvvvvv $Bn číslo kontroléru hodnota kontroléru MIDI zpráva Control Change
Pro většinu MIDI zařízení používajících protokol MIDI pro nastavování různých parametrů je 128 hodnot, jakých může MIDI kontrolér nabývat, bohužel málo Standardy, které souvisejí s MIDI Jak už bylo řečeno, lze protokol MIDI využít k mnoha účelům, nejen k řízení hudební elektroniky. Zcela běžnou oblastí využití je řízení studiové elektroniky, např. záznamových zařízení a efektových procesorů. MIDI zprávu Control Change lze využít k nastavování parametrů, MIDI zprávu Program Change ke změně nastavení, uložených v paměti atd. Protokol MIDI se také používá i k řízení osvětlovací techniky (existují totiž obousměrné převodníky protokolu MIDI na protokol DMX, který je standardem pro řízení osvětlovací techniky). Univerzální systémová data Největší možnosti nabízejí zvláštní systémová data; důvodem je skutečnost, že kromě záhlaví závisí jejich obsah pouze na výrobci zařízení. Proto se v každé nové verzi MIDI specifikace vydávané organizacemi MMA a JMSC objevují nové standardizované aplikace
zvláštních systémových dat (System Exclusive Message). Existují tzv. univerzální SysEx data mimo reálný čas a univerzální SysEx data v reálném čase. V současné době jsou v oblasti univerzálních SysEx dat definovány tyto standardy: - Přenos zvukových nahrávek - Sample Dump - Přenos souborů - File Dump - Mikroladění nástrojů - MIDI tunning - Řízení scénické techniky - MIDI Show Control - Řízení studiové techniky - MIDI Machine Control - Ovládání záznamových zařízení - Real Time Cueing - Notační informace - Notation Information - Zprávy systému General MIDI MIDI začíná – jak už bylo řečeno – přes inovace MIDI normy zastarávat a nevyhovovat potřebám nových zařízení. Důvodem je: - malý počet parametrů (128 kontrolérů), - malý rozsah hodnot pro nastavování parametrů, - nízká přenosová rychlost, - malý počet kanálů na jedno MIDI propojení, - malá délka MIDI propojení. Existují pokusy, jak uvedené problémy řešit, ta mají ale zase určité nevýhody. Přesto bude rozhraní MIDI používáno i nadále, protože zatím neexistuje žádný zcela uspokojivý návrh nového hudebního komunikačního rozhraní, které by MIDI nahradilo; MIDI je také relativně levné a hlavně kompatibilní se staršími hudebními nástroji a zařízeními. Očekává se tedy, že pokud se v budoucnu objeví nové rozhraní, bude velmi pravděpodobně ze struktury MIDI protokolu vycházet, navíc i v dlouhodobějším časovém horizontu budou nahrávací a hudební studia určitě používat starší elektronická zařízení s MIDI rozhraním. MIDI ovladače MIDI ovladače jsou elektronická zařízení, která se používají pro ovládání hudební techniky pomocí komunikačního standardu MIDI, popsaného výše. Jedná se tedy o rozhraní pro ovládání elektronických hudebních nástrojů pomocí klaviatury, ovladačů dechových, strunných nebo bicích; jako kontroléry ale označujeme i hardwarové a softwarové prvky pro řízení jednotlivých MIDI parametrů, jako jsou nejrůznější kolečka, knoflíky, jezdce a tlačítka, řídící např. kontinuální změnu výšky tónu (tzv. pitch band), modulaci zvuku (které lze přiřadit změnu filtru, míru činnosti LFO, změnu zvuku při „domáčknutí“ klávesy - tzv. aftertouch) apod. Patří sem i speciální relativně malé hardwarové přístroje s jezdci a kolečky, pomocí nichž lze snáze a přirozeněji ovládat prvky programu než klikáním a tažením myši, nebo také spouštět tlačítky nejrůznější zvukové vzorky při živé produkci elektronické hudby. Všechny MIDI kontroléry v podstatě fungují, jako digitální syntezátory. Uživatel pro každý fragment vybere určitý kanál, pod kterým se uloží daná MIDI data. Ta jsou pak vyvolávána aktivací kanálu. Cokoli, co uživatel zahraje na kontroléru, se tedy přepíše jako MIDI zpráva, kterou je poté možné opět následně uložit. MIDI nástroje jsou multitimbrální, což znamená, že mohou přehrávat několik různých částí souběžně, každou s rozdílným zvukem na jiném kanálu. Počet možných kanálů je stanoven vždy pouze kontrolérem.
Akai Wind MIDI controler Dechový kontrolér snímá kromě polohy stisknutých tlačítek i délku a sílu dechu, takže jím za pomoci vhodných syntetických zvuků simulovat zvuk nejrůznějších dechových nástrojů, ale i spouštět zvuky zcela libovolné.
Akai Wind MIDI Controller
https://www.youtube.com/watch?v=K_tf9BiSzAY – ukázka využití dechového MIDI ovladače
GigaJam Kytarový MIDI ovladač nesnímá výšku tónu strun – ty jsou naladěny na stejný tón a důležité je jen místo stisku struny. Každému políčku mezi pražci každé struny lze v extrémním případě přiřadit odlišný zvuk. Dokoce může být na nástroji místo strun i dotyková ovládací plocha.
GigaJam
https://www.youtube.com/watch?v=pWx1nOjOWVU – ukázka ovládání digitální MIDI kytary
Akai MPD18 Zařízení obsahuje 16 tlačítek vysoce citlivých na rychlost a sílu úderu, a tři různé zvukové banky, takže k dispozici je dohromady 48 možných zvuků. Pro živá vystoupení je
vhodná funkce „Q-Link, která umožňuje úplnou kontrolu každého parametrem v použitém softwaru v reálném čase.
Akai MPD18
Korg nanoPAD2 Korg je vedle firmy Akai dalším gigantem na poli s hudebním hardwarem. Stejně jako v předchozím případě je k dispozici 16 velmi pevných tlačítek citlivých na rychlost i sílu úhozu. Výhodou oproti Akai MPD18 je skladnější provedení, pro živá vystoupení a cestování je tedy produkt firmy Korg pohodlnější.
Korg nanoPAD2
Vestax PAD-one Jednoduchou variantu MIDI ovladače nabízí Vestax PAD-one. Má pouze 12 funkčních tlačítek, která jsou barevně odlišena, což velice usnadňuje orientaci při ovládání.
Vestax PAD-one
M-Audio Keystation 32 Představuje základní MIDI kontrolér za nízkou cenu.
M-Audio Keystation 32
Maschine Ovladač od firmy Native Instruments patří mezi sofistikovanější kontroléry s vlastním softwarem.
Maschine
Launchpad Mini Ovladač s miniaturními rozměry umožňuje skládat nebo realizovat hudbu téměř kdekoliv. Pomocí 64 tlakově citlivých padů lze spouštět smyčky, zvukové vzorky, efekty atd. Pady mají tříbarevné podsvícení, takže je možné po stisku ihned vidět odezvu zařízení. Pracuje dobře s free aplikacemi Novation Launchpad a Launchkey pro iPad i DAW - např. Ableton Live, FL Studio, Pro Tools, Cubase, Reason nebo Logic. Zařízení je napájeno přes USB kabel.
Launchpad Mini
NOVATION Launch Control XL Ovladač má 24 volně přiřaditelných otočných kontrolerů (otočný úhel 300°), 8 faderů, 24 funkčních tlačítek a 16 padů, které lze použít pro okamžité ovládání mixáže zvuku, spouštění samplů nebo efektů v reálném čase. Pady mají opět tříbarevné podsvícení pro kontrolu odezvy.
NOVATION Launch Control XL
https://www.youtube.com/watch?v=yXLL46xkdlY – ukázka činnosti ovladače Launchpad KORG padKontrol BK Ovladač poskytuje šestnáct spouštěcích trigger padů, X-Y pad, usnadňující tvorbu přirozeně znějících breaků a vírů bicích bástrojů, a dvojici ovládacích tlačítek s možností přiřazení funkce. Kromě přehrávání bicích zvuků a spouštění samplů lze padKONTROL využít třebas i k přenosu zpráv pro ovládání softwaru DAW
KORG padKontrol BK
Přehled nejznámějších softwarových sekvencerů (DAW) Některé programy lépe fungují na platformách Mac, jiné na PC, existují programy placené nebo volně šiřitelné, které ale nemají takovou kvalitu, jako profesionální placené aplikace. Součástí MIDI sekvencerů jsou zásuvné moduly se softwarovými syntetizéry nebo samplery, které jsou MIDI daty rozeznívány. Jejich nejčastějším formátem je rozhraní VST plug-inů (Virtual Studio Technology) firmy Steinberg (CST moduly kromě syntetizérů existují také jako efektové audio procesory nebo MIDI procesory). Fruity Loops Fruity Loops, neboli FL Studio je jedním z nejoblíbenějších programů pro tvorbu hudby díky své jednoduchosti a přehlednosti. Při tvorbě skladby je nejprve potřeba vybrat ze široké škály variant vestavěný syntetizér, dále nahrát fragmenty skladby v krokovém sekvenceru a nakonec se určí pořadí přehrávání fragmentů. Program je tedy vhodný pro hudební začátečníky, umožňuje ale daleko sofistikovanější pracovní postupy a kvalitní výsledek mj. i díky řadě vestavěných funkcí. Je zde navíc možnost nahrávání vokálu a hudebních nástrojů, obsaženy jsou efektové procesory, mixážní pult a nástroje pro mastering.
FL Studio
Ableton Live Program firmy Ableton nabízí univerzální a přitom intuitivní možnost práce s hudebním materiálem, proto je využíván při živé produkci i kompozici.
Ableton Live
K těmto účelům jsou vestavěny se dva druhy zobrazení – Session a Arrangement. V prvně zmíněném je možnost vrstvit audio stopy, MIDI soubory a smyčky.
Session view pro živá vystoupení
Arrangement view pro detailní práci na skladbě
Druhá varianta Sesion view se využívá hlavně pro kompozici a závěrečný mix a mastering. Z hlediska vestavených zvuků a efektových procesorů je nabídka programu velmi široká. Navíc firma AKAI vytvořila speciálně živou produkci speciální MIDI ovladač (viz výše), při jehož využívání lze nastavit i funkci kvantizace (automaticky se zpřesňují zahrané rytmy v rámci nastavené tzv. mřížky), také je možné nastavit určitou stupnici, takže jakékoliv zahrané tóny jsou automaticky transformovány na nejbližší tón zvolené tóniny. Bohužel lze kontrolér použít pouze v kombinaci s tímto programem. https://www.youtube.com/watch?v=f5TkQ_6hPD4 – tvorba smyček v programu Ableton Live https://www.youtube.com/watch?v=cXmZEHfgxjQ&index=7&list=RDf5TkQ_6hPD4 tvorba smyček v programu Ableton Live
Cubase Program Cubase umožňuje kompletně nahrávat, editovat a zpracovávat MIDI data i digitální audio signál, je tedy velmi všestranný, takže jej lze použít pro jakýkoliv typ tvorby hudby, byť pro živou produkci méně intuitivně a poněkud omezeněji, včetně práce s videem při jeho ozvučování. Funguje na platformě Mac i PC. Vyžaduje relativně kvalitní zvukovou kartu a je vhodné používat při práci s ním i MIDI kontroler, protože ovládání aplikace usnadní. Cubase je zamýšlen spíše pro pokročilejší uživatele, protože vyžaduje základní znalost hudební teorie a akustiky. Je kompatibilní se všemi MIDI ovladači, syntetizéry, samplery atd. Nabízí také možnost simultánního playbacku, lze jej použít jako efektový procesror pro živé hraní.
Cubase
Unikátní je možnost (nabízenou od verze 7) práce několika uživatelů on-line - toto propojení se nazývá VST Connnect SE (navíc může licenci vlastnit jen jeden z iuživatelů, ostatní pracují na omezeně fungující free verzi, stažené z internetu. https://www.youtube.com/watch?v=d98AddzrrEU – tvorba doprovodné vrstvy v programu Cubase
Pro Tools HD Mezi nejrozšířenější aplikace patří Pro Tools HD, která se stala téměř standardem profesionálních nahrávacích studií zejména v USA ale i v Evropě. Pro Tools je výkonná, snadno ovladatelná aplikace, která umožňuje tvořit a míchat hudbu na počítačích Mac i PC.
Pro Tools HD
Logic Jedná se o velice komplexní systém firmy Apple, nabízející vícestopý záznam, řadu virtuálních hudebních nástrojů a efektových procesorů. Program obsahuje funkci Flex Picth pro korekci ladění vokálního partu pomocí automatického procesu nebo ručního dolaďování jednotlivých – programem označených – falešných tónů. Dále je vestavěn automatický bubeník s názvem Drummer, zahrnující 15 přednastavených variant s žánrovým rozptylem od rockové hudby po rhytm and blues atd. Dokáže měnit dynamiku hry a přidávat akcenty, takže výsledek je velmi přirozený. Opět existují dva mody – automatický a plně nastavitelný.
Logic
Kromě toho lze využít i funkci Track Stacks, která slučuje několik stop do jedné, kterou posílá jako signál AUX signál; lze ji uložit jako preset. Program Logic pracuje pouze v rámci operačního systému Mac, díky tomu je ale jeho činnost velmi stabilní, protože je zajištěna hardwarová i softwarová kompatibilita. Vybavenost zvukovými a efektovými moduly je také velmi vysoká včetně možnosti práce s prostorovým zvukem (umožňuje např. výstup ve formátu 5.1. Demonstrace práce s DAW v rámci několika autorových kompozic Mezisvětí pro speciální bicí, strunné a „vzduchové“ nástroje a symfonický orchestr. Nahrávka této kompozice je ukázkou práce z DAW (tomto případě Pro Tools firmy Digidesign), při níž bylo využit vícestopý záznam audio signálu z mikrofonů a linky, střih záznamu, úprava některých stop efektovými procesory, využití pomocné stopy sekvenceru s natočeným zvukem metronomu a závěrečná celková úprava skladby kompresorem, ekvalizérem a dodáním dozvuku (tzv. mastering). Skladba vznikla roku 2002, má délku 17' 29'. Obsazení je tvořeno čtyřmi hráči na bicí a autorem vytvořené strunné a vzduchové nástroje; vyšla na CD DAMA DAMA 10 „Pangea“
v roce 2002. Název ''Mezisvětí'' má vyjadřovat jednak stylovou oscilaci skladby mezi hudbou seriální, punktuální a tembrální, zejména však pocit neukotvenosti, ať už ve smyslu prostorovém, časovém, etickém atd. Cílem bylo vytvoření kompozice pro neobvyklé koncertantní bicí, strunné a dechové nástroje, autorem často vytvořené speciálně pro tuto skladbu, a symfonický orchestr ve smyslu barokního concerta grossa, v níž sólové nástroje tvoří jakousi „soupeřící“ protiváhu celému symfonickému orchestru pomocí nejen značné horizontální i vertikální hustoty, ale i šíře barevného spektra a výrazové pestrosti. Spíše než o obsahově odlehčenou virtuózní koncertantní hudbu se ale jedná o skladbu značně expresivní a enigmatickou, snažící se alespoň částečně inovovat pomocí méně obvyklých tembrů běžný symfonický zvuk a výraz. Obsazení je následující: 2 flauti (Fl.) 2 Oboi (Ob.) 2 Clarinetti in Siᵇ 2 Fagotti (Fg.) 3 corni in Fa (Cor.) 2 Trombe in Do (Tr.) 2 Tromboni (Trbni.) Percussioni (2 esecutori): 2 Bonghi
, piatto sospeso (piccolo)
Timpani (Timp.)
, gran cassa
Percussioni soli (4 esecutori): I:
II:
„Corona“ (Cr.), 2 Tamburi a corde (medio e grande) (T.A.C.1.,2.) rotazioni num. 3 (T.R.3.)
, Chitarra num. 2 (Git.2.) muta in
Sega musicale sospesa (Sg.)
, 2 Tam-tami (piccoli) (Tmt.)
tubolari (C.T.) (Rgn.)
(
), Tabula (Tab.)
, 2 Tubi rotazioni num. 1 (T.R.1.)
, 2 Tubi
, Campane
, raganella „giganticcca“
, Chitarra num. 1 (Git.1.)
muta in III:
Piatto „modificato“ (Ptto.) (2 piccoli, 1 medio) (Gng.)
, 2 Tam-tami (medii) (Tmt.) , 3 gongi cinessi , 2 Silofoni africani diversi (piccolo e medio)
(Xyl.1.,2.), 2 Tubi rotazioni num. 2 (T.R.2.)
, Chitarra num. 2 (Git. 2.)
muta in IV:
Lastra (Lst.) , 2 Tam-tami (grandi) (Tmt.) , 3 Campane de bronzo (piccolo, medio, grande) (C.) , Marimbafono (Mar.), 2 Tubi rotazioni num. 4 (T.R.4.)
, Chitarra num. 3 (Git.3.) muta in
Archi Zvolené konkrétní barvy byly vybrány s ohledem na komplementárnost s orchestrálním zvukem - kytary, hadice i všechny sólové bicí nástroje jsou barvy, které se v orchestru nevyskytují a přitom s ním nejsou zcela „nekompatibilní“. I „koruna“ s výrazně procesovaným zvukem je jakýmsi průsečíkem témbru hadic, tympánů, dřevěných dechových nástrojů atd.
Experimentální hudební nástroj s názvem Surrealistický objekt, jehož horní část – „Koruna“ byla využita ve skladbě Mezisvětí
Nástroje sólistů nebyly speciálně vyrobeny pro tuto skladbu. Vznikly buď pro předchozí multimediální koncerty Středoevropského souboru bicích nástrojů DAMA DAMA, nebo zcela volně v rámci autorovy tvorby experimentálních hudebních nástrojů. Jejich výroba nebyla nijak obtížná, jednalo se spíše o úpravy původního materiálu z hlediska optimálního
upevnění, přeladění atd. Čtyři sólisté rozezvučují nástrojové sady, jejichž elementy patří jak mezi kovové a dřevěné idiofony, tak i mezi chordofony a aerofony. Průběh kompozice této skladby probíhal značně netypickým způsobem. Její vytvoření a natočení bylo nabídnuto symfonickým orchestrem pouhé dva měsíce před pevně stanoveným termínem nahrávky a na realizaci byla určena pouze jediná frekvence. Proto se autor rozhodl zkomponovat a natočit nejprve zvlášť relativně snadné orchestrální party a teprve potom dokomponovat a pomocí playbacku dohrát daleko obtížnější party sólové. Výhodou tohoto - ve vážné hudbě neobvyklého - postupu byla nejen možnost samostatného kvalitnějšího snímání a následných zvukových úprav jednotlivých vrstev a zajištění jejich zcela přesného vzájemného dynamického poměru při následném smíchání, ale zejména ''ušití'' partů sólových nástrojů ''na míru'' výrazového vyznění předtím natočených orchestrálních pasáží (jako to dovoluje třeba tvorba elektroakustických skladeb, v nichž může autor také pečlivě slaďovat jednotlivé komponenty). Nevýhodou byly ovšem obtíže se synchronizací sólistů s orchestrem, protože při využití předem připravených impulsů metronomu ve sluchátkách dirigenta by mohl být negativně ovlivněn celkový výraz skladby. Proto byl zvolen postup opačný - teprve po dokončení a úpravách symfonické části nahrál autor do další stopy vícestopého záznamu pomocí úhozů na templbloky „metronom“, kterým se posléze řídili sólisté přesně v souladu s drobnými tempovými odchylkami orchestru. Tak bylo dosaženo větší živosti výrazu, než se společným elektronickým - sice přesným, ale mechanickým a výrazově „ztrnulým“ - řídícím pulzem.
Ukázka jedné strany partitury skladby Mezisvětí
Vlastní kompoziční postup vycházel ze snahy o maximální komplexnost vertikální i horizontalní, tzn. nejen z hlediska rytmů a rytmických hustot, ale i způsobů organizace tónových výšek, komplementaritu barev, dynamických průběhů atd. Proto je skladba tvořena blokovou sazbou s výrazně odlišitelnými hudebními objekty. Jejich rytmická strukturace se pohybuje v rozmezí od aleatorního vymezení hustot (při variování přesně určených tónových skupin) pomocí slovního předpisu - např. andante, veloce, prestissimo apod. v partech žesťových nástrojů, nebo třeba co nejrychlejšího pizzicata na libovolných tónech smyčců, přes - v proporční notaci zaznamenané - zhušťování a zřeďování plechu, pily, činelu, tamtamů a dalších bicích nástrojů, až po přesně notované rytmy všech ostatních partů skladby. Při organizaci tónových výšek se ambitus použitých prostředků pohyboval v rozmezí mezi komplementárními tónovými skupinami žesťových nástrojů s možností aleatorní volby pořadí jednotlivých tónů a striktní aplikací intervalových řad v pasážích dřevěných dechových nástrojů a smyčců. Také dynamika zasahuje jak do oblasti enormně slabé („hadice“), tak do úrovně značně extrémní (dynamický a výrazový vrchol kompozice). Volba jednotlivých komponentů, tvořících jeden z nejdůležitějších parametrů skladby - barvu zvuku, byla kromě požadavku plnosti a bohatosti témbru ovlivněna snahou po jeho relativní neobvyklosti. Ne ovšem praktické nedosažitelnosti - použité sólové nástroje si mohou obstarat i interpreti, kteří nevlastní - na rozdíl od autora - obrovskou sbírku experimentálních hudebních nástrojů. Hlavním cílem bylo ale především docílení konkrétního hudebního výrazu. Dan Dlouhý: Mezisvětí 16052015b Skladba byla vytvořena v programu FL Studio z devíti stop s nejrůznějšími zvuky a strukturami od řečového syntetizéru v programu přes hru na led, zvuky, vytvořené převodem z nakresleného obrázku podobně. Je to ukázka toho, že tato aplikace je univerzální a nehodí se pouze k tvorbě rytmických smyček.
Okno programu FL Studio
16052015b-úryvek
Odjinud jinam 2 Další kompozice může posloužit jako ukázka komplexní práce s DAW, protože při její tvorbě byly použity jak stopy pro záznam audio signálu, tak MIDI stopy s přiřazeným syntetizérem, střih a posouvání jednotlivých zvukových událostí vůči sobě, využití efektových procesorů apod. Východiskem byla autorova původní skladba Odjinud jinam z roku 2005 pro kovové bicí nástroje a mgf. pás; bicí nástroje jsou zde jednak běžné a přesně naladěné (paličková zvonkohra, deskové zvony), jednak speciální neladěné (dvě zavěšené dlouhé pásové pily, dvě hi-hat z čínských činelů a dva čínské wind-gongy větších rozměrů); akustické zvuky se tedy občas – i díky způsobům hry – pohybují na hranici zvuků elektroakustických). Součástí původní kompozice je i elektroakustická složka, tvořená pěti segmenty s délkou od několika desítek vteřin po několik minut; má naopak téměř charakter hudby akustické – výchozími zvuky jsou samply flétny a žesťových nástrojů. Jedná se o virtuózní skladbu pro sólistu na bicí nástroje (který spouští současně i úseky EA hudby) s celkovou délkou cca 9 minut. Psaná partitura skladby byla ale poté přepsána do MIDI dat a rozdělena do různých stop s odlišnou elektroakustickou zvukovou barvou (šlo tedy o jakési přeinstrumentování původní verze, ovšem daleko důkladnější, protože kromě barvy byly změněny i tónové terény – z 12 tónového temperovaného ladění na mikrointervalové). Na příslušná místa byly vloženy i původní EA vrstvy, ovšem značně elektroakusticky modifikované, dále projekt obsahuje i kompletní nahrávku původní skladby, změněnou k nepoznání pomocí řady efektů, a v neposlední řadě i materiál, vzniklý převodem grafické MIDI partitury opět do zvuku jiným způsobem, než pomocí softwarových syntetizérů – snímek piano roll editoru s přepsanou MIDI partiturou původní skladby byl totiž upraven obvyklými aplikacemi a grafickou částí programu Coagula a následně v přesně stejné délce, jakou měla nahrávka původní skladby, vyexportován z tohoto programu jako zvukový soubor, vložený poté do projektu výsledné nové kompozice. (Vzhledem k tomu, že MIDI verze původní partitury v piano roll editoru je znakem originální partitury, je potom upravená grafická verze „MIDI partitury“, čili piano roll editoru, metaznakem; opětná zvuková podoba, vygenerovaná programem Coagula, pak meta-metaznakem originálu.) Takto vzniklý hudební objekt je ovšem – jak už bylo řečeno pouze jednou z vrstev výsledné skladby na rozdíl od autorovy kompozice Malování v MIDI (viz dále), kde je tento „meta-meta...znak“ hlavním zvukovým materiálem skladby. Jednotlivé zvukové vrstvy byly poté pečlivě smíchány, takže bylo pozměněno i hierarchické postavení jednotlivých složek původní skladby. Na závěr byla nahrávka masterována obvyklým způsobem za použití zejména ekvalizéru a kompresoru. Výsledek připomíná původní verzi pouze velice latentně – občasným „zábleskem“ kovového zvuku.
Část graficky upraveného snímku přepisu autorovy původně akustické skladby Odjinud jinam do MIDI dat v piano roll editoru; tento obrázek byl opět transformován programem Coagula na zvuk, použitý po úpravě jako jedna z vrstev výsledné elektroakustické kompozice
Dan Dlouhý: Odjinud jinam Dan Dlouhý: Odjinud jinam 2
2. Praktická část Programovací prostředí Programy, popisované v této kapitole, nelze vynechat – jedná se o jeden z nejrozšířenějších druhů softwaru pro tvorbu soudobé experimentální kompozice. Spadají do kategorie objektově orientovaných programovacích prostředí, vytvářejících modulární systém s možností sestavit konkrétní program (tzv. patch), schopný plnit nejrůznější úkoly, a umožňující interaktivitu. Díky tomu jsou tyto programy zcela univerzální a schopny i přesahů do oblasti jiných médií díky využívání různých zařízení, pomocí nichž lze díky vhodnému patchi ovládat např. audio výstup intenzitou osvětlení, MIDI výstup pohybem, video výstup audio signálem apod. Těmito zařízeními mohou být např.: Arduino - převodník napětí na USB nebo BlueTooth, iCube - senzorický systém, generující MIDI data The Imaging Source DFG/1394-1e - převodník video signálu na sběrnici FireWire apod. Zcela obecně tedy programy spadají do oblasti kompozičních programů pro tvorbu elektroakustické hudby v reálném čase s možností ovládání třeba i nehudebních parametrů (nebo reakcí na ně). Interaktivní řízení se může týkat nejrůznějších elektroakustických zdrojů zvuku, při hře lze měnit nastavení ovládacích parametrů také externími MIDI ovladači nejrůznějších typů. (Za jakéhosi předchůdce neobvyklého řízení elektroakustické hudby v reálném čase lze s trochou nadsázky považovat tvůrce hudebního nástroje Tereminu, hudebníka a vynálezce Lva Těrmena, který vytvořil ve 20. letech minulého století pro taneční skupinu své americké přítelkyně sadu Tereminů, řízených pohyby tanečníků; nejednalo se samozřejmě o řízení softwarové, ale mechanické – byť bezdotykové. U programů, obsažených v této kapitole, se samozřejmě jedná o zcela jinou úroveň a to i z toho důvodu, že řiditelné parametry mohou být jiné, než by nabídla jakákoliv již „hotová“ aplikace, ovladače lze různě propojovat apod. – nabízí se prostě všechny výhody modulárního systému.) Kromě zřejmě nejpoužívanějších programovacích prostředí, kterými jsou Max/MSP, Pure Data a Super Collider, je v této kapitole uvedeno i několik dalších programů, které jsou buď méně rozšířené, nebo mají omezenější možnosti, na druhé straně ale i trochu jiný celkový přístup, eventuálně nabízejí zajímavé uživatelské rozhraní. Některé z nich by bylo možné zařadit i do jiných kapitol, jsou ale všestrannější nebo interaktivnější, a proto jsou uvedeny zde. Ukázky hudby, vznikající v reálném čase pomocí přímých zásahů do programu (tzv. live coding) lze nalézt na následujících adresách: https://www.youtube.com/watch?v=FenTeBMkAsQ – live coding http://yaxu.org/ - live coding – concert Huga Davise http://www.pawfal.org/dave/index.cgi?Projects/BetablockerDS - live coding s videem https://www.youtube.com/watch?v=nHEA5HXedZ4 – live coding performance
Isadora Program Marka Coniglia je prostředí pro programování a provádění videa a audia v reálném čase; pracuje v rámci operačních systémů Mac i Windows. Jeho tvůrce software používá při své práci uměleckého spoluředitele novátorské taneční skupiny Troika Ranch z New Yorku.
Hlavní pracovní plocha programu Isadora – jsou zřetelné jednotlivé moduly i jejich propojení; tento patch umožňuje sledovat frekvenci a amplitudu vstupního zvukového zdroje, a výsledek namapovat na parametry pro řízení videa
Program je obdobou jiných programovacích prostředí – nabízí velký počet video a audio modulů, které se mohou propojovat na pracovní ploše. Vstupem může být např. video; výstup z přehrávače přichází do modulu pro procesování videa, výsledek je poté poslán do projektoru. Zajímavější výsledky je ale možné dosáhnout třeba při použití sledovače frekvence zvuku a jeho úrovně; parametry vstupního audio signálu pak lze přiřazovat různým parametrům video efektů nebo generátoru obrázků. Frekvenční výstup z audio souboru je možné využít třeba i kvůli řízení míry libovolného efektu nebo pozice zvuku v rámci stereobáze u jiného zvuku, volně směšovat moduly jakéhokoliv typu, používající data, extrahovaná z audio signálu, jako vstup pro řízení videa apod. Pro mixování, generování a procesování obrázků nebo audia existuje velké množství předpřipravených modulů a lze přidávat i další komerční nebo free pluginy, tzn. vytvořit si vlastní uživatelské rozhraní. Algorithmic Composer – verze 2.0.1 Freewarový program od Angela Fraietty pro operační systém Windows; poslední verze 2.0.1 je z roku 2008. Je určen pro realizaci elektroakustické hudby v reálném čase pomocí struktur vzájemně propojených virtuálních objektů, ovládaných myší, klávesnicí, mikrofonem, MIDI klaviaturou a dalšími MIDI ovladači. Charakter programu je podobný ostatním objektově orientovaným programovacím prostředím – je jakousi virtuální obdobou hardwarových hudebních zařízení, propojených pomocí kabelů (29). S výsledným patchem lze manipulovat a řídit jej díky různým způsobům zobrazení, takže je systém jednak flexibilnější při odstraňování chyb, jednak lze jeho vizuální reprezentaci přizpůsobovat dle potřeb bez vlivu na jeho logickou strukturu. V podstatě je jakousi jednodušší verzí programu Pure Data s výrazně menším počtem objektů a bez knihoven nejrůznějších patchů; důvodem je jednak skutečnost, že tento program nemá takovou tradici, jako Pure Data nebo Max/MSP, jednak nepřináší principiálně nic natolik převratného, co by způsobilo u uživatelů jeho preferenci oproti oběma zmíněným programovacím prostředím. Neumožňuje také využití standardu Open Sound Control, navíc
funguje – jak už bylo řečeno – pouze v rámci platformy Windows. Pro začátečníky je ale snad ještě intuitivnější než např. Pure Data (čemuž napomáhá paralelní zobrazování stromové struktury patche, více možností jak propojovat objekty atd.), a proto je vhodný pro ilustraci činnosti tohoto druhu programovacích prostředí.
Hlavní okno programu Algorithmic composer
Na pracovní plochu se vkládají jednotlivé objekty, propojují se mezi sebou a vytvářejí tzv. patch. Parametry programu se nastavují pomocí oken.
Formulář pro nastavení MIDI vstupů a výstupů
Objekt je datová struktura, která získává prostřednictvím aplikace data od dalších objektů nebo periferních zařízení, provádí s těmito daty operace, a poté posílá výsledky provedených operací dalším objektům nebo periferním zařízením. Objekty mezi sebou komunikují posíláním zpráv z výstupů na vstupy (vstupy a výstupy jsou číslovány od nuly). Některé objekty např. MIDI IN žádné vstupy nemají, protože pouze vyžadují data z periferního vstupu; jiné objekty, jako např. Display nebo MIDI Out, zase nemají výstupy pro spojení s dalšími objekty, protože výsledky operací, které provádějí, jsou posílány na periferní výstup. Další objekty mají pevný počet vstupů a výstupů, zatímco jiné mají tento počet proměnný. Obecně tedy platí, že všechny objekty (bez ohledu na prováděné úkony) mají jednotné rozhraní pro objekty další – všechny obsahují nulový nebo větší počet vstupů, nulový nebo větší počet výstupů, a ty s nenulovým počtem vstupů nebo výstupů lze spojit s jinými objekty pomocí propojení. Objekty, když jsou spojeny se sebou samými nebo dalšími objekty, posílají zprávy přes své výstupy na vstupy připojených objektů. Pořadí připojení je důležité, protože komunikace mezi objekty se provádí na jeho základě; organizaci provádění operací lze ale měnit v editačním okně objektů.
Program používá tři typy zpráv: číselnou, zprávu typu tik, a zprávu typu řetězec: číselná zpráva obsahuje číselnou hodnotu, která prochází objektem jako parametr; v případě, že má číselná zpráva podobu čísla s desetinnou čárkou a vstup objektu podporuje pouze čísla celá, bude takové číslo zaokrouhleno na nejbližší celočíselnou hodnotu (vstup objektu Sequencer Tempo ale dekóduje i hodnotu čísla s desetinnou čárkou, tzn. např. číslo 60.5 nastaví v tomto objektu hodnotu 60,5 úhozů za minutu), zpráva typu tik má pouze jednu možnou velikost - jedna zpráva, poslaná např. do vstupu počítadla (objektu Counter) způsobí, že počítání proběhne pouze jedenkrát, zpráva typu řetězec umožňuje - jak název napovídá - poslat data v podobě řetězce.
Všechny typy objektů, které mají vstup, mohou přijímat všechny typy zpráv, objekty ale na ně nemusí nutně reagovat – pokud např. vstup objektu Sequencer obdrží jako jméno souboru celé číslo, bude zprávu ignorovat. Objekty v rámci patche mohou být ve stavu aktuálním nebo znovuobnoveném (resetovaném). V prvním případě se objekt může se v průběhu používání měnit, zatímco u resetovaného objektu jsou resetované proměnné přiřazeny aktuálním proměnným; to umožňuje uživateli nastavovat proměnné objektu jako známé hodnoty na počátku produkce nebo při resetování objektu. Pokud je resetován celý patch nebo subpatch (patch v patchi), budou resetovány také všechny objekty v nich. Všem lze přiřadit písmena, jména a komentáře, které usnadňují dokumentaci patche. Patche, objekty i jejich propojení mohou být zobrazeny jednak jako část diagramu v pracovním okně, uzel ve stromové struktuře, nebo jako editační okno (objekty s kontrolním oknem obsahují i kontextové menu). Pracovní okno má možnost skrýt některé objekty nebo objekty automaticky uspořádat - v případě režimu automatického uspořádání přebírají ikony objektů takovou polohu, která označuje jejich pozici ve stromové struktuře.
Pravé okno bylo automaticky uspořádáno - je možné vidět pořadí objektů, což usnadňuje diagnostiku problémů ve funkci patche (některé objekty nejsou v tomto zobrazení viditelné).
Objekty se propojují kliknutím na jejich výstup a tažením směrem k požadovanému vstupu dalšího objektu. Kromě čáry v pracovním okně, která zobrazuje spojení, se objeví ve stromové struktuře ikona propojení, vyžadující název. Spojení lze vytvářet i mezi objekty v různých pracovních oknech pomocí zobrazení, reprezentujícího identické vrstvy patche; je také možné ho realizovat i ze zobrazeného objektu na objekt v editačním formuláři, nebo dokonce mezi dvěma editačními formuláři.
Čtyři fáze propojování objektů v rámci provozovacího zobrazení; v pravé dolní části diagramu už je propojení kompletní – představuje jej čára a ikona konektoru v rámci stromové struktury
Stromová struktura zobrazuje všechny objekty a jejich propojení v kontextu celého patche, nabízí také rychlý přístup ke všem detailům; neumožňuje však dokonalé znázornění všech vnitřních propojení. Každý patch nebo subpatch je ve stromové struktuře reprezentován třemi položkami, kterými jsou Zařízení, Propojení a Zobrazení.
Stromová struktura se subpatchem
Patch se dá tedy částečně editovat i pomocí stromové struktury – po kliknutí pravým tlačítkem se objeví místní nabídka s několika možnostmi úprav.
Kontextové menu v rámci stromové struktury
Další možností je otevřít editační okno pro úpravu objektů, propojení a zobrazení, pomocí dvojitého kliknutí na ikonu ve stromové struktuře. Objekty lze navíc umisťovat do pracovního okna označením ikony ve stromové struktuře a jejím přetažením do okna nebo uzlu v rámci stromu. Editační okno (editační formulář) umožňuje úpravu vnitřních dat objektů. Okna mají několik karet, díky nimž lze zobrazit požadovaná data, která mají být upravována – jedná se o karty Data, Spojení a Komentář.
Program obsahuje 22 druhů objektů: objekt Audio Controller - obdrží audio data z mikrofonního vstupu zvukové karty a vyšle na výstup č. 1 číselnou hodnotu, odpovídající velikosti amplitudy vstupního signálu (audio kontrolér tedy nereflektuje frekvenci vstupní vlny, takže i pouhé foukání na mikrofon může způsobit vznik číselné hodnoty na výstupu), objekt Calculate - provádí výpočty na základě dvou celočíselných operandů pomocí proměnného operátoru (možné typy operátorů jsou sčítání, odečítání, násobení, dělení, modulo, a, nebo, rovná se, nerovná se, méně než, méně nebo rovno, více než, více nebo rovno), objekt Counter - umožňuje nastavovat variabilní velikost kroku (velikost kroku může být i větší, než výpočetní rozsah), rozsah (horní a dolní mez jsou proměnné), směr (výpočet je prováděn směrem nahoru nebo dolů) a obousměrný výpočet (po dosažení horní nebo dolní meze může výpočet probíhat v opačném směru), objekt Delay - přijímá zprávy z nulového vstupu a posílá je na výstup č. 1 po nastavitelném časovém intervalu, objekt Display - poskytuje uživateli možnost zobrazit a ukládat zprávy, vcházející do vstupu č. 1; objekt je používán hlavně pro diagnostiku při problémech s patchem pomocí sledování pořadí událostí na výstupu z objektu (následující verze aplikace mají umožnit sledování dat v tomto objektu ze zobrazovacího formuláře), objekt Flip-Flop – nastavuje se pomocí zprávy typu tik nebo nenulovou celočíselnou zprávou, poslanou do vstupu č. 1; nastavováním už nastaveného objektu žádný výstup nevznikne a účinek nebude mít ani zpráva s číslem 0, objekt Inlets Switch - tento objekt propouští zprávu z některého svého vstupu na určitý konkrétní výstup v závislosti na vstupní hodnotě; počet vstupů je proměnná, která se určuje v editačním formuláři tohoto objektu, objekt Message Store - objekt ukládá a posléze odesílá všechny druhy zpráv; má dva vstupy a jeden výstup, objekt Metro - metronom, produkující na výstupu č. 1 zprávy typu tik; je nastavitelný pomocí velikosti časového intervalu v milisekundách, objekt Midi In - získává MIDI data z čísla zařízení jako proměnnou; číslo zařízení se nastavuje v příslušném MIDI formuláři, objekt Midi Out - posílá MIDI data do určitého čísla zařízení jako proměnnou; toto číslo se nastavuje v příslušném MIDI formuláři, objekt Number Store - umožňuje ukládání a posílání celých čísel a je obzvláště užitečný pro čtení a nastavování celočíselných hodnot pomocí kontrolérů editačního okna objektu; existují čtyři typy ovladačů (kromě editačního formuláře): číselné políčko (zobrazuje aktuální celočíselnou hodnotu), jméno tónu (znázorňuje celočíselnou hodnotu jako jméno MIDI noty), svislý posuvník (zobrazuje velikost aktuální číselné hodnoty pomocí polohy na svislém posuvníku v rámci horní a dolní meze objektu), vodorovný posuvník (obdobně jako v předchozím případě), objekt Outlets Switch - propouští zprávu ze vstupu č. 2 do jednoho ze svých výstupů v závislosti na tom, jaká je aktuální hodnota na vstupu pro přepínání pozice, objekt Patch - tento objekt je obvykle používán pro vytvoření modulů, které provádějí dílčí funkce; sestává z jednotlivých objektů v počtu od nuly do určitého množství, které jsou nebo nejsou vzájemně propojeny a zobrazeny (lze použít – jak už bylo řečeno - sub-patch, čili patch uvnitř patche); objekt má proměnlivý počet vstupů a výstupů, vytvořených pomocí objektů Patch Inlet Port a Patch Outlet Port (viz dále), sloužících k propojení objektů uvnitř patche s jeho vnějškem,
objekty Patch Inlet Port a Patch Outlet Port - díky těmto objektům je možné (jak už bylo řečeno) sdružovat objekty do sub-patchů; každý port je spojen se vstupem (výstupem) svého „rodičovského“ patche a posílá zprávy z výstupu patche k objektům v subpatchi, objekt Random Generator - vytváří celá čísla od nuly až po číslo o jednu menší, než je absolutní hodnota proměnné, určující číselný rozsah, objekt Selector - umožňuje volbu a oddělení celočíselných zpráv (zprávy jsou srovnávány s horní a dolní mezí) – pokud tímto filtrem projdou, procházejí na výstup objektu pro procházející veličiny, v opačném případě na výstup pro neprůchozí veličiny, objekt Sekvencer - umožňuje přehrávat v patchi formát 0 a 1 MIDI souborů, což způsobí výstup v podobě celočíselné zprávy na výstupech Stav, Kanál, Datový byt 1 a Datový byt 2 (z posledního výstupu je odesílána zpráva druhu tik pro označení konce sekvence); je možné MIDI soubory otevírat, přehrávat, zastavovat přehrávání, nebo rychle „převíjet“ na jejich začátek nebo konec pomocí zpráv typu řetězec, přicházejících na vstup řídících zpráv, objekt Table - umožňuje uživateli načítat celé tabulky jako objekty, dále přístup k jednotlivým elementům tabulek pomocí zpráv na vstupu a také možnost zpracovávat tabulky v editačním okně, objekt má režim čtecí a zapisovací, tabulky jsou natahovány ze standardních textových souborů ve formátu TBL, což umožňuje uživateli vytvářet, upravovat, a importovat tabulky přesným zápisem dle vlastních požadavků, nebo je vytvářet z jiných sestavených programů (segmenty tabulky v souboru jsou odděleny mezerou – např. následující řada čísel 10 9 8 7 6 5 4 3 2 1 0 představuje tabulku s 11 prvky, kde element 1 = 10, 1 = 9, … 11 = 0); tabulka je po vytvoření z výchozího nastavení v režimu načítání (na který lze objekt nastavit pomocí číselné zprávy 0 (nebo zprávy typu řetězec), do zapisovacího režimu se nastavuje pomocí nenulové číselné zprávy (nebo zprávy typu řetězec). Do obdobné vnitřní tabulky mohou mít přístup dvě nebo více rozdílných zpráv, které jsou dokonce v různých režimech (větší možnost ovládání úprav tabulky nabízí editační okno, kde je možné vkládat a vyjímat prvky z tabulky, a kromě podobných úprav lze na editační okno během produkce hrát jako na hudební nástroj - po odemknutí pomocí ikony klíče v editačním oknu lze přejíždět přes tabulku, když do ní vstupují data), objekt Toggle - do tohoto objektu přicházejí na vstup č. 1 zprávy typu tik a celočíselné zprávy, což způsobí odeslání celočíselné zprávy s hodnotou 0 nebo 1 na výstup č. 1; zpráva typu tik způsobí, že objekt změní stav a vytvoří výstup, zatímco celočíselná zpráva je příčinou toho, že objekt vyhodnotí logickou hodnotu zprávy (vypnuto v případě 0, zapnuto v případě 1), a vytvoří celočíselnou zprávu, odpovídající novému stavu, objekt Trigger - dostává zprávy ze svého vstupu a vytváří zprávu typu tik na výstupu, objekt Wave Player - přehrává soubory ve formátu WAVE; jména těchto souborů lze vybírat na vstupu č. 2, operace s nimi pak pomocí zprávy typu řetězec na vstupu č. 1 (jedná se o příkazy přehrát, zastavit přehrávání, otevřít soubor, zavřít jej atd.), výstupní přehrávací zařízení je možné specifikovat na vstupu č. 3 (když má přehrávaný soubor končit, vytvoří se na výstupu č. 1 zpráva typu tik, což je ideální pro spuštění nějaké události po skončení přehrávání souboru), je podporováno i využití více zvukových karet, takže lze přehrávat různé soubory pomocí několika zvukových karet současně).
Jak vidno, zcela chybí objekty pro jiné typy syntézy zvuku, než přehrávání samplů (tzn. oscilátory, umožňující jejich různým propojováním realizaci např. aditivní syntézy, FM syntézy apod.), objekty pro přehrávání videa, možnost vytvořit nad patchi speciální „přátelštější“ uživatelské rozhranní atd. Autor programu plánuje v budoucí verzi 2 aplikaci rozpracovat z řady hledisek; zatím vydána nebyla. Video manuál lze nalézt na adrese http://algorithmiccomposer.software.informer.com/. Autogam – verze 1.2 Freewarová aplikace Thierry Bachmanna z roku 2001, určená pro operační systém Windows, je algoritmický hudební generátor MIDI dat. Rozhraní pro programování aplikace je napsáno v jazyce C++.
Hlavní okno programu Autogam
Program AutoGam vytváří MIDI data pomocí speciálního grafického rozhranní, které sice vychází z principu objektově orientovaných programovacích prostředí, má ale určité specifické rysy nejen z vizuálního hlediska (připomíná hru). Na druhé straně nedisponuje takovou flexibilitou a univerzálností, jako např. programy Max/MSP nebo Pure Data, byť také používá propojené objekty, tvořící tzv. algoritmus (v jiných programech nazývaný subpatch); algoritmy jsou spojeny v rámci titulu (v jiných programovacích prostředích zvaného patch). K tvorbě hudby dochází v reálném čase manipulací s objekty.
Aplikace provádí tyto základní operace: načítá soubory ve formátu GAM (speciálním formátu programu), přehrává je, umožňuje modifikaci vlastností objektů v reálném čase.
Titul tedy (jak už bylo řečeno) obsahuje všechny algoritmy skladby a je tvořen souborem ve formátu GAM. Lze jej při importu modifikovat pomocí pouhého textového editoru, je ale samozřejmě nezbytné zachovat syntax. Okno pro nastavení vlastností souboru umožňuje editovat: jméno titulu, jméno autora, hlavní informace,
základní tempo – je určeno jednotlivými cykly výpočtu v rozsahu od 50 milisekund do 5 sekund, zoom - usnadňující editaci objektů v algoritmu, propojení mezi objekty, generátor náhodných čísel - určité objekty jej používají.
Je možné vytvořit všechny objekty v rámci titulu, pokud je ale skladba komplikovanější, stane se rychle nepřehlednou, a je proto vhodnější vytvořit algoritmus pro každý typ nástroje. Algoritmy lze uložit nezávisle na titulu v rámci určité kolekce algoritmů ve speciálním formátu ALG. Přehrávat samostatně je ale nelze – pouze v rámci titulu. U algoritmů je možné měnit jejich jméno, vyměňovat objekty a jejich propojení.
Objekty lze rozdělit do čtyř skupin: spouštěče generátory operátory vykonavače
Objekty typu spouštěč slouží ke spuštění nebo zastavení výpočtů v následujících objektech, a proto zprávy, které vytvářejí, mohou nabývat pouze hodnot 0 a 1; v případě 0 žádná výstupní hodnota nevzniká, čili u dalšího objektu typu vykonavač se negenerují žádná MIDI data; s hodnotou 1 se výpočet výstupní hodnoty provádí. Objekty typu generátor umožňují výpočet číselného průběhu hudebního toku; stejně jako všechny ostatní druhy objektů mají vstupy a výstupy. V případě některých objektů je možné modifikovat určité parametry, což se provádí ve zvláštním okně a druh modifikovatelných parametrů závisí na typu objektu. Objekty typu operátor umožňují „míchat“ vstupní hodnoty v takovém pořadí, aby bylo dosaženo požadovaného výsledku. Objekty typu vykonavač generují výsledná MIDI data; jejich výstup už nelze s jinými objekty propojit. MIDI zprávy poté rozeznívají nástroje zvukové karty nebo připojeného syntetizéru. Video manuál existuje na adrese: http://autogam.software.informer.com/. Open Sound World – verze 1.2.7 Freeawarové programovací prostředí pro tvorbu hudby v reálném čase z roku 2005 pro operační systémy Windows (95/98/NT/2000/XP), Mac OS X, Linux atd.; vydavatelem je služba SourceForge.net. Jedná se plně řiditelné a rozšířitelné open source programovací prostředí pro úpravu zvuku v reálném čase. Kombinuje známé vizuální paradigma patchů s funkcemi programovacího jazyka, jakými jsou systém skriptů a hierarchický systém jmen. OSW také zahrnuje intuitivní model pro určení nových komponent použitím grafického rozhranní a výrazů v jazyce C++, takže je snadné vyvíjet a sdílet nové algoritmy pro tvorbu hudby a procesování signálu. Existuje adaptér, který umožňuje používat v OSW většinu VST efektů a nástrojových plugin - v současné době je to možné jen pro Windows.
OpenMusic OpenMusic je objektově orientované vizuální programovací prostředí pro operační systémy Mac OS X a Windows z roku 1997, jehož autory jsou Carlos Agon, Gérard Assayag a Jean Bresson z výzkumné skupiny na IRCAM; byl použit programovací jazyk Common Lisp (k dispozici je i zdrojový kód.) Objekty jsou - stejně jako u ostatních objektově orientovaných programovacích prostředí - symbolizovány ikonami, které mohou být přemisťovány přetahováním myší a vzájemně propojovány. Existuje zde řada možných úrovní tvorby hudebních dat, které jsou vždy spojeny s grafickým editorem, a mohou být uživatelem rozšiřovány podle potřeby. Reprezentace hudebních procesů je tedy více, než je obvyklé – k dispozici je běžná notace, piano roll editor nebo zobrazení audio signálu. Obzvláště konvenční hudební notace není u podobných programovacích prostředí běžná; lze s ní přímo manipulovat (je-li to nutné) pomocí editoru. K dispozici je velké množství knihoven patchů a různých šablon pro usnadnění práce, díky nimž lze program použít např. při tvorbě spektrální hudby, fraktální hudby, zvukové syntézy, minimalistické hudby, aleatorních skladeb apod.
Patch v programu Open Music
Max/MSP – 6.1.2 Vizuálně programovací prostředí pro tvorbu hudby a multimediálních projektů pro platformy Windows i Mac OS X; existuje již ve verzi 6.1.2 z roku 2013, vydavatelem je společnost Cycling '74.
Jeden z možných patchů v programovacím prostředí Max/MSP
Autorem programu je Miller Smith Puckette, který jej v polovině 80. let vytvořil na IRCAM pro počítač Macintosh jako nástroj k vytváření uživatelských systémů pro tvorbu interaktivní počítačové hudby (název Max je poctou průkopníku elektronické hudby, kterým byl Max Vernon Mathews, tvůrce prvního hudebního programu MUSIC). V roce 1989 vznikla na IRCAM konkurenční verze Max/FTS (FTS znamená „Faster Than Sound“), pracující na speciálním hardwarovém zařízení IRCAM Signal Processing Workstation; ta se stala předchůdcem modulu MSP (zkratka pro Max Signal Processing nebo Miller S. Puckette). Licenci na tuto verzi převedl IRCAM na společnost Opcode Systems, která začala v roce 1990 program prodávat pod názvem Max (v rozšířené verzi Davida Zicarelliho). Kvůli možnosti pracovat ve větší míře s videem a grafikou vznikl další modul v podobě knihovny s názvem NATO.0+55+3d. Posledním krokem byl vznik modulu Jitter, který je schopen zpracovávat rastry, vektory, 3D prostor a videosignál v reálném čase, takže jej mohou využívat hudebníci, tvůrci videa, djové, experimentátoři s nejrůznějšími nehudebními signály apod. Současná verze programu je distribuována společností Davida Zicarelliho s názvem Cycling '74. Pomocí programu Max/MSP/Jitter je tedy možné vytvářet různé speciální zvukové zdroje a vlastní hudební nástroje, speciální sestavy pro vjing, zvukové nebo vizuální interaktivní instalace, použít jej jako řídící zdroj pro další MIDI zařízení, světelný park, experimentální divadelní představení, součást senzorického systému, převod nejrůznějších signálů mezi sebou (např. audio vizuální signál na MIDI a naopak) a podobně. Je v podstatě standardem pro programy tohoto typu.
Jedna z prakticky nekonečného počtu podob, které může rozhraní programu nabývat
V Max/MSP je možné (stejně jako v Pure Data) rozšiřovat možnosti pomocí přídavných knihoven (zvaných externals), využívat standard Open Sound Control, libovolně mezi sebou kombinovat zdroje signálu z oblasti hudby a videa atd. Další informace o programu lze nalézt na stránkách: https://www.youtube.com/watch?v=i-oVbu5BbkM – live coding https://www.youtube.com/watch?v=tAtYht4QVnA – live coding https://www.youtube.com/watch?v=AY2u26PpaKU – live coding https://www.youtube.com/watch?v=z1cVfB71jlA – Max/Msp – generativní patch https://www.youtube.com/watch?v=v1T21oLNPjc – granulární syntéza pomocí programu Max/MSP https://www.youtube.com/watch?v=w7XghIxS-Ec – krátká skladba EA skladba, vytvořená pomocí programu Max/Msp https://www.youtube.com/watch?v=Q8_zMYy5yB0 – techno hudba, vytvořená pomocí programu Max/MSP
Pure Data Freewarové grafické orientované programovací prostředí z roku 1996, jehož autorem je už zmíněný Miller Smith Puckette; funguje v rámci operačních systémů Microsoft Windows, Linux a Max OSX, je určeno pro tvorbu elektroakustické hudby v reálném čase.
Hlavní okno programu Pure Data
Jak už bylo řečeno, Puckette je původním autorem programu Max (z kterého se postupně vyvinul Max/MSP/Jitter), v roce 1996 ale vydal freewarovou obdobu tohoto programovacího prostředí s názvem Pure Data (dále jen Pd); vzhledem k tomu, že uvolnil i kompletní zdrojové kódy, začala program požívat široká skupina uživatelů, přispívající novými funkcemi. Pd tedy existuje jednak v podobě Pd-vanilla, udržované Millerem Puckettem a obsahující jádro systému, jednak jako Pd-extended, rozvíjené členy komunity uživatelů. Dalo by se říct, že Pd je jakási open source alternativa k Max/MSP, která se samozřejmě určitými možnostmi od původní verze liší. Je ale možné importovat a exportovat patche do a z Max/MSP - stačí patch uložit jako text do souboru ve formátu PAT a otevřít jej v Pd. V případě společných funkcí lze skutečně vytvářet patche pro obě prostředí; pokud konkrétní objekty existují v rámci pouze jednoho, je často možné vytvořit abstrakce pro imitaci chybějících objektů v podobě kompatibilní knihovny. U spuštěného programu se struktury vytvářejí v oknech s tzv. plátny; kromě hlavního okna může být otevřeno oken s plátny libovolné množství (pokud obsahují strukturu, která je součástí celku, fungují, i když jsou zavřená). Struktura se jmenuje (jak už bylo řečeno) stejně jako u většiny podobných programů – patch, který může obsahovat řadu subpatchů.
Plátno s patchem
Pomocí Pd lze vytvořit audio patche, které dokáží vytvářet hudební zvuky, analyzovat příchozí zvuky a zpracovávat je, integrovat audio s ostatními médii apod. Audio signály jsou interně uchovávány jako 32 bitové s pohyblivou desetinou čárkou, takže je k dispozici takový dynamický rozsah, jaký je potřeba; v závislosti na hardwaru je ale bitová hloubka digitálního audia obvykle omezena na 16 nebo 24 bitů. Program tedy umí číst a zapisovat vzorky do souboru jako 16 nebo 24 bitové s pevnou desetinou čárkou, nebo jako 32 bitové s pohyblivou desetinou čárkou. Hodnota vstupních signálů se pohybuje v rozmezí hodnot -1 a 1, hodnoty výstupní jsou do tohoto intervalu také „srovnány“. Pd automaticky předpokládá požadovanou vzorkovací frekvenci 44100 Hz; může být ale změněna pomocí příkazového řádku nebo dialogového okna pro nastavení audia. Soubory se načítají nebo ukládají ve formátech WAV, AIFF nebo AU (pomocí objektů soundfiler, readsf a writesf). Patche jsou tvořeny jednotlivými objekty a jejich spoji. Základní objekty je možné najít v nabídce Vložit (Put) na hlavní liště: objekt (object) – je „prázdný“, teprve vepsáním určitých znaků do něj lze vytvořit konkrétní funkční objekt (např. vepsáním textu „osc~ 770“ vznikne oscilátor s frekvencí 770 Hz), zpráva (message) – slouží k uložení informace a její eventuální předání dál, číslo (number) – do něj se vkládá číselná hodnota, kterou lze tažením myši směrem nahoru nebo dolů zvětšovat a zmenšovat, symbol – slouží jako textový vstup, komentář (comment) – umožňuje psaní komentářů na plátno; tím se usnadňuje pochopení jednotlivých funkcí a ovládání patche, bang – funguje jako spínač, zaškrtávací tlačítko (toggle) – má obdobnou funkci, jako objekt předchozí, ale umožňuje určit, zda bude daný parametr aktivní nebo ne,
rozšířené číslo (number 2) – obdoba objektu number s většími možnostmi definování jeho vlastností, posuvníky (vslider a hslider) – vertikální a horizontální posuvníky umožňují plynulé nastavování hodnot v definovatelném rozsahu, přepínače (vradio a hradio) – díky nim lze přepínat mezi několika hodnotami, měřič úrovně signálu (VU meter) – zařízení, známé z hardwarových „předchůdců“, zobrazuje úroveň audio signálu, graf (graph) – umožňuje grafické znázornění měnících se hodnot v reálném čase, pole (array) – jedná se o zásobník určitého množství dat.
Dále existuje velké množství objektů se specifickými funkcemi, které se vytvářejí vepsáním jejich názvu do „prázdného“ (polyfunkčního) objektu s názvem object (obecně v tomto případě platí, že objekt s vlnovkou ~, čili tzv. vlnový objekt, pracuje s audio signálem). Kromě toho je možné vytvářet i vlastní objekty v programovacím jazyku C nebo v jazycích C++ a FORTRAN.
Spojování objektů se provádí pomocí dvou druhů spojů: „horký“ vstup - první vstup zleva; kromě zpracování příchozí události zajistí zaslání její zpracované verze na výstup (nebo více výstupů) objektu (čili signálový vstup), „studený“ vstup – jedná se o jakýkoliv jiný vstup a slouží pouze k parametrizaci objektu (řídící vstup).
Oba druhy vstupů a výstupů jsou odlišně graficky znázorněny – v případě audio vstupů a výstupů je jejich označením plný obdélníček, vstupy a výstupy pro kontrolní zprávy jsou naopak reprezentovány prázdným obdélníčkem. Propojovací kabely pro přenos audio signálu jsou znázorněny silnou čarou, spojnice pro přenos kontrolních zpráv naopak čarou tenkou. Platí, že signálový kabel nelze propojit s kontrolním vstupem, zatímco do signálového vstupu lze připojit i kontrolní kabel. Vkládání objektů a vytváření spojů se provádí v editačním režimu, ovládání funkčního patche v režimu provozovacím.
Příklad jednoduchého patche (MIDI syntetizéru)
Jako ukázka jednoduchého patche je nahoře zobrazen MIDI syntetizér, tvořený objekty řídícími i „vlnovými“. Řídící jsou v tomto případě notein, stripnote a mtof; svou činnost ale nevykonávají trvale – pouze jako důsledek příchozí MIDI zprávy (note on nebo note off), kdy je zapnut nebo vypnut kontrolní výpočet, při kterém se vypočítává frekvence tónu v Hz, přivedená do oscilátoru. Objekty osc ~, * ~ a dac~ vytvářejí zvukové vzorky pomocí výpočtu na základě stejného principu, na jakém pracuje analogový syntetizér. Objekt osc ~ je tedy oscilátor, který působí jako rozhraní mezi dvěma obvody, přebírá kontrolní zprávy k nastavení své frekvence, a tak „hovoří“ k objektu * ~ pomocí audio signálu (čili kontinuálního toku čísel). Poslední objekt dac~ je digitálně analogový převodník.
Faktem je, že „vlnové“ objekty pracují na základě měnících se příkazů z řídících objektů; zvuková část této sestavy tedy pracuje trvale, ať už MIDI zprávy přichází, nebo ne; pomocí řídících objektů lze tyto zvukové parametry ovlivnit (tzn. změnit frekvenci oscilátoru). Analogií hudebních procesů je v počítači pole číselných hodnot, počínaje už tvarem vlny ve wavetable oscilátoru (tzn. tabulce hodnot). Tabulka se používá i při nelineárním zkreslování zvukových signálů, v řídících obvodech může pak pole čísel určovat mapování ovládání zvukového zdroje, pravděpodobnostně určované hustoty veličin, data pro řízení nástrojového hlasu atd. Mohou se vyskytovat třeba v podobě grafu (viz obrázek).
Pole v podobě grafu
Jako jednu z řady možností využití programu uveďme i převod grafických objektů na hudební data. Původní myšlenkou při vývoji Pd bylo vytvořit prostředí pro vytváření hudby v reálném čase, jako je program Max, určitou dobu byla ale tendence i k vytváření partitur počítačové hudby s uživatelem definovanou grafickou podobou (předchůdce této myšlenky lze najít např. v programech Animal Erica Lindemanna a SSSP Billa Buxtona, ještě dříve v partiturách elektronické hudby). Pd je obecně navržen pro předem nijak nestrukturované prostředí s možností popisu datových struktur a jejich grafického znázornění, čili zobrazení jakéhokoliv druhu myslitelných dat; proto Pd využívá grafickou strukturu dat, podobnou té, která byla vytvořena pomocí programovacího jazyka C (má ale navíc možnost využít tvarů a barev). Data lze editovat „od nuly“, nebo importovat ze souborů, generovaných algoritmicky, a také třeba z analýzy příchozích zvuků či jiných datových toků. Je ale možné řídit zvukovou syntézu třeba i pomocí obrázkových objektů. Ty se skládají z kombinace skalárních hodnot (jako např. barvy, pozice objektu v rámci souřadnic X a Y atd.) a hodnot pole (jako např. dvojice čas/velikost, trojice čas/frekvence/šířka pásma objektu – např. šumového pásma apod.). To vše je v Pd programovatelné pomocí mechanismu šablon, které se skládají z definice datové struktury, obecně tvořené čtyřmi typy dat - skalárními proměnnými, symboly, poli a seznamy (objekt struct) a žádných nebo několika nakreslených instrukcí (objekty filledpolygon a plot). Obsah Pd okna vytváří seznam, instrukcemi mohou být objekty s příkazy pro kreslení. Takovou grafickou partituru lze upravovat tažením myši nebo přidáváním a odstraňováním jejich částí, také je možné kopírovat, vkládat a přetahovat po obrazovce objekty nebo jejich skupiny. Kromě toho zde existuje editovatelná (nebo počítačem generovatelná) textová reprezentace všech údajů (kterou lze pozorovat nebo měnit v dialogovém okně, eventuálně načítat z externích textových souborů). Více informací lze nalézt ve vyčerpávající publikaci Jana Kavana, věnované práci s tímto programem. Ukázky činnosti programu lze nalézt na adresách https://www.youtube.com/watch?v=mHdytnMq9dA https://www.youtube.com/watch?v=NuJkKtlD4OE https://www.youtube.com/watch?v=PG198yjkw9M https://www.youtube.com/watch?v=_63Cc6vPFVI – algoritmická kompozice, vytvořená pomocí programu Pure Data
SpinOSC – verze beta 0.1 Freewarová aplikace od společnosti IXI Audio pro operační systém Windows, s poslední aktualizací z roku 2008.
Okna uživatelského rozhraní aplikace SpinOSC a programu Pure Data
Program umožňuje uživateli vytvářet rotující objekty, označené jako spiny, které svou rotací spouštějí odesílání zpráv; počet těchto zpráv závisí na počtu boxů, které každý spin obsahuje (pohybuje se tedy v rozmezí od 1 do 10). Zprávy jsou ve formátu OSC; přenášejí informace o vlastnostech každého spinu, tzn. o jeho umístění, počtu boxů, velikosti, rychlosti rotace atd. Všechny tyto vlastnosti lze měnit. Kromě uživatelského rozhraní je součástí programu patch, vytvořený v Pure Data, který může být také upravován. OSC lze kromě Pd poslat i do mnoha jiných zvukových prostředí, jakými jsou SuperCollider nebo Open Sound World; hodnoty, které jsou vysílány spiny, je poté možné ve zmíněných programovacích prostředích přiřadit jakémukoliv parametru. (Pro úpravy lze využít začleněný soubor Preference). Je možné si stáhnout i tzv. „expertní“ verzi programu, která je určena odborníkům se zkušenostmi v oblasti psaní patchů pro programy Pure Data, Supercollider, Open SoundWorld nebo Max/MSP. V základní podobě je začleněn i program Pure Data, který je spuštěn automaticky. Shell – verze alfa 0.1 Freewarová aplikace společnosti IXI Audio s poslední aktualizací z roku 2008; je určena pro operační systém Windows a využívá prostředí Pure Data.
Uživatelské rozhraní programu Shell
Program tedy stejně jako v předchozím případě tvoří dvě části – rozhraní a zvukové zařízení, založené na Pd. Řídící procesy se provádějí manipulací s tvarem a umístěním různých obrazců v rámci rozhraní, Pure Data poté přenáší tato kontrolní data na různé samply (při tom používá i některé externals od různých autorů (arraycopy, arraysize, flashserver a zexy). Program byl vytvořen jako nástroj pro provádění hudby na principu až osmi simultánních smyček se zvukem akustických nástrojů. Samply se ukládají do vyrovnávacích pamětí a po jejich naplnění začnou automaticky hrát, poté začne opět jejich naplňování od prvního z nich. Velikost těchto pamětí lze nastavit pomocí nástroje v podobě kružítka, je možné určit i metronomickou hodnotu. Aplikaci může být použita také jako přehrávač samplů, kdy jsou zvuky importovány do bufferů přímo z hard disku.
Část programu Shell, využívající prostředí Pure Data
Video ukázku lze nalézt na adrese http://www.youtube.com/watch?v=Nj1NTlyURaw. SuperCollider – verze 3.6.5 Freewarové programovací prostředí z roku 1996, vytvořené Jamesem McCartneym a kolektivem spolupracovníků pro operační systémy Windows, Mac OS X, Linux a FreeBSD (verze pro Windows ale dnes začíná částečně za ostatními zaostávat, protože vývoj probíhá většinou v prostředí Mac a Linux); SuperCollider funguje i v rámci iOS a Android. Poslední aktualizace pochází z roku 2013. Program slouží pro realizaci audio syntézy a algoritmické kompozice v reálném čase. Od verze 3 je prostředí programu SuperCollider (SC) rozděleno na dvě komponenty: audio server – scsynth, a programovací jazyk – sclang, které komunikují pomocí standardu Open Sound Control. Generování zvuku je tedy v programu „sbaleno“ do audio serveru s názvem scsynth, ve většině případů řízeného pomocí programovacího jazyka SuperCollider, lze jej ale použít i nezávisle. Audio server má následující vlastnosti: umožňuje přístup přes Open Sound Control, má uživatelské rozhraní jednoduchých ANSI C plugin (ANSI C je standard Amerického národního institutu pro standardizaci, týkající se programovacího jazyka C), podporuje jakýkoliv počet vstupních a výstupních kanálů, dovoluje přístup ke stromové struktuře uzlových bodů syntézy, určující pořadí provádění příkazů, jeho systém sběrnic dynamicky restrukturuje průběh signálu, používá vyrovnávací paměti pro zápis a načítání,
provádí výpočet různými rychlostmi v závislosti na okamžité potřebě, nezávislá implementace v architektuře serveru s názvem Supernova přidává multiprocesorovou podporu pomocí paralelního seskupování uzlů syntézy.
Snímek obrazovky programovacího prostředí SuperCollider, na němž jsou znázorněny i části uživatelského rozhraní aplikace ixiQuarks 5
Snímek obrazovky programu SuperCollider v rámci Mac OS X s různými, uživatelem vytvořenými, elementy GUI
Programovací jazyk (sclang) je objektově orientovaný jazyk, podobný jazyku Smalltalk, se syntaxí programovacích jazyků Ruby nebo C; snaží se vyvažovat potřeby
výpočtů v reálném čase s flexibilitou a jednoduchostí abstraktních jazyků. Umožňuje vytvářet aplikace s multiplatformními grafickými uživatelskými rozhraními. Jako univerzální dynamický programovací jazyk lze SuperCollider použít pro živé kódování (tzn. – jak už bylo řečeno - provozování hudby, při němž uživatel při živé produkci modifikuje kód přímo „za chodu“). Další informace jsou k dispozici na stránkách http://supercollider.sourceforge.net/. https://www.youtube.com/watch?v=rMbcqv8rxnA – generativní hudba v programu Super Collider https://www.youtube.com/watch?v=xYpgYKwp4jA – live coding https://www.youtube.com/watch?v=H5IceNlC69w – live coding https://www.youtube.com/watch?v=zIjMmpDLeJM – performance umělce cambridgeBlueMan (Lea Nicholson) s využitím programu Super Collider https://www.youtube.com/watch?v=4YKoZinQLRY – workshop a koncert, související s programem Super Collider AudioMulch – verze 2.2.4 Program, který v roce 1997 vytvořil Ross Bencina, existuje již nyní ve verzi 2.2.4; je určen pro platformy Windows XP/Vista/7 a Mac OS X 10.5/10.6/10.7/10.8. Jedná se o interaktivní hudební rozhraní pro živé provozování hudby, kompozici i zvukový design.
Uživatelské rozhraní programu AudioMulch
AudioMulch umožňuje – stejně jako ostatní programovací prostředí - vytvářet hudbu propojováním modulů pro tvorbu i procesování zvuku do patchů; na rozdíl od nich jsou již jednotlivé moduly výrazně propracovány (včetně uživatelského rozhraní), takže není potřeba vytvářet vše od základních prvků, jakými jsou oscilátory a filtry (tzn. funkce jsou již předpřipraveny na vysoké úrovni, nejedná se ale tím pádem o zcela obecné
programovací prostředí). AudioMulch je navržen pro živá vystoupení a improvizaci – je možné v reálném čase zpracovávat audio signál ovládáním kontrolních prvků v uživatelském rozhraní pomocí MIDI kontrolérů. Také lze využít možnosti integrace několika účinkujících s laptopy, obsahujícími tento program, které jsou všechny vzájemně propojeny MIDI rozhraním; hudební výsledek je pak zachycen jako vícekanálová nahrávka nebo křivky automatizace (které lze později znovu použít eventuálně modifikovat). AudioMulch umožňuje vytváření zpětnovazebních smyček, kombinovaných s procesy živého smyčkování, takže vznikají samovolně se generující a vyvíjející se zvuková prostředí. Aplikaci lze také použít jako hudební nástroj díky nezvyklému rozhraní metapovrchu, určenému pro gestické ovládání programu, díky němuž lze docílit plynulých a hladkých přechodů mezi desítkami nastavených parametrů v dvourozměrné ploše; pohyby (gesta) je možné v rámci metapovrchu také zautomatizovat a zasmyčkovat. AudioMulch má mnoha kanálový vstup a výstup s podporou až 256 kanálů, což umožňuje: nahrávat improvizované pasáže jako vícestopý záznam, který může být mixován později, použít program jako mixér při živé produkci, vytvářet prostorové rozložení hudby jako surroundový zvuk nebo jiný druh vícekanálového uspořádání reproduktorů. Program také nabízí automatickou globální synchronizaci všech zařízení, která obsahuje (od efektových parametrů po MIDI); existuje i možnost synchronizace s externími zařízeními a dalšími počítači přes síť. V rámci nejrůznějších profesionálních i spíše nezvyklých použití je aplikace velmi adaptabilní přesto, že je již – jak už bylo řečeno – oproti ostatním programovacím prostředím, definována; funguje ve smyslu principu „všechno v jednom“, díky němuž je možné komponovat, provádět a produkovat hudbu. Lze ho využít i jako: nástroj pro úpravu zvuku, protože poskytuje kreativní audio procesování pomocí granulární syntézy, různých „tvarovačů“ vlnového průběhu, zpožďovačů a filtrů, vícestopé záznamové zařízení, které může nahrát improvizovanou hudbu a provést následné mixážní studiové práce, nástroj, díky němuž mohou skladatelé a zvukoví designéři vytvářet nejrůznější textury, hostitelský program pro VSTi pluginy softwarových nástrojů a efektů. Aplikace obsahuje řadu generátorů signálu (testovací tón, šum, bicí automat, basový syntetizér, aditivní syntetizér, granulátor samplů s možností ukládání, přehrávač smyček, přehrávače a nahrávače zvukových souborů se streamováním až do 24 kanálů, tónový generátor Shepard/Risset, arpeggiator), množství efektů (reverb, flanger, phaser, delay line granulator, kruhový modulátor, stereo delay, stereo chorus, dynamické rozšiřování stereo báze, waveshaper, posouvač frekvencí, kompresor, limiter, noise gate, velké množství filtrů atd.) a mixer (s funkcemi crossfade, fade in/out s nastavitelnými časy apod.). https://www.youtube.com/watch?v=bPT06Z0TBvw – ukázka elektronické taneční hudby, vytvoření pomocí programu AudiMulch