Mezi tichem a šumem - komprese zvuku
10.9.2008, Radek Jahoda, článek
Zvuk byl v počátcích kinematografie i kvůli opojení z pohyblivých obrázků opomenut a až později nastalo nedílné spojení. Nejprve jako doprovod hudbou, pak i se synchronizací dialogů. My se přeneseme do doby, kdy nastala potřeba zvuk efektivně komprimovat.
Kapitoly článku:
Velikost zvukových souborů vždy byla a stále je problémem, takže již od začátku byla snaha nějak zmenšit jejich velikost. To zajistí komprese, která ale může k problému přistupovat různě. Většinou se komprese dělí na dva typy, my si je ale rozdělíme na čtyři:
Většinou dochází pouze k rozdělení na bezeztrátové a ztrátové, na moduly se často zapomíná, přestože jde také o jistý druh komprese. A právě na ně se podíváme jako první.
Do této skupiny patří jak moduly, tak MIDI. MIDI je rozhraní (interface) pro spojování hudebních instrumentů, které si předávají v podstatě pouze noty/tóny. Ano, i to je určitý druh komprese, přestože je aplikovatelný pouze na hudbu. Kromě interface je MIDI i soubor, který obsahuje stejné informace, které se po rozhraní posílají. Ke "kompresi" dochází ještě před samotným vytvořením souboru, nevytváří se tedy přímo zvukový soubor, ale pouze instrukce, jak má přehrávač zvuk vytvořit.
V MIDI jsou definovány nástroje a noty, je na přehrávači, jakým způsobem vygeneruje samotný zvuk. Může toho dosáhnout buď syntézou, kdy generuje signály nástrojů generátorem frekvencí. Toto je častá metoda, používaná u levných zvukových karet, má totiž svá omezení (počet generovaných frekvencí je omezen), takže zvuk nástrojů zní velmi uměle. Druhá metoda je použití vzorků nástrojů, zkráceně samplů, které byly předem navzorkovány a jde tedy o věrné interpretace reálných nástrojů. Ty pak již jen stačí přehrát v požadovaném sledu.
K tomu je ale nutné paměť s těmito vzorky, která ale musí být docela velká, takže vše prodražuje. Dříve šlo o nemazatelnou paměť, ve které byly vzorky uloženy, ta je ale nejdražší, proto se později přišlo s osazením normální RAM pamětí, do které se vzorky po zapnutí nahrály z pevného disku. U hudebních nástrojů ale musí být vzorky samozřejmě uloženy napevno (například v elektronických klávesách). Zdá se to jednoduché, ale je to velmi kvalitní - podle kvality zvukové karty/hudebního nástroje, který hudbu přehrává.
Amiga 500
Problém nastává, pokud se mají přehrávat zvuky nestandardních nástrojů nebo zvuky, které ani od hudebních nástrojů nepocházejí. Toto řeší moduly. Říká se jim tak podle prvotního formátu MOD, který znají uživatelé počítače Amiga z konce devadesátých let 20. století. V souboru jsou tyto samply rovněž uloženy, takže přehrávač si je nejprve načte a poté je jen přehrává v požadovaném sledu, požadovanou rychlostí (což emuluje noty), popřípadě s aplikací některých efektů (jako echo, vibrato apod.). Jde vlastně o nejlepší kompresi, protože samply se opakují stále dokola, ale uloženy jsou jen jednou. Takto je možné vkládat i zpěv a cokoliv jiného, ale čím více samplů, tím větší je soubor. Najednou může hrát více samplů, protože v souboru je více stop s informacemi, co se má hrát.
Existuje větší množství formátů modulů lišících se svými možnostmi, především kvalitou samplů a počtem stop. Původní MOD formát měl samply pouze osmibitové, aby se nechaly dobře přehrávat na počítači Amiga.
Podívejme se na nejrozšířenější formáty:
MOD
První modulový formát, vytvořený pro program SoundTracker pro počítače Amiga. Umožňoval maximálně 15 samplů a čtyři stopy pro přehrávání. Samply jsou osmibitové, bez komprese. Později byl formát rozšířen na 8 stop a 32 samplů.
XM
Oblíbený (nejoblíbenější?) formát, zavedený programem FastTracker pro operační systém MS-DOS, který používal 16-tibitové samply, umožňuje ale i osmibitové. Podporuje až 32 stop a 128 samplů.
STM
Formát vycházející z MOD formátu, ale vytvořený pro program ScreamTracker pro DOS. Má v podstatě stejné vlastnosti - 4 stopy, 31 samplů v osmi bitech.
S3M
Nástupce formátu STM pro program ScreamTracker 3, asi druhý nejoblíbenější formát po XM. Rozšířen na 32 stop a 255 samplů. ale v praxi se používá (resp. lze editovat) 16 stop a 99 samplů. Podporováno je i vzorkování se 16 bity, ale v praxi se používá stále jen 8.
MED
Zzavedený programem OctaMED pro Amigu, existuje několik verzí podle verze programu, 4-8 stop, 32 samplů v 8 bitech
IT
Fformát pro ImpulseTracker pro MS-DOS, podporuje až 255 stop a 16-tibitové samply, později rozšířeno i o prostorový zvuk.
MO3
Nový formát, který zavádí kompresi samplů, ta mlže být ve formátu Vorbis nebo MP3 nebo i s bezeztrátovou kompresí, samozřejmě v 16-ti bitech. Umožňuje konverzi ze/do starých formátů.
Existují další formáty, např. MTM (MultiModuleEdit), FAR (Farandole Composer), DMF (X-Tracker) a další, ale ty již nejsou tak rozšířené.
Všechny modulové formáty byly v minulosti hodně používané a oblíbené (na Amigách často díky své hardwarové nenáročnosti používané ve hrách pro hudbu na pozadí), dnes jsou ale v podstatě mrtvé. Ne že by se stejným způsobem neskládalo dále, používají se ale loops (zvukové cykly = samply), ale již není žádný podobný formát rozšířený z toho důvodu, že jako výstup vždy slouží nějaký formát typu MP3, který lze přehrávat kdekoliv, např. v přenosných přehrávačích apod.
- MIDI a moduly
- bezeztrátové
- signálové
- psychoakustické
Většinou dochází pouze k rozdělení na bezeztrátové a ztrátové, na moduly se často zapomíná, přestože jde také o jistý druh komprese. A právě na ně se podíváme jako první.
Do této skupiny patří jak moduly, tak MIDI. MIDI je rozhraní (interface) pro spojování hudebních instrumentů, které si předávají v podstatě pouze noty/tóny. Ano, i to je určitý druh komprese, přestože je aplikovatelný pouze na hudbu. Kromě interface je MIDI i soubor, který obsahuje stejné informace, které se po rozhraní posílají. Ke "kompresi" dochází ještě před samotným vytvořením souboru, nevytváří se tedy přímo zvukový soubor, ale pouze instrukce, jak má přehrávač zvuk vytvořit.
V MIDI jsou definovány nástroje a noty, je na přehrávači, jakým způsobem vygeneruje samotný zvuk. Může toho dosáhnout buď syntézou, kdy generuje signály nástrojů generátorem frekvencí. Toto je častá metoda, používaná u levných zvukových karet, má totiž svá omezení (počet generovaných frekvencí je omezen), takže zvuk nástrojů zní velmi uměle. Druhá metoda je použití vzorků nástrojů, zkráceně samplů, které byly předem navzorkovány a jde tedy o věrné interpretace reálných nástrojů. Ty pak již jen stačí přehrát v požadovaném sledu.
K tomu je ale nutné paměť s těmito vzorky, která ale musí být docela velká, takže vše prodražuje. Dříve šlo o nemazatelnou paměť, ve které byly vzorky uloženy, ta je ale nejdražší, proto se později přišlo s osazením normální RAM pamětí, do které se vzorky po zapnutí nahrály z pevného disku. U hudebních nástrojů ale musí být vzorky samozřejmě uloženy napevno (například v elektronických klávesách). Zdá se to jednoduché, ale je to velmi kvalitní - podle kvality zvukové karty/hudebního nástroje, který hudbu přehrává.
Amiga 500
Problém nastává, pokud se mají přehrávat zvuky nestandardních nástrojů nebo zvuky, které ani od hudebních nástrojů nepocházejí. Toto řeší moduly. Říká se jim tak podle prvotního formátu MOD, který znají uživatelé počítače Amiga z konce devadesátých let 20. století. V souboru jsou tyto samply rovněž uloženy, takže přehrávač si je nejprve načte a poté je jen přehrává v požadovaném sledu, požadovanou rychlostí (což emuluje noty), popřípadě s aplikací některých efektů (jako echo, vibrato apod.). Jde vlastně o nejlepší kompresi, protože samply se opakují stále dokola, ale uloženy jsou jen jednou. Takto je možné vkládat i zpěv a cokoliv jiného, ale čím více samplů, tím větší je soubor. Najednou může hrát více samplů, protože v souboru je více stop s informacemi, co se má hrát.
Existuje větší množství formátů modulů lišících se svými možnostmi, především kvalitou samplů a počtem stop. Původní MOD formát měl samply pouze osmibitové, aby se nechaly dobře přehrávat na počítači Amiga.
Podívejme se na nejrozšířenější formáty:
MOD
První modulový formát, vytvořený pro program SoundTracker pro počítače Amiga. Umožňoval maximálně 15 samplů a čtyři stopy pro přehrávání. Samply jsou osmibitové, bez komprese. Později byl formát rozšířen na 8 stop a 32 samplů.
XM
Oblíbený (nejoblíbenější?) formát, zavedený programem FastTracker pro operační systém MS-DOS, který používal 16-tibitové samply, umožňuje ale i osmibitové. Podporuje až 32 stop a 128 samplů.
STM
Formát vycházející z MOD formátu, ale vytvořený pro program ScreamTracker pro DOS. Má v podstatě stejné vlastnosti - 4 stopy, 31 samplů v osmi bitech.
S3M
Nástupce formátu STM pro program ScreamTracker 3, asi druhý nejoblíbenější formát po XM. Rozšířen na 32 stop a 255 samplů. ale v praxi se používá (resp. lze editovat) 16 stop a 99 samplů. Podporováno je i vzorkování se 16 bity, ale v praxi se používá stále jen 8.
MED
Zzavedený programem OctaMED pro Amigu, existuje několik verzí podle verze programu, 4-8 stop, 32 samplů v 8 bitech
IT
Fformát pro ImpulseTracker pro MS-DOS, podporuje až 255 stop a 16-tibitové samply, později rozšířeno i o prostorový zvuk.
MO3
Nový formát, který zavádí kompresi samplů, ta mlže být ve formátu Vorbis nebo MP3 nebo i s bezeztrátovou kompresí, samozřejmě v 16-ti bitech. Umožňuje konverzi ze/do starých formátů.
Existují další formáty, např. MTM (MultiModuleEdit), FAR (Farandole Composer), DMF (X-Tracker) a další, ale ty již nejsou tak rozšířené.
Všechny modulové formáty byly v minulosti hodně používané a oblíbené (na Amigách často díky své hardwarové nenáročnosti používané ve hrách pro hudbu na pozadí), dnes jsou ale v podstatě mrtvé. Ne že by se stejným způsobem neskládalo dále, používají se ale loops (zvukové cykly = samply), ale již není žádný podobný formát rozšířený z toho důvodu, že jako výstup vždy slouží nějaký formát typu MP3, který lze přehrávat kdekoliv, např. v přenosných přehrávačích apod.