Vlastní VST kompresor
Re: Vlastní VST kompresor
Dik. No chápu, budu se muset ještě zamyslet, jestli z toho nenasekat třeba čtyři hodně simplified verze pro nějaké konkrétní použití:) Ale mě na tom zatim baví ta komplexnost a variabilita. Rozhodně přibudou ještě presety, které trochu pomůžou. A pak snad i nějaké tutoriály.
Zkusim teda popsat, jak to celé funguje.
Sonicrusher má v zásadě tři části: kompresor, crush (barvítko/zkreslení), výstup
1) kompresor
DRIVE - nastavuje vstupní úroveň v dB. ovlivňuje jak silný signál jde do detektoru a zároveň do Crush části, takže má vliv na následné zkreslení a výstup
THRESHOLD - úroveň signálu na které pracuje detektor kompresoru (když ji signál překročí, tak je ztlumován - attack fáze, když se dostane pod ní, tak se může zase vracet na normální úroveň - release fáze). Nemá jednotky, protože je různě kalibrovaný podle dalších přepínačů.
RATIO - poměr v jakém je signál ztlumen po uplynutí attack fáze.
ATTACK - délka attack fáze v ms - za jak dlouho se signál ztlumí po překročení thresholdu.
RELEASE - délka release fáze v ms - za jak dlouho se signál dostane na původní úroveň pokud klesne pod threshold.
HOLD - čas, po který nemůže nastat release i když je signál pod thresholdem - tedy oddálení release fáze. Dá se tim např. nastavit rytmické pumpování
HI-PASS - hi-pass filtr na řídícím signálu - čim výš, tim měně budou kompresi ovlivňovat basy - tim více budou propouštěny.
LO-PASS - obdobně jako hi-pass, ale na výškách
KNEE - zaoblení kolena kompresoru - tedy jak rychle nastoupí komprese. Hard knee znamená, že do dosažení thresholdu se nekomprimuje, nad ním ihned podle ratio. Soft je zaoblená křivka, která interpoluje mezi 1:1 a ratio v okolí thresholdu. Znamená to tedy, že soft knee nastupuje měkčeji a s menším zkreslením. Nicméně většnou to neni moc výrazný rozdíl.
RMS - udává z jak dlouhého intervalu se průměruje hodnota vstupního signálu. Když je na nule, tak se detekujou přímo peaky signálu. Čim delší RMS, tim více energie je potřeba ke kompresi. V praxi, čim menší RMS, tim rychlejší a jehličkovější komprese, čim delší RMS, tim výrazněji proleze např. úder bicích.
FAT/TIGHT - ovlivňuje křivku kompresoru a threshold. Tight je výraznější komprese a víc snappy, FAT je tlustší a stabilnější.
FAST/SLOW - ovlivňuje rychlost reakce, fast navíc expanduje řídící signál. Ve výsledku FAST je výraznejší a víc pumpující komprese, SLOW je pomalejší a stabilnější. Asi ještě přejmenuju na PUMPING/SOLID.
HF SPLIT - při zapnutém stavu se kompresor přepne do multiband modu - na dvě pásma, která jsou komprimována zvlášť s různými časy a ratio. Horní pásmo je nastavené lehce nad 10 kHz. 1 a 2 se liší lehce dělicí frekvencí a časy. Na méně výškových signálech to vytáhne výškový hřebínek, na více dynamických výškach to naopak výšky zažehlí. Výsledný efekt závisí i na Thresholdu a jak moc to komprimuje.
MODERN/VINTAGE - přepíná zda se kompresor řídí signálem před úpravou hlasitosti - feed-forward (Modern) a nebo po úpravě hlasitosti - feed-back (Vintage). Dost zásadně ovlivňuje charakter komprese. Modern je zpravidla rychlejší, výraznější, Vintage je hladší a tlustší.
2) Crush
CRUSH - přidává band-pass nebo hi-pass zkomprimovaného signálu, který prožene nelineárnim zkreslením a přimíchá zpátky. Zkreslení je závislé i na síle vstupního signálu a na DRIVE. Dá se použít jako eq nebo pro nasycení úderu, zkreslení atd.
CRUSH FREQ - frekvence filtru crushe
CRUSH Q - šířka filtru crushe
HP/BP - přepíná hi-pass a band-pass
ENV ON/OFF - v zapnutém stavu je crush řízený tim jak zabírá kompresor - tedy čim víc komprimuje, tim víc přidává crush. Tzn. například na úderech bicích. Při env off je crush konstantní.
WARM - přidává další harmonické zkreslení, je závislé i na síle vstupního signálu a na DRIVE.
COLOR - tilt eqalizér (tedy ne zcela, je to lo-shelf a hi-shelf se širokým Q různě posouvané), který umožňuje ztmavit/zesvětlit výstupní signál.
3) výstup
ST. LINK - vlastně patří ke kompresoru (ale tam se mi nějak nevešel:), přpíná jestli řídící signál je pro každý kanál zvlášť a nebo jestli řídí oba dohromady jejich průměr.
CLIP - zapíná clipper - všechno co je nad clip thresh je oříznuto na tuto úroveň. Někdy se hodí ořezat příliš dynamické peaky, které prolezou attackem. Dá se použít jako další zkreslení.
CLIP THRESH - úroveň nad kterou se ořezává výstupní signál.
OUTPUT - nastavuje výstupní hlasitost v dB
DRY/WET - poměr čistého a procesovaného signálu. Dry signál není ovlivněný Drive, ale je ovlivněný Outputem.
Zkusim teda popsat, jak to celé funguje.
Sonicrusher má v zásadě tři části: kompresor, crush (barvítko/zkreslení), výstup
1) kompresor
DRIVE - nastavuje vstupní úroveň v dB. ovlivňuje jak silný signál jde do detektoru a zároveň do Crush části, takže má vliv na následné zkreslení a výstup
THRESHOLD - úroveň signálu na které pracuje detektor kompresoru (když ji signál překročí, tak je ztlumován - attack fáze, když se dostane pod ní, tak se může zase vracet na normální úroveň - release fáze). Nemá jednotky, protože je různě kalibrovaný podle dalších přepínačů.
RATIO - poměr v jakém je signál ztlumen po uplynutí attack fáze.
ATTACK - délka attack fáze v ms - za jak dlouho se signál ztlumí po překročení thresholdu.
RELEASE - délka release fáze v ms - za jak dlouho se signál dostane na původní úroveň pokud klesne pod threshold.
HOLD - čas, po který nemůže nastat release i když je signál pod thresholdem - tedy oddálení release fáze. Dá se tim např. nastavit rytmické pumpování
HI-PASS - hi-pass filtr na řídícím signálu - čim výš, tim měně budou kompresi ovlivňovat basy - tim více budou propouštěny.
LO-PASS - obdobně jako hi-pass, ale na výškách
KNEE - zaoblení kolena kompresoru - tedy jak rychle nastoupí komprese. Hard knee znamená, že do dosažení thresholdu se nekomprimuje, nad ním ihned podle ratio. Soft je zaoblená křivka, která interpoluje mezi 1:1 a ratio v okolí thresholdu. Znamená to tedy, že soft knee nastupuje měkčeji a s menším zkreslením. Nicméně většnou to neni moc výrazný rozdíl.
RMS - udává z jak dlouhého intervalu se průměruje hodnota vstupního signálu. Když je na nule, tak se detekujou přímo peaky signálu. Čim delší RMS, tim více energie je potřeba ke kompresi. V praxi, čim menší RMS, tim rychlejší a jehličkovější komprese, čim delší RMS, tim výrazněji proleze např. úder bicích.
FAT/TIGHT - ovlivňuje křivku kompresoru a threshold. Tight je výraznější komprese a víc snappy, FAT je tlustší a stabilnější.
FAST/SLOW - ovlivňuje rychlost reakce, fast navíc expanduje řídící signál. Ve výsledku FAST je výraznejší a víc pumpující komprese, SLOW je pomalejší a stabilnější. Asi ještě přejmenuju na PUMPING/SOLID.
HF SPLIT - při zapnutém stavu se kompresor přepne do multiband modu - na dvě pásma, která jsou komprimována zvlášť s různými časy a ratio. Horní pásmo je nastavené lehce nad 10 kHz. 1 a 2 se liší lehce dělicí frekvencí a časy. Na méně výškových signálech to vytáhne výškový hřebínek, na více dynamických výškach to naopak výšky zažehlí. Výsledný efekt závisí i na Thresholdu a jak moc to komprimuje.
MODERN/VINTAGE - přepíná zda se kompresor řídí signálem před úpravou hlasitosti - feed-forward (Modern) a nebo po úpravě hlasitosti - feed-back (Vintage). Dost zásadně ovlivňuje charakter komprese. Modern je zpravidla rychlejší, výraznější, Vintage je hladší a tlustší.
2) Crush
CRUSH - přidává band-pass nebo hi-pass zkomprimovaného signálu, který prožene nelineárnim zkreslením a přimíchá zpátky. Zkreslení je závislé i na síle vstupního signálu a na DRIVE. Dá se použít jako eq nebo pro nasycení úderu, zkreslení atd.
CRUSH FREQ - frekvence filtru crushe
CRUSH Q - šířka filtru crushe
HP/BP - přepíná hi-pass a band-pass
ENV ON/OFF - v zapnutém stavu je crush řízený tim jak zabírá kompresor - tedy čim víc komprimuje, tim víc přidává crush. Tzn. například na úderech bicích. Při env off je crush konstantní.
WARM - přidává další harmonické zkreslení, je závislé i na síle vstupního signálu a na DRIVE.
COLOR - tilt eqalizér (tedy ne zcela, je to lo-shelf a hi-shelf se širokým Q různě posouvané), který umožňuje ztmavit/zesvětlit výstupní signál.
3) výstup
ST. LINK - vlastně patří ke kompresoru (ale tam se mi nějak nevešel:), přpíná jestli řídící signál je pro každý kanál zvlášť a nebo jestli řídí oba dohromady jejich průměr.
CLIP - zapíná clipper - všechno co je nad clip thresh je oříznuto na tuto úroveň. Někdy se hodí ořezat příliš dynamické peaky, které prolezou attackem. Dá se použít jako další zkreslení.
CLIP THRESH - úroveň nad kterou se ořezává výstupní signál.
OUTPUT - nastavuje výstupní hlasitost v dB
DRY/WET - poměr čistého a procesovaného signálu. Dry signál není ovlivněný Drive, ale je ovlivněný Outputem.
Re: Vlastní VST kompresor
Super, díky. Určitě bude skvělý, když v rámci nějakého tutoriálu budou i nějaký tipy (např. máš-li tupé bubny, zkus to a to...). Vím, že to je opruz, ale strašně to pomůže.
Věřím, že ses během práce na tom strašně moc o kompresi naučil a mohl bys dělat tutoriály i bez pluginu
Věřím, že ses během práce na tom strašně moc o kompresi naučil a mohl bys dělat tutoriály i bez pluginu
Re: Vlastní VST kompresor
Jo, to že jsem se naučil jak funguje komprese je přidaná hodnota, která je možná důležitější než celej plugin:)
Re: Vlastní VST kompresor
Předělal jsem ještě metering. Metry jsou teď tři - ledkové. Input (včetně drive), gain reduction a output. Asi se to někdy hodí vidět:)
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
Re: Vlastní VST kompresor
Tak asi začínám mít pocit, že je to víceméně hotové. Ještě jsem přidal display zobrazující aktuální hodnotu vybraného parametru, trochu jsem ještě poladil chování hf-split, color a pár detailů. U metrů jsem ještě nechal dvě vteřiny svítit maximální hodnoty. Teď asi ještě natočit nějaké demo video:)
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
Re: Vlastní VST kompresor
Respekt a klobouk dolů!
Co by bylo potřeba pro macOS verzi? Je to o vlastnění macu nebo je nějaká použítá technologie/framework/knihovna jenom pro Windows a přes to nejede vlak?
Co by bylo potřeba pro macOS verzi? Je to o vlastnění macu nebo je nějaká použítá technologie/framework/knihovna jenom pro Windows a přes to nejede vlak?
Re: Vlastní VST kompresor
Dik. Mel by stacit Mac. Je to delane pomoci iPlug wdl-ol. Asi zkusim si z prace pujcit m1 a zbuildit to na nem, akorat bude asi nejaka prace nastavit xcode projekt, nejake tooly atd. Ale kdyby se ti chtelo to zkusit na tvym macu, tak klidne:)
Re: Vlastní VST kompresor
Doporucil bych jeste trochu zvazit to UIcko, myslim, ze je hrozne preplacany a na sobe nahnacany... co se vykaslat na imitaci racku (kdyz to ani nesimuluje nejakou slavnou skatuli, tak co z toho...) a dat to treba od CRUSH dospod? Proste o polovinu uzsi, zato vyssi. Taky by, myslim, prospelo vic prostoru mezi ovladacimi prvky. Tak to jsou jen takovy moje podnety ke zvazeni...
Re: Vlastní VST kompresor
Diky za tip, to asi neni uplne blbej napad:)
Re: Vlastní VST kompresor
gui je king, to vsichni vime, i kdyz si to nechceme nekdy pripustit
Re: Vlastní VST kompresor
Tak tady je jeste pridana a snad i hotova gain kompenzace
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
jsou tam dve varianty. 1) Staticka, ktera se nastavuje priblizne a konstantne podle thresholdu, ratio, input gainu a attacku, release a hpf. Funguje na vsem a neovlivnuje kompresi, ale neni presna (zavisi vzdy na materialu). 2) dynamicka, ktera automaticky matchuje rms dry a wet signalu. Ta funguje zase dost presne na vsem, ale je to vlastne dalsi pomala komprese a na nekterych materialech je to slyset (napr. dlouhe pomale plochy).
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
jsou tam dve varianty. 1) Staticka, ktera se nastavuje priblizne a konstantne podle thresholdu, ratio, input gainu a attacku, release a hpf. Funguje na vsem a neovlivnuje kompresi, ale neni presna (zavisi vzdy na materialu). 2) dynamicka, ktera automaticky matchuje rms dry a wet signalu. Ta funguje zase dost presne na vsem, ale je to vlastne dalsi pomala komprese a na nekterych materialech je to slyset (napr. dlouhe pomale plochy).
Re: Vlastní VST kompresor
Ještě jedna úprava - přidal jsem nastavení gainu HF pásma pro HF-Split mód -50 až +50 %.
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
https://www.dropbox.com/s/ou3m188hnfgkn ... r.dll?dl=0
Re: Vlastní VST kompresor
Tyjo ale až tam přidáš i multiband, tak to bude chtít už další patro