Kompresjon i praksis. Dynamisk komprimering Dynamisk område komprimert eller standard

Denne gruppen av metoder er basert på det faktum at overførte signaler gjennomgår ikke-lineære amplitudetransformasjoner, og i sende- og mottaksdelene er ikke-linearitetene resiproke. For eksempel, hvis den ikke-lineære funksjonen Öu brukes i senderen, brukes u 2 i mottakeren. Konsekvent anvendelse av gjensidige funksjoner vil sikre at den generelle transformasjonen forblir lineær.

Ideen med ikke-lineære datakomprimeringsmetoder er at senderen kan, med samme amplitude av utgangssignalene, overføre et større spekter av endringer i den overførte parameteren (det vil si et større dynamisk område). Dynamisk rekkevidde- dette er forholdet mellom den største tillatte signalamplituden og den minste, uttrykt i relative enheter eller desibel:

; (2.17)
. (2.18)

Det naturlige ønsket om å øke det dynamiske området ved å redusere U min er begrenset av utstyrets følsomhet og økende påvirkning av interferens og egenstøy.

Oftest utføres komprimering av dynamisk område ved å bruke et par gjensidige funksjoner av logaritme og potensering. Den første operasjonen med å endre amplituden kalles kompresjon(ved komprimering), den andre - ekspansjon(strekker seg). Valget av disse spesielle funksjonene er forbundet med deres største kompresjonsevne.

Samtidig har disse metodene også ulemper. Den første av disse er at logaritmen til et lite tall er negativ og i grensen:

det vil si at sensitiviteten er veldig ikke-lineær.

For å redusere disse manglene, modifiseres begge funksjonene ved forskyvning og tilnærming. For eksempel, for telefonkanaler har den tilnærmede funksjonen formen (type A):

med A=87,6. Forsterkningen fra komprimering er 24 dB.

Datakomprimering ved bruk av ikke-lineære prosedyrer implementeres på analog måte med store feil. applikasjon digitale medier kan forbedre nøyaktigheten eller ytelsen til konverteringen betydelig. Samtidig direkte bruk av midler datateknologi(det vil si direkte beregning av logaritmer og eksponenter) vil ikke gi de beste resultatene på grunn av lav ytelse og akkumulerende regnefeil.

På grunn av nøyaktighetsbegrensninger, brukes datakomprimering ved komprimering i ikke-kritiske tilfeller, for eksempel for overføring av tale over telefon- og radiokanaler.

Effektiv koding

Effektive koder ble foreslått av K. Shannon, Fano og Huffman. Essensen av koder er at de er ujevne, det vil si med et ulikt antall biter, og lengden på koden er omvendt proporsjonal med sannsynligheten for at den oppstår. En annen flott funksjon ved effektive koder er at de ikke krever skilletegn, dvs. spesielle karakterer, som skiller tilstøtende kodekombinasjoner. Dette oppnås ved å følge en enkel regel: kortere koder er ikke begynnelsen på lengre. I dette tilfellet blir den kontinuerlige bitstrømmen unikt dekodet fordi dekoderen oppdager de kortere kodeordene først. Effektive koder har lenge vært rent akademiske, men nylig har de blitt brukt til å lage databaser, samt til å komprimere informasjon i moderne modemer og programvarearkivere.

På grunn av ujevnheter innføres gjennomsnittlig kodelengde. Gjennomsnittlig lengde - matematisk forventning til kodelengden:

dessuten tenderer l av til H(x) ovenfra (det vil si l av > H(x)).

Oppfyllelsen av betingelse (2.23) blir sterkere ettersom N øker.

Det finnes to typer effektive koder: Shannon-Fano og Huffman. La oss se på hvordan du får tak i dem ved å bruke et eksempel. La oss anta at sannsynlighetene til symbolene i sekvensen har verdiene gitt i tabell 2.1.

Tabell 2.1.

Symbolsannsynligheter

N
p i 0.1 0.2 0.1 0.3 0.05 0.15 0.03 0.02 0.05

Symboler er rangert, det vil si presentert på rad i synkende rekkefølge av sannsynligheter. Etter dette, ved bruk av Shannon-Fano-metoden, gjentas følgende prosedyre med jevne mellomrom: hele gruppen av hendelser er delt inn i to undergrupper med samme (eller omtrent samme) totale sannsynligheter. Prosedyren fortsetter til ett element forblir i neste undergruppe, hvoretter dette elementet elimineres, og de angitte handlingene fortsetter med de resterende. Dette skjer til det bare er ett element igjen i de to siste undergruppene. La oss fortsette med vårt eksempel, som er oppsummert i tabell 2.2.

Tabell 2.2.

Shannon-Fano-koding

N P i
4 0.3 Jeg
0.2 Jeg II
6 0.15 Jeg Jeg
0.1 II
1 0.1 Jeg Jeg
9 0.05 II II
5 0.05 II Jeg
7 0.03 II II Jeg
8 0.02 II

Som det fremgår av tabell 2.2 deltok det første symbolet med sannsynlighet p 4 = 0,3 i to prosedyrer for inndeling i grupper og havnet begge gangene i gruppe nummer I. I samsvar med dette er den kodet med en tosifret kode II. Det andre elementet i det første trinnet av partisjonen tilhørte gruppe I, i det andre - til gruppe II. Derfor er koden 10. Kodene til de gjenværende symbolene trenger ikke ytterligere kommentarer.

Vanligvis er ikke-uniforme koder avbildet som kodetrær. Et kodetre er en graf som indikerer tillatte kodekombinasjoner. Retningene til kantene på denne grafen er forhåndsinnstilt, som vist i fig. 2.11 (valget av retninger er vilkårlig).

De navigerer i grafen som følger: lag en rute for det valgte symbolet; antall biter for den er lik antall kanter i ruten, og verdien av hver bit er lik retningen til den tilsvarende kanten. Ruten er tegnet opp fra startpunktet (på tegningen er den merket med bokstaven A). For eksempel består ruten til toppunkt 5 av fem kanter, alle unntatt den siste har retning 0; vi får kode 00001.

La oss beregne entropien og gjennomsnittlig ordlengde for dette eksemplet.

H(x) = -(0,3 log 0,3 + 0,2 log 0,2 + 2 0,1 log 0,1+ 2 0,05 log 0,05+

0,03 log 0,03 + 0,02 log 0,02) = 2,23 biter

l gjennomsnitt = 0,3 2 + 0,2 2 + 0,15 3 + 0,1 3 + 0,1 4 + 0,05 5 +0,05 4+

0.03 6 + 0.02 6 = 2.9 .

Som du kan se, er den gjennomsnittlige ordlengden nær entropi.

Huffman-koder er konstruert ved hjelp av en annen algoritme. Kodingsprosedyren består av to trinn. På det første trinnet utføres enkeltkompresjoner av alfabetet sekvensielt. Engangskomprimering - erstatte de to siste symbolene (med de laveste sannsynlighetene) med ett, med en total sannsynlighet. Komprimeringer utføres til to tegn gjenstår. Samtidig fylles en kodetabell ut, der de resulterende sannsynlighetene legges inn, og rutene som nye symboler beveger seg langs neste trinn er avbildet.

På det andre trinnet skjer den faktiske kodingen, som begynner fra det siste trinnet: det første av de to symbolene er tildelt kode 1, det andre - 0. Etter dette går de videre til forrige trinn. Kodene fra det påfølgende trinnet tilordnes symbolene som ikke deltok i komprimeringen på dette stadiet, og koden til symbolet som ble oppnådd etter liming tilordnes to ganger til de to siste symbolene og legges til koden til det øverste tegnet 1, lavere en - 0. Hvis tegnet ikke er lenger i liming deltar, forblir dens kode uendret. Prosedyren fortsetter til slutten (det vil si til den første fasen).

Tabell 2.3 viser Huffman-koding. Som det fremgår av tabellen, ble kodingen utført i 7 trinn. Til venstre er symbolsannsynlighetene, til høyre er mellomkodene. Pilene viser bevegelsene til de nyopprettede symbolene. På hvert trinn skiller de to siste symbolene seg bare i den minst signifikante biten, som tilsvarer kodingsteknikken. La oss beregne den gjennomsnittlige ordlengden:

l avg = 0,3 2 + 0,2 2 + 0,15 3 ++ 2 0,1 3 + +0,05 4 + 0,05 5 + 0,03 6 + 0,02 6 = 2,7

Dette er enda nærmere entropi: koden er enda mer effektiv. I fig. Figur 2.12 viser Huffman-kodetreet.

Tabell 2.3.

Huffman-koding

N p i kode Jeg II III IV V VI VII
0.3 0.3 11 0.3 11 0.3 11 0.3 11 0.3 11 0.4 0 0.6 1
0.2 0.2 01 0.2 01 0.2 01 0.2 01 0.3 10 0.3 11 0.4 0
0.15 0.15 101 0.15 101 0.15 101 0.2 00 0.2 01 0.3 10
0.1 0.1 001 0.1 001 0.15 100 0.15 101 0.2 00
0.1 0.1 000 0.1 000 0.1 001 0.15 100
0.05 0.05 1000 0.1 1001 0.1 000
0.05 0.05 10011 0.05 1000
0.03 0.05 10010
0.02

Begge kodene tilfredsstiller kravet om entydig dekoding: Som det fremgår av tabellene, er ikke kortere kombinasjoner begynnelsen på lengre koder.

Etter hvert som antall symboler øker, øker effektiviteten til kodene, så i noen tilfeller blir større blokker kodet (for eksempel hvis vi snakker om om tekster, kan du kode noen av de hyppigst forekommende stavelser, ord og til og med fraser).

Effekten av å introdusere slike koder bestemmes ved å sammenligne dem med en enhetlig kode:

(2.24)

hvor n er antall biter av den enhetlige koden som erstattes av den effektive.

Modifikasjoner av Huffman-koder

Den klassiske Huffman-algoritmen er en to-pass algoritme, dvs. krever først innsamling av statistikk om symboler og meldinger, og deretter prosedyrene beskrevet ovenfor. Dette er upraktisk i praksis fordi det øker tiden det tar å behandle meldinger og samle en ordbok. Oftere brukes engangsmetoder, der akkumulerings- og kodingsprosedyrer kombineres. Slike metoder kalles også adaptiv kompresjon ifølge Huffman [46].

Essensen av adaptiv komprimering ifølge Huffman kommer ned til konstruksjonen av et innledende kodetre og dets sekvensielle modifikasjon etter ankomsten av hvert neste symbol. Som før er trærne her binære, dvs. Høyst to buer kommer fra hvert toppunkt på tregrafen. Det er vanlig å kalle det opprinnelige toppunktet for overordnet, og de to påfølgende toppunktene knyttet til det som barn. La oss introdusere konseptet med toppunktvekt - dette er antallet tegn (ord) som tilsvarer et gitt toppunkt, oppnådd når du mater den opprinnelige sekvensen. Det er klart at summen av barnas vekter er lik vekten til forelderen.

Etter å ha introdusert neste symbol for inngangssekvensen, revideres kodetreet: vektene til toppunktene beregnes på nytt, og om nødvendig omorganiseres toppunktene. Regelen for permutering av toppunkter er som følger: vektene til de nedre toppunktene er de minste, og toppunktene som ligger til venstre i grafen har minst vekt.

Samtidig er toppunktene nummerert. Nummereringen starter fra de nedre (hengende, dvs. uten barn) toppunktene fra venstre til høyre, og beveger seg deretter til toppnivå etc. før du nummererer det siste, opprinnelige toppunktet. I dette tilfellet oppnås følgende resultat: jo mindre vekten av et toppunkt er, jo lavere er tallet.

Permutasjonen utføres hovedsakelig for hengende hjørner. Ved permutering må regelen formulert ovenfor tas i betraktning: toppunkter med større vekt har et høyere tall.

Etter å ha bestått sekvensen (det kalles også kontroll eller test), blir alle hengende hjørner tildelt kodekombinasjoner. Regelen for å tildele koder er lik den ovenfor: antall biter av koden er lik antall toppunkter som ruten går gjennom fra kilden til det gitte hengende toppunktet, og verdien til en bestemt bit tilsvarer retningen fra forelderen til "barnet" (si, å gå til venstre for forelderen tilsvarer verdien 1, til høyre - 0 ).

De resulterende kodekombinasjonene lagres i minnet til kompresjonsenheten sammen med deres analoger og danner en ordbok. Bruken av algoritmen er som følger. Den komprimerte sekvensen av tegn er delt inn i fragmenter i samsvar med den eksisterende ordboken, hvoretter hvert av fragmentene erstattes med sin kode fra ordboken. Fragmenter som ikke finnes i ordboken danner nye hengende hjørner, får vekt og føres også inn i ordboken. På denne måten dannes en adaptiv algoritme for å fylle på ordboken.

For å øke effektiviteten til metoden er det ønskelig å øke størrelsen på ordboken; i dette tilfellet øker kompresjonsforholdet. I praksis er størrelsen på ordboken 4 - 16 KB minne.


La oss illustrere den gitte algoritmen med et eksempel. I fig. Figur 2.13 viser det opprinnelige diagrammet (det kalles også Huffman-treet). Hvert toppunkt på treet er vist med et rektangel der to tall er skrevet inn gjennom en brøk: det første betyr nummeret på toppunktet, det andre betyr dets vekt. Som du kan se, er samsvaret mellom vektene til toppunktene og deres tall tilfredsstilt.

La oss nå anta at symbolet som tilsvarer toppunkt 1 dukker opp en gang til i testsekvensen. Vekten til toppunktet har endret seg som vist i fig. 2.14, som et resultat av at regelen for nummerering av toppunkter brytes. På neste trinn endrer vi plasseringen av de hengende toppunktene, som vi bytter toppunkt 1 og 4 for og omnummererer alle toppunktene til treet. Den resulterende grafen er vist i fig. 2.15. Prosedyren fortsetter deretter på samme måte.

Det bør huskes at hvert hengende toppunkt i Huffman-treet tilsvarer et spesifikt symbol eller gruppe med symboler. Forelderen skiller seg fra barna ved at gruppen av symboler som tilsvarer den er ett symbol kortere enn barnas, og disse barna er forskjellige siste tegn. For eksempel tilsvarer symbolene "bil" forelderen; da kan barn ha sekvensene "kara" og "karp".

Den gitte algoritmen er ikke akademisk og brukes aktivt i arkiveringsprogrammer, inkludert ved komprimering av grafiske data (de vil bli diskutert nedenfor).

Lempel-Ziv-algoritmer

Dette er de mest brukte komprimeringsalgoritmene i dag. De brukes i de fleste arkiveringsprogrammer (for eksempel PKZIP. ARJ, LHA). Essensen av algoritmene er at et visst sett med symboler erstattes under arkivering med nummeret i en spesialgenerert ordbok. For eksempel kan uttrykket "Det utgående nummeret for brevet ditt ...", som ofte finnes i forretningskorrespondanse, oppta posisjon 121 i ordboken; så, i stedet for å overføre eller lagre den nevnte frasen (30 byte), kan du lagre frasenummeret (1,5 byte i binær desimalform eller 1 byte i binær).

Algoritmene er oppkalt etter forfatterne som først foreslo dem i 1977. Av disse er den første LZ77. For arkivering opprettes et såkalt meldingsskyvevindu, bestående av to deler. Den første delen, et større format, tjener til å danne en ordbok og har en størrelse på omtrent flere kilobyte. Den andre, mindre delen (vanligvis opptil 100 byte stor) mottar gjeldende tegn i teksten som vises. Algoritmen prøver å finne et sett med tegn i ordboken som samsvarer med de som er mottatt i visningsvinduet. Hvis dette lykkes, genereres en kode som består av tre deler: forskyvningen i ordboken i forhold til dens første delstreng, lengden på denne delstrengen og tegnet som følger denne delstrengen. For eksempel består den valgte delstrengen av tegnene "app" (totalt 6 tegn), neste tegn er "e". Så, hvis delstrengen har en adresse (sted i ordboken) 45, så ser oppføringen i ordboken ut som "45, 6. e". Etter dette forskyves innholdet i vinduet etter posisjon, og søket fortsetter. Slik dannes en ordbok.

Fordelen med algoritmen er en lett formalisert algoritme for å kompilere en ordbok. I tillegg er det mulig å pakke ut uten den originale ordboken (det anbefales å ha en testsekvens) - ordboken dannes under utpakking.

Ulempene med algoritmen dukker opp ettersom størrelsen på ordboken øker – søketiden øker. I tillegg, hvis det vises en tegnstreng i det gjeldende vinduet som ikke er i ordboken, skrives hvert tegn med en treelementkode, dvs. Resultatet er ikke kompresjon, men strekking.

LZSS-algoritmen, foreslått i 1978, har de beste egenskapene. Den har forskjeller i skyvevindustøtte og kompressorutgangskoder. I tillegg til vinduet genererer algoritmen et binært tre som ligner på et Huffman-tre for å øke hastigheten på søket etter treff: hver delstreng som forlater det gjeldende vinduet, legges til treet som et av barna. Denne algoritmen lar deg øke størrelsen på det gjeldende vinduet ytterligere (det er ønskelig at størrelsen er lik en potens på to: 128, 256, etc. byte). Sekvenskoder dannes også annerledes: et ekstra 1-bits prefiks er introdusert for å skille ukodede tegn fra "offset, length"-par.

En enda større grad av komprimering oppnås ved bruk av algoritmer som LZW. De tidligere beskrevne algoritmene har en fast vindusstørrelse, som gjør det umulig å legge inn fraser som er lengre enn vindusstørrelsen i ordboken. I LZW-algoritmene (og deres forgjenger LZ78) har visningsvinduet en ubegrenset størrelse, og ordboken akkumulerer fraser (og ikke en samling av tegn, som før). Ordboken har en ubegrenset lengde, og koderen (dekoderen) fungerer i fraseventemodus. Når en setning som samsvarer med ordboken dannes, utstedes en samsvarskode (dvs. koden til denne setningen i ordboken) og koden til tegnet som følger den. Hvis det dannes en ny frase etter hvert som symboler akkumuleres, legges den også inn i ordboken, som den kortere. Resultatet er en rekursiv prosedyre som gir rask koding og dekoding.

En ekstra komprimeringsfunksjon er gitt ved komprimert koding av repeterende tegn. Hvis i en sekvens noen tegn følger på rad (for eksempel i teksten kan disse være "mellomrom"-tegn, i en tallsekvens - påfølgende nuller, etc.), er det fornuftig å erstatte dem med paret "tegn; lengde" eller "tegn, lengde" ". I det første tilfellet indikerer koden tegnet på at sekvensen vil bli kodet (vanligvis 1 bit), deretter koden til det repeterende tegnet og lengden på sekvensen. I det andre tilfellet (forutsatt for de hyppigst forekommende repeterende tegnene), indikerer prefikset ganske enkelt et repetisjonstegn.

Dynamisk komprimering(Komprimering av dynamisk rekkevidde, DRC) - innsnevring (eller utvidelse i tilfelle av en utvider) av det dynamiske området til fonogrammet. Dynamisk rekkevidde, er forskjellen mellom den stilleste og høyeste lyden. Noen ganger vil den roligste lyden i et lydspor være litt høyere enn støynivået, og noen ganger litt roligere enn den høyeste. Maskinvareenheter og programmer som utfører dynamisk komprimering kalles kompressorer, og skiller mellom dem fire hovedgrupper: selve kompressorene, begrensere, utvidere og porter.

Analog rørkompressor DBX 566

Nedadgående og oppadgående kompresjon

Nedkompresjon(nedadgående komprimering) reduserer volumet til en lyd når den begynner å overskride en viss terskel, slik at roligere lyder er uendret. En ekstrem versjon av nedadgående kompresjon er begrenser. Øk kompresjonen Oppoverkompresjon øker derimot volumet til en lyd hvis den er under en terskel uten å påvirke høyere lyder. Samtidig begrenser begge typer komprimering det dynamiske området til lydsignalet.

Nedkompresjon

Øk kompresjonen

Expander og Gate

Hvis en kompressor reduserer dynamisk rekkevidde, øker en utvider det. Når signalnivået stiger over terskelnivået, øker ekspanderen det ytterligere, og øker dermed forskjellen mellom høye og svake lyder. Enheter som dette brukes ofte når du spiller inn et trommesett for å skille lydene fra en tromme fra en annen.

En type ekspander som ikke brukes til å forsterke høye lyder, men for å dempe stille lyder som ikke overskrider et terskelnivå (for eksempel bakgrunnsstøy) kalles Støyport. I en slik enhet, så snart lydnivået blir mindre enn terskelen, slutter signalet å passere. Vanligvis brukes en port for å undertrykke støy under pauser. På enkelte modeller kan du sørge for at lyden ikke stopper brått når den når et terskelnivå, men gradvis toner ut. I dette tilfellet settes decay-hastigheten av Decay-kontrollen.

Gate, som andre typer kompressorer, kan være frekvensavhengig(dvs. behandle visse frekvensbånd) og kan fungere i modusen sidekjede(se nedenfor).

Kompressorens driftsprinsipp

Signalet som kommer inn i kompressoren deles i to kopier. En kopi sendes til en forsterker, hvor graden av forsterkning styres av et eksternt signal, og den andre kopien genererer dette signalet. Den går inn i en enhet som kalles en sidekjede, hvor signalet måles, og basert på disse dataene lages en konvolutt som beskriver endringen i volumet.
Slik er de fleste moderne kompressorer designet, dette er den såkalte feed-forward-typen. I eldre enheter (tilbakemeldingstype) måles signalnivået etter forsterkeren.

Det finnes forskjellige analoge forsterkningsteknologier med variabel forsterkning, hver med sine egne fordeler og ulemper: rør, optisk bruk av fotomotstander og transistor. Når du arbeider med digital lyd (in lydredigerer eller DAW) kan bruke proprietære matematiske algoritmer eller emulere driften av analoge teknologier.

Hovedparametre for kompressorer

Terskel

En kompressor reduserer nivået til et lydsignal hvis amplituden overstiger en viss terskelverdi (terskel). Det er vanligvis spesifisert i desibel, med en lavere terskel (f.eks. -60 dB) som betyr at mer lyd vil bli behandlet enn en høyere terskel (f.eks. -5 dB).

forhold

Mengden av nivåreduksjon bestemmes av forholdsparameteren: forhold 4:1 betyr at hvis inngangsnivået er 4 dB over terskelen, vil utgangsnivået være 1 dB over terskelen.
For eksempel:
Terskel = −10 dB
Inngang = −6 dB (4 dB over terskel)
Utgang = −9 dB (1 dB over terskelen)

Det er viktig å huske på at undertrykkelse av signalnivå fortsetter en stund etter at den faller under terskelnivået, og denne tiden bestemmes av verdien til parameteren utgivelse.

Kompresjon med et maksimalt forhold på ∞:1 kalles begrensende. Dette betyr at ethvert signal over terskelnivået dempes til terskelnivået (bortsett fra en kort periode etter en plutselig økning i inngangsvolumet). Se "Limiter" nedenfor for mer informasjon.

Eksempler på forskjellige forholdsverdier

Angrip og slipp

En kompressor gir en viss kontroll over hvor raskt den reagerer på endringer i signaldynamikk. Attack-parameteren bestemmer tiden det tar for kompressoren å redusere forsterkningen til et nivå som bestemmes av Ratio-parameteren. Frigjøring bestemmer tiden hvor kompressoren tvert imot øker forsterkningen, eller går tilbake til normal hvis inngangssignalnivået faller under terskelverdien.

Angreps- og slippfaser

Disse parameterne indikerer tiden (vanligvis i millisekunder) det vil ta å endre forsterkningen med en viss mengde desibel, vanligvis 10 dB. For eksempel, i dette tilfellet, hvis Attack er satt til 1 ms, vil det ta 1 ms å redusere forsterkningen med 10 dB, og 2 ms for å redusere forsterkningen med 20 dB.

På mange kompressorer kan Attack and Release-parametrene justeres, men på noen er de forhåndsinnstilte og kan ikke justeres. Noen ganger er de utpekt som "automatiske" eller "programavhengige", dvs. endres avhengig av inngangssignalet.

Kne

En annen kompressorparameter: hardt/mykt kne. Den avgjør om starten av kompresjonen vil være brå (hard) eller gradvis (myk). Mykt kne reduserer merkbarheten av overgangen fra det tørre signalet til det komprimerte signalet, spesielt ved høye Ratio-verdier og plutselige økninger i volum.

Hardt kne og mykt kne kompresjon

Peak og RMS

Kompressoren kan reagere på toppverdier (kortsiktig maksimum) eller på gjennomsnittsnivået til inngangssignalet. Bruk av toppverdier kan føre til skarpe svingninger i kompresjonsgraden, og til og med forvrengning. Derfor bruker kompressorer en gjennomsnittsfunksjon (vanligvis RMS) på inngangssignalet når de sammenligner det med en terskelverdi. Dette gir en mer behagelig kompresjon, nærmere menneskelig oppfatning av lydstyrke.

RMS er en parameter som gjenspeiler gjennomsnittsvolumet til et lydspor. Fra et matematisk synspunkt er RMS (Root Mean Square) rotmiddelkvadratverdien av amplituden til et visst antall prøver:

Stereokobling

En kompressor i stereokoblingsmodus bruker samme forsterkning på begge stereokanalene. Dette unngår stereoskift som kan skyldes individuell behandling av venstre og høyre kanal. Dette skiftet skjer hvis for eksempel et høyt element panoreres utenfor midten.

Makeup gevinst

Siden kompressoren reduserer det totale signalnivået, legger den vanligvis til et fast utgangsforsterkningsalternativ for å oppnå det optimale nivået.

Se fremover

Look-ahead-funksjonen er designet for å løse problemer knyttet til både for høye og for lave Attack and Release-verdier. En angrepstid som er for lang lar oss ikke effektivt fange opp transienter, og en angrepstid som er for kort er kanskje ikke behagelig for lytteren. Ved bruk av look-ahead-funksjonen er hovedsignalet forsinket i forhold til styresignalet, dette lar deg starte komprimering på forhånd, selv før signalet når terskelverdien.
Den eneste ulempen med denne metoden er tidsforsinkelsen til signalet, som i noen tilfeller er uønsket.

Bruker dynamisk komprimering

Komprimering brukes overalt, ikke bare i musikalske lydspor, men også der det er nødvendig å øke det totale volumet uten å øke toppnivåene, der billig lydgjengivelsesutstyr eller en begrenset overføringskanal brukes (offentlige adresse- og kommunikasjonssystemer, amatørradio, etc.) .

Komprimering brukes under avspilling bakgrunnsmusikk(i butikker, restauranter etc.) hvor det ikke er ønskelig med merkbare endringer i volum.

Men det viktigste bruksområdet for dynamisk komprimering er musikkproduksjon og kringkasting. Komprimering brukes for å gi lyden «tykkelse» og «drive», for bedre å kombinere instrumenter med hverandre, og spesielt ved prosessering av vokal.

Vokal i rock og popmusikk er ofte komprimert for å få dem til å skille seg ut fra akkompagnementet og legge til klarhet. En spesiell type kompressor som kun er innstilt på bestemte frekvenser - en de-esser - brukes til å undertrykke sibilerende fonemer.

I instrumentalpartier brukes komprimering også for effekter som ikke er direkte relatert til volum, for eksempel kan raskt henfallende trommelyder gjøres lengre.

Elektronisk dansemusikk (EDM) bruker ofte side-chaining (se nedenfor) – for eksempel kan basslinjen være drevet av en kick-tromme eller lignende for å hindre bass og trommer i å kollidere og skape en dynamisk pulsering.

Komprimering er mye brukt i kringkasting (radio, TV, internettkringkasting) for å øke oppfattet lydstyrke samtidig som det reduserer det dynamiske området til kildelyden (vanligvis CD). De fleste land har juridiske begrensninger på maksimalt øyeblikkelig volum som kan kringkastes. Vanligvis implementeres disse begrensningene av permanente maskinvarekompressorer i luftkjeden. I tillegg forbedrer økende oppfattet lydstyrke "kvaliteten" på lyden fra perspektivet til de fleste lyttere.

se også Loudness krig.

Konsekvent øke volumet til den samme sangen remastret for CD fra 1983 til 2000.

Sidekjetting

En annen vanlig kompressorbryter er "sidekjeden". I denne modusen skjer lydkomprimering uavhengig av lyd eget nivå, og avhengig av nivået på signalet som kommer inn i kontakten, som vanligvis kalles sidekjeden.

Det er flere bruksområder for dette. For eksempel har vokalisten en lisp og alle "ene" skiller seg ut fra det generelle bildet. Du sender stemmen hans gjennom en kompressor, og mater den samme lyden inn i sidekjedekontakten, men passerte gjennom en equalizer. Med en equalizer kutter du ut alle frekvenser bortsett fra de som brukes av vokalisten når du uttaler bokstaven "s." Vanligvis rundt 5 kHz, men kan variere fra 3 kHz til 8 kHz. Hvis du deretter setter kompressoren i sidekjedemodus, vil stemmen bli komprimert i de øyeblikkene når bokstaven "s" uttales. Dette resulterte i en enhet kjent som en de-esser. Denne måten å jobbe på kalles "frekvensavhengig".

En annen bruk av denne funksjonen kalles "ducker". For eksempel på en radiostasjon går musikken gjennom en kompressor, og DJ-ens ord kommer gjennom en sidekjede. Når DJ-en begynner å chatte, reduseres musikkvolumet automatisk. Denne effekten kan også med hell brukes i opptak, for eksempel for å redusere volumet på keyboard-deler mens du synger.

Mursteinsbegrensning

Kompressoren og limiteren fungerer omtrent på samme måte; vi kan si at limiteren er en kompressor med et høyt forhold (fra 10:1) og vanligvis en lav angrepstid.

Det er et konsept med Brick wall limiting - limiting med et veldig høyt forhold (20:1 og høyere) og et veldig raskt angrep. Ideelt sett lar det ikke signalet overskride terskelnivået i det hele tatt. Resultatet vil være ubehagelig for øret, men dette vil forhindre skade på lydgjengivelsesutstyr eller overskudd båndbredde kanal. Mange produsenter integrerer begrensere i enhetene sine for nettopp dette formålet.

Clipper vs. Limiter, myk og hard klipping

Komprimering er et av de mest mytefylte temaene innen lydproduksjon. De sier at Beethoven til og med skremte naboens barn med henne:(

Ok, faktisk er det ikke vanskeligere å bruke komprimering enn å bruke forvrengning, det viktigste er å forstå prinsippet om driften og ha god kontroll. Det er dette vi skal se sammen nå.

Hva er lydkomprimering

Det første du må forstå før forberedelse er komprimering. arbeider med lydens dynamiske område. Og på sin side er ikke noe mer enn forskjellen mellom de høyeste og mest stille signalnivåene:

Så, komprimering er komprimering av det dynamiske området. Ja, Bare komprimering av dynamisk område, eller med andre ord senke nivået på høye deler av signalet og øke volumet på stille deler. Ikke mer.

Du kan ganske rimelig lure på hvorfor en slik hype henger sammen da? Hvorfor snakker alle om oppskrifter for korrekte kompressorinnstillinger, men ingen deler dem? Hvorfor, til tross for det store antallet kule plugins, bruker mange studioer fortsatt dyre, sjeldne modeller av kompressorer? Hvorfor bruker noen produsenter kompressorer ved ekstreme innstillinger, mens andre ikke bruker dem i det hele tatt? Og hvilken av dem har rett til slutt?

Problemer løst ved komprimering

Svarene på slike spørsmål ligger i planen for å forstå hvilken rolle kompresjon spiller i arbeid med lyd. Og det tillater:

  1. Legg vekt på angrepet lyd, noe som gjør det mer uttalt;
  2. "Setter" individuelle deler av instrumenter i miksen, legge til kraft og "vekt" til dem;
  3. Gjør grupper av instrumenter eller en hel blanding mer sammenhengende, en slik enkelt monolitt;
  4. Løs konflikter mellom verktøy ved hjelp av sidekjede;
  5. Korriger feilene til vokalisten eller musikerne, utjevning av dynamikken deres;
  6. Med en viss innstilling fungere som en kunstnerisk effekt.

Som du kan se, er dette ikke mindre viktig kreativ prosess enn for eksempel å komme opp med melodier eller lage interessante klangfarger. Dessuten kan alle de ovennevnte problemene løses ved å bruke 4 hovedparametere.

Grunnleggende parametere for kompressoren

Til tross for det enorme antallet programvare- og maskinvaremodeller av kompressorer, oppstår all "magien" med komprimering når riktig innstilling hovedparametre: Terskel, forhold, angrep og frigjøring. La oss se på dem mer detaljert:

Terskel eller responsterskel, dB

Denne parameteren lar deg stille inn verdien som kompressoren skal fungere fra (det vil si komprimere lydsignalet). Så hvis vi setter terskelen til -12dB, vil kompressoren bare fungere i de delene av det dynamiske området som overskrider denne verdien. Hvis all lyden vår er roligere enn -12db, vil kompressoren ganske enkelt sende den gjennom uten å påvirke den på noen måte.

Forhold eller kompresjonsforhold

Forholdsparameteren bestemmer hvor mye et signal som overskrider terskelen vil bli komprimert. En liten matematikk for å fullføre bildet: la oss si at vi satte opp en kompressor med en terskel på -12dB, forhold 2:1 og matet den med en trommelløkke der volumet på sparketrommelen er -4dB. Hva blir resultatet av kompressordriften i dette tilfellet?

I vårt tilfelle overskrider kicknivået terskelen med 8dB. Denne forskjellen i henhold til forholdet vil bli komprimert til 4dB (8dB / 2). Kombinert med den ubehandlede delen av signalet vil dette føre til at etter prosessering av en kompressor vil volumet på sparketrommelen være -8db (terskel -12dB + komprimert signal 4dB).

Angrep, ms

Dette er tiden etter at kompressoren vil reagere på å overskride responsterskelen. Det vil si, hvis angrepstiden er over 0ms - kompressoren begynner komprimeringen overskridelse av terskelsignalet ikke umiddelbart, men etter en spesifisert tid.

Frigjøring eller gjenoppretting, ms

Det motsatte av et angrep - verdien av denne parameteren lar deg spesifisere hvor lenge etter at signalnivået kommer tilbake under terskelen kompressoren vil slutte å komprimere.

Før vi går videre, anbefaler jeg på det sterkeste å ta en velkjent prøve, plassere en hvilken som helst kompressor på kanalen og eksperimentere med parametrene ovenfor i 5-10 minutter for å fikse materialet sikkert.

Alle andre parametere er valgfrie. De kan variere mellom forskjellige kompressormodeller, noe som delvis er grunnen til at produsenter bruker forskjellige modeller for spesifikke formål (for eksempel en kompressor for vokal, en annen for en trommegruppe, en tredje for masterkanalen). Jeg vil ikke dvele ved disse parameterne i detalj, men vil bare gi generell informasjon For å forstå hva dette handler om:

  • Kne eller knekk (hardt/mykt kne). Denne parameteren bestemmer hvor raskt kompresjonsforholdet (forholdet) skal brukes: hardt langs en kurve eller jevnt. Jeg legger merke til at i Soft Knee-modus fungerer ikke kompressoren lineært, men begynner jevnt (så langt dette kan passe når vi snakker om millisekunder) å komprimere lyden allerede før terskelverdien. For å behandle grupper av kanaler og den generelle blandingen brukes ofte mykt kne (da det fungerer ubemerket), og for å understreke angrepet og andre funksjoner ved individuelle instrumenter, brukes hardt kne;
  • Responsmodus: Peak/RMS. Peak-modusen er berettiget når du trenger å strengt begrense amplitudeutbrudd, så vel som på signaler med en kompleks form, hvis dynamikk og lesbarhet må formidles fullt ut. RMS-modusen er veldig skånsom mot lyden, slik at du kan gjøre den tykkere mens du opprettholder angrepet;
  • Fremsyn (Lookahead). Dette er tiden da kompressoren vil vite hva som kommer til den. En slags foreløpig analyse av innkommende signaler;
  • Makeup eller Gain. En parameter som lar deg kompensere for reduksjonen i volum som følge av komprimering.

Først og mest hovedråd , som eliminerer alle ytterligere spørsmål om komprimering: hvis du a) forstår prinsippet om komprimering, b) vet godt hvordan denne eller den parameteren påvirker lyden, og c) klarte å prøve flere i praksis ulike modellerdu trenger ingen råd lenger.

Jeg er helt seriøs. Hvis du leste dette innlegget nøye, eksperimenterte med standardkompressoren til DAW-en din og en eller to plugin-moduler, men fortsatt ikke forsto i hvilke tilfeller du trenger å angi store angrepsverdier, hvilket forhold du skal bruke og i hvilken modus du skal behandle kildesignal - så vil du fortsette å søke på Internett etter ferdige oppskrifter, og bruke dem tankeløst hvor som helst.

Oppskrifter for finjustering av kompressorer det er litt som oppskrifter for å finjustere et romklang eller refreng - det gir ingen mening og har ingenting med kreativitet å gjøre. Derfor gjentar jeg vedvarende den eneste riktige oppskriften: bevæpn deg med denne artikkelen, gode monitorhodetelefoner, en plug-in for visuell kontroll av bølgeformen, og tilbring kvelden i selskap med et par kompressorer.

Gjør noe!

, Mediespillere

Plater, spesielt eldre som ble spilt inn og produsert før 1982, var mye mindre sannsynlig å bli mikset for å gjøre innspillingen høyere. De gjengir naturlig musikk med et naturlig dynamisk område som er bevart på platen og tapt i de fleste standard digitale eller høyoppløselige formater.

Det er unntak fra dette, selvfølgelig – lytt til Steven Wilsons ferske album fra MA Recordings eller Reference Recordings, og du vil høre hvor god digital lyd kan være. Men dette er sjeldent; de fleste moderne lydopptak er høye og komprimerte.

Musikkkomprimering har vært utsatt for mye kritikk i det siste, men jeg er villig til å satse på at nesten alle favorittopptakene dine er komprimerte. Noen av dem er mindre, noen er flere, men fortsatt komprimerte. Dynamisk rekkeviddekomprimering er en syndebukk for dårlig lydende musikk, men høyt komprimert musikk er ikke noe nytt: lytt til Motown-album fra 60-tallet. Det samme kan sies om de klassiske verkene til Led Zeppelin eller de yngre albumene til Wilco og Radiohead. Dynamisk rekkeviddekomprimering reduserer det naturlige forholdet mellom de høyeste og mykeste lydene i et opptak, slik at en hvisking kan være så høy som et skrik. Det er ganske vanskelig å finne popmusikk fra de siste 50 årene som ikke har blitt komprimert.

Jeg hadde nylig en hyggelig prat med Tape Op magazine grunnlegger og redaktør Larry Crane om de gode, de dårlige og de stygge sidene ved kompresjon. Larry Crane har jobbet med band og artister som Stefan Marcus, Cat Power, Sleater-Kinney, Jenny Lewis, M. Ward, The Go-Betweens, Jason Little, Eliot Smith, Quasi og Richmond Fontaine. Han driver også innspillingsstudioet Jackpot! i Portland, Oregon, som var hjemmet til The Breeders, The Decemberists, Eddie Vedder, Pavement, R.E.M., She & Him og mange, mange andre.

Som et eksempel på overraskende unaturlig klingende, men fortsatt flotte sanger, nevner jeg Spoons 2014-album They Want My Soul. Crane ler og sier at han hører på den i bilen fordi den høres flott ut der. Noe som bringer oss til et annet svar på spørsmålet om hvorfor musikk er komprimert: fordi komprimering og ekstra "klarhet" gjør det lettere å høre på støyende steder.

Larry Crane på jobb. Foto av Jason Quigley

Når folk sier de liker lyden av et lydopptak, tror jeg de liker musikken, som om lyd og musikk var uatskillelige termer. Men for meg selv skiller jeg disse konseptene. Fra en audiofils perspektiv kan lyden være grov og rå, men det spiller ingen rolle for de fleste lyttere.

Mange er raske til å anklage masteringingeniører for å overbruke komprimering, men komprimering brukes direkte under opptak, under miksing, og først da under mastering. Med mindre du var personlig tilstede på hvert av disse stadiene, vil du ikke kunne si hvordan instrumentene og vokaldelene hørtes ut helt i begynnelsen av prosessen.

Crane var på farten: "Hvis en musiker vil med vilje høres gal og forvrengt ut som Guided by Voices-platene, så er det ikke noe galt med det - ønsket veier alltid tyngre enn lydkvaliteten." Utøverens stemme er nesten alltid komprimert, og det samme skjer med bass, trommer, gitarer og synthesizere. Komprimering opprettholder volumet på vokal på riktig nivå gjennom hele sangen eller skiller seg litt ut fra resten av lydene.

Riktig utført komprimering kan få trommer til å høres mer livlig ut eller med vilje merkelig. For å få musikk til å høres bra ut, må du kunne bruke de nødvendige verktøyene. Dette er grunnen til at det tar år å finne ut hvordan du bruker komprimering uten å overdrive det. Hvis miksingeniøren komprimerer gitardelen for mye, vil ikke mesteringeniøren lenger kunne gjenopprette de manglende frekvensene.

Hvis musikere ville at du skulle høre på musikk som ikke hadde gått gjennom stadiene med miksing og mastering, ville de gitt den ut i butikkhyllene rett fra studio. Crane sier at menneskene som lager, redigerer, mikser og mestrer innspilt musikk ikke er der for å komme i veien for musikere – de har hjulpet artister siden starten, i mer enn hundre år.

Disse menneskene er en del av skapelsesprosessen som resulterer i fantastiske kunstverk. Crane legger til: "Du vil ikke ha en versjon av 'Dark Side of the Moon' som ikke er mikset og mestret." Pink Floyd ga ut sangen slik de ønsket å høre den.




Topp