Input Transformer - práce s MIDI daty
Dostal jsem se nedávno k jedné diskusi na fóru Cubase.cz, kde byla položená vcelku jednoduchá otázka. Týkala se možností přemapování čísla MIDI kontroleru vysílaného z NanoKONTROL2 na jiné. Vzhledem k tomu, že možnosti jsou v tomto (a dalších podobných) případě vlastně dvě, ale my diskutovali jen tu, která se týkala Cubase, přišlo mi jako dobrý nápad se tomuto poněkud pověnovat (což i dotyčný tazatel hodnotil pozitivně). Pro úplnost jen dodávám, že ta nediskutovatelná varianta byla pořešit vše na straně HW kontroleru, čili zde nanoKONTROL2. Takže jak na to, když nechceme/nemůžeme provést změny u samotného hardware.
Na úvod bych ještě dodal, že i přes nedávné vydání Cubase 13 veškeré informace platí i pro aktuální verzi (screenshoty jsou z tazatelovo verze C12, ale od C13 se nijak neliší). Podotýkám, že pouze "Pro" verze, neboť ty ostatní modulem Input Transformer nedisponují.
Vymezení problému
O co jde jsem již nastínil v úvodu výše. Z technického pohledu - řečí MIDI - je tedy potřeba příchozí zprávy MIDI CC# transformovat v části identifikace, tj. "čísla" nebo též "adresy" kontinuálního kontroleru. Například tedy oblíbené modulační kolečko vysílá MIDI zprávy CC#1 (Modulation). Řekněme, že je požadavek zaměnit je za MIDI CC#11 (Expression). V Cubase verze Pro k tomu existuje nástroj a není třeba se tedy uchylovat k řešení třetích stran. Tím nástrojem je již několikrát zmíněný Input Transformer.
.
Co je Input Transformer?
V úvodu jsem použil označení "modul", ale není tím myšleno nic, co by mělo jakoukoli spojitost s plug-in moduly. Vlastně je to jedna z vestavěných funkcionalit a dlužno dodat, že velice mocných. Kromě zmíněné záměny adresy CC# toho umí mnohem více: filtrovat MIDI zprávy podle jejich hodnot, adres, MIDI kanálů, modifikovat je (zadefinovat například dynamiku klávesy - Velocity - jen v úzkém intervalu) a provádět i další složitější úkony, přičemž vše se děje v reálném čase a - co je nejdůležitější - ještě před vstupem do MIDI/Nástrojové stopy, takže zaznamenávaná data jsou již po tomto předzpracování.
.
.
.
Jak Input Transformer funguje
Celý Input Transformer sestává ze 3 sekcí:
- sekce Modulů
- sekce Filtrů
- sekce Akcí
Můžete aktivovat až 4 moduly, které pracují v sérii. MIDI data tak "proudí" postupně skrz všechny aktivované, takže lze realizovat i složitější filtrování (první modul vyfiltruje část dat, druhý bude pracovat již jen s nimi a tak dále). Každý modul lze uložit jako preset (a kdykoli jej pak načíst), přičemž s Cubase je pár presetů již dodaných.
Ke každému modulu pak patří sekce filtrů a akcí. Sekce filtrů vlastně vymezí vstupní MIDI data, která se buď budou odfiltrovávat nebo modifikovat (vše záleží na zvoleném režimu, který je ve spodní části okna Input Transformer - Filter nebo Transform). Základní podmínkou úspěchu je tedy jako první nadefinovat správně filtr (filtry) tak, aby po průchodu touto sekcí Input Transformera byla k případné modifikaci předložena již jen ty požadované MIDI eventy. Nastíním tedy příklad z dotazu ve fóru, čili řekněme, že ovládací prvek na HW kontroleru, například první fader, vysílá MIDI CC#1 a my jej chceme převést na MIDI CC#11 a takto i zaznamenat do MIDI stopy. Jak na to:
1. V projektu existuje MIDI/Nástrojová stopa, do které chceme MIDI data zaznamenat.
2. V Inspektorovi aktivujeme Input Transformer v režimu Track (čili veškeré aktivity se budou týkat výlučně této stopy). Režim Project znamená, že se vše bude odehrávat na existujících/nových MIDI/Nástrojových stopách v rámci aktivního projektu.
3. Aktivujeme modul 1, čímž se zpřístupní tlačítka Insert a Remove v editačních sekcích níže.
4. Sestavíme filtr tak, aby v zájmu Input Transformera byly pouze příchozí MIDI eventy CC#1. Na to jsou potřeba 2 řádky, kdy první definuje, že nás zajímá "Controller" a druhým jeho adresa:
5. Sestavíme sekci akcí tak, aby se měnila adresa CC#1 na CC#11. Zde již stačí jedna řádka, kde již bude definována nová adresa MIDI CC#:
V rámci "testování" správnosti nastavení a jejich kombinací lze s výhodou využít monitorování MIDI dat - aniž by se musel kousek nahrát a následně zkoumat. Tímto nástrojem je MIDI Insert efekt "MIDI Monitor", takže si jej vložíme do prvního Insert slotu (přístupný například opět z Inspektora).
.
Automaticky se hned aktivuje a zobrazí se jeho ovládací panel a monitorační okno. Tím je vše připraveno, protože celý řetězec je tedy:
MIDI HW kontrolér > Input Transformer (Cubase) > MIDI Monitor (Cubase) > MIDI/Nástrojová stopa
Jakmile tedy v tomto momentě zapracujete s příslušným ovládacím prvkem, v okně MIDI Monitor lze spatřit výsledné MIDI eventy, kterými by tedy měly být zprávy MIDI CC#11.
.
Pokud by byly nějaké pochybnosti nebo by celý proces zjevně nefungoval, je potřeba zkontrolovat jednak definice v Input Transformeru a druhak samotné vstupní MIDI zprávy (ale nepředpokládám, že by někdo vymýšlel podobnou aktivitu a nevěděl, jaké číslo MIDI CC# vysílá ten který ovládací prvek na HW kontroleru). Každopádně MIDI Monitor umí vše zjistit a pro ujištění, že vstupní data nejsou nijak modifikována, stačí deaktivovat modul(y) v Input Transformeru, pohnout HW prvkem a hned je jasno v identifikaci dat.
.
.
.
Závěrem
Input Transformer je trošku zjednodušenou variantou Logical Editoru, kde lze vytvářet daleko složitější filtrovací podmínky za pomoci logických operátorů a závorek. Navíc zde je i daleko větší nabídka funkcí (nejen filtrování a transformování). Nicméně toto je již mimo rámec aktuálního krátkého tutoriálu, který si dal za úkol pouze ukázat možnosti práce se vstupními MIDI daty, aniž by bylo nutné něco přeprogramovávat na nástroji/HW kontroleru.
Díky za čas strávený nad článkem, zpětná vazba je opět vítaná a zase někdy příště!
Pavel "pavlii" Kappler
Článek ve formátu PDF:
Input Transformer - práce s MIDI daty