Nebojte se funkcí v DAW - Co vše jde se zvukem ve světě nul a jedniček…

Nebojte se funkcí v DAW - Co vše jde se zvukem ve světě nul a jedniček…
Nebojte se funkcí v DAW - Co vše jde se zvukem ve světě nul a jedniček…

Time stretching

Time stretching je proces, při kterém se zrychluje nebo zpomaluje zvukový signál, aniž by došlo ke změně výšky tónu a nebo barevné změně zvukového signálu.

Existuje pro něj několik českých překladů, ale v podstatě všechny jsou buď nepřesné, nečeské a nebo nepoužitelně dlouhé. Jen pro představu:

-časová komprese a expanze (dlouhé),

-časový strečing (nečeské),

-zrychlování a zpomalování času (dlouhé a nejasné).

Ač se osobně snažím v terminologii pro snazší srozumitelnost počešťovat vše, co jen jde, budu se zde držet anglického time stretching.

 

K čemu?

K čemu je time stretching dobrý? V dnešní době se při práci se zvukovými vzorky a smyčkami používá time stretching doslova neustále. Začneme ale z poněkud jiného úhlu.

Tato ikona v MediaBay aplikace Cubase zajišťuje, že vybraná zvuková smyčka bude synchronní s tempem projektu již v okamžiku náslechu právě v tomto okně.
Tato ikona v MediaBay aplikace Cubase zajišťuje, že vybraná zvuková smyčka bude synchronní s tempem projektu již v okamžiku náslechu právě v tomto okně.

[Obr: Cubase_MediaBay: Tato ikona v MediaBay aplikace Cubase zajišťuje, že vybraná zvuková smyčka bude synchronní s tempem projektu již v okamžiku náslechu právě v tomto okně.]

 

Představte si televizní spot (třeba reklamu). Od zadavatele je naprosto přesně zadaná stopáž, kterou musíte dodržet, a hraje se o každou vteřinu. Obraz už je hotový a stačí jen nasadit komentář. Ale ať se mluvčí snaží jakkoliv, nedokáže se strefit. Nakonec se rozhodnete, že jeho proslov jednoduše zrychlíte a nebo zpomalíte, případně část zrychlíte a jinou zpomalíte. Ale samozřejmě nechcete ovlivnit barvu jeho hlasu. A právě zde je použit time stretching.

 

Daleko typičtějším příkladem je současná práce se zvukovými a hudebními smyčkami. Představte si, že jste si koupili nějakou hudební smyčku pěkného kytarového riffu, který chcete do své skladby použít. Tónina sedí, ale vaše skladba hraje v tempu 130 BPM, zatímco smyčka byla původně nahrána v tempu 150 BPM. Pokud takovou smyčku do své skladby použijete, nebude tempo jednoduše sedět a výsledek bude nepoužitelný. Pokud byste jen jednoduše „natáhli“, změnila by se tónina dané zvukové smyčky - smyčka by byla níž, podladěná. Na řadu tedy musí přijít právě time stretching.

Time_stretch_120
Time_stretch_120
Time_stretch_150
Time_stretch_150

Na obou obrázcích je BassDrum In bez time stretching, tedy v původní délce, zatímco na BassDrum Out je v Musical Mode, tedy je na něj použit time stretching. Již na obrázku s tempem 120 je patrné, že se údery přizpůsobil mřížce a beat tak bude synchronní s projektem. Na obrázku s tempem 150 je pak patrné, co se stane při změně tempa na 150 BPM. BassDrum In zůstává stejně dlouhý, ale BassDrum Out se přizpůsobí a padne do nového tempa.

 

Zrychlení/zpomalení přehrávání (pásku)

Vraťme se ještě o jeden krok zpátky, k jednoduchému zrychlení. Jak bylo řešeno, pokud by nebyl aplikován time stretching, změnilo by se po zrychlení nebo zpomalení nahrávky ladění. Výsledek by byl naprosto stejný, jako když se zrychlí nebo zpomalí přehrávání magnetofonového pásku (nebo desky). Je to logické. Délka vlny rozhoduje o frekvenci. Čím je délka větší, tím je frekvence nižší. Pokud tedy zpomalíme přehrávání, prodloužíme délku vlny, a proto bude znít celá nahrávka níž.

 

Micke Mouse efekt

Time stretching tento problém se změnou ladění řeší. A kromě toho řeší ještě další vedlejší efekt, tzv. “Mickey Mouse effect”. Tento efekt jistě znáte právě z postavičky myšáka Mickeyho a řady dalších hlasů animovaných postaviček. Tento efekt je důsledkem změny v poměru vyšších harmonických frekvencí, a tedy barvy zvuku (která je dána právě vyššími harmonickými frekvencemi).

 

Time stretching se tedy musí vypořádat se dvěma jevy najednou - se změnou délky signálu, aniž ovlivní výšku tónu, a zároveň se zachováním poměrů vyšších harmonických frekvencí pro zachování barvy zvuku.

Takto vypadá výběr příslušného nástroje pro time stretching v Cubase.
Takto vypadá výběr příslušného nástroje pro time stretching v Cubase.

Žádnou matematiku!

Z výše uvedeného vyplývá, že time stretching je opravdu hodně zajímavý proces. Už jen samotné prodloužení signálu. Aniž by se změnila frekvence musí signál zároveň trvat déle. Logicky z toho vyplývá, že si počítač v tomto případě prostě musí „odhadnout“, jak bude signál pokračovat. Samozřejmě se jedná o mnohem sofistikovanější řešení a v signálu ve výsledku není jeden „odhadnutý úsek“ na konci, ale tyto „odhadnuté úseky“ jsou velmi kratičké a vkládají se do celé délky signálu, aby se zachovala co největší kontinuita signálu. Podobně pokud potřebujeme signál „zrychlit“, je potřeba některé kratičké úseky vynechat (což je samozřejmě jednodušší než tvořit nové).

 

Zachování vyšších harmonických frekvencí je ještě zajímavější proces. Vezměme si jen velmi jednoduchý příklad. Máme základní frekvenci 500 Hz a její první harmonickou frekvenci (tedy frekvenci dvojnásobnou) 1000 Hz. Jestliže zvýšíme výšku základního tónu signálu o 100 Hz, dostaneme základní frekvenci 600 Hz a „první harmonická“ (posune-li se opět o stejnou hodnotu, tedy +100 Hz) pak bude rovna 1100 Hz. Tak ovšem přestává být první harmonickou frekvencí, protože první harmonická frekvence musí být rovna dvojnásobku frekvence základní. Tedy v tomto případě by musela být rovna 1200 Hz. Z původně hudebního signálu by se tak stal zvuk (tedy signál nehudební), u nějž bychom v extrémnějších případech nejen že nepoznali, o jaký nástroj s jedná, ale dokonce bychom ani nebyli schopní určit výšku tónu.

 

Abychom to udělali ještě zajímavější a reálnější, dovolím si připomenout, že jedna harmonická frekvence nestačí. Od komorního a1 dokáže lidské ucho vnímat až pět vyšších harmonických frekvencí (880 Hz, 1760 Hz, 3520 Hz, 7040 Hz a 14080 Hz). Logicky, od o dvě oktávy nižšího velkého A dokáže lidské ucho vnímat až sedm vyšších harmonických. A barva zvuku záleží nejen na tom, které vyšší harmonické frekvence jsou v signálu reprezentovány, ale především na hlasitosti každé jednotlivé vyšší harmonické frekvence signálu.

Takto vypadá definice Fourierovy transformace. Pokud vás to baví, více najdete na cs.wikipedia.org/wiki/Fourierova_transformace.
Takto vypadá definice Fourierovy transformace. Pokud vás to baví, více najdete na cs.wikipedia.org/wiki/Fourierova_transformace.

Nyní nastupuje zajímavá matematika. Sečteno podtrženo, motá se tu řada integrálů a Fourierova transformace. Nic zajímavého pro muzikantovo ucho, takže toto téma opustíme.

A takto vypadá zpětná Fourierova transformace, která se nás také týká.
A takto vypadá zpětná Fourierova transformace, která se nás také týká.

V současných DAW

Všechna současná softwarová DAW se samozřejmě musejí s funkci time stretching nějak vypořádat. Jak již bylo řešeno, bez této funkce by v podstatě nebylo možné pracovat s hudebními smyčkami. Většina DAW obvykle automaticky okamžitě aplikuje funkce time stretching na nově vloženou zvukovou smyčku do projektu. Tím synchronizuje tempo smyčky s tempem projektu tak, aby vše sedělo, jak má. Pokud se to aplikaci nepovede dobře „odhadnout“, je možné toto doladit ručně. Samozřejmě je také možné tuto funkci vypnout, takže každý načtený zvukový soubor zůstane tak dlouhý, jak je v originále. To se hodí buď v případě, kdy se tempo projektu neshoduje s tempem projektu, a nebo v případě, že se jedná o zvukovou (nikoliv hudební) stopu. Ostatní softwary - například Cubase - rozlišují mezi režimem lineárním, zvukovým (Linear) a mezi režimem hudebním (Musical).

Takto vypadá v Cubase rozdíl mezi souborem, na který je automaticky aplikován time stretching (políčko Musical Mode je zaškrtnuté), a na aplikován který není (políčko je prázdné).
Takto vypadá v Cubase rozdíl mezi souborem, na který je automaticky aplikován time stretching (políčko Musical Mode je zaškrtnuté), a na aplikován který není (políčko je prázdné).

Závěr

Na pozadí jednoduše znějící funkce time stretching se tedy odehrává ne zrovna nejjednodušší matematika. Proto nemusí vždy nutně výsledek - zejména v extrémních situacích, jako jsou zrychlování o čtvrtiny délky signálu nebo ještě více - znít zrovna skvěle. Lidské ucho a mozek jsou fantastické. Člověk ví přesně, jak by měl výsledek znít. Dokáže si tento výsledek abstraktně představit a nebo jej bezpečně poznat z řady odlišných nabídnutých vzorků a výsledků. Počítač toto ale nedokáže. Zkuste na to při příštím použití funkce time stretching brát zřetel.

Psáno pro časopis Muzikus