Kompression i praktiken. Dynamisk komprimering Dynamiskt område komprimerat eller standard

Denna grupp av metoder är baserad på det faktum att sända signaler genomgår icke-linjära amplitudtransformationer, och i de sändande och mottagande delarna är olinjäriteterna reciproka. Om till exempel den olinjära funktionen Öu används i sändaren, används u 2 i mottagaren. Konsekvent tillämpning av ömsesidiga funktioner kommer att säkerställa att den övergripande transformationen förblir linjär.

Tanken med icke-linjära datakomprimeringsmetoder är att sändaren, med samma amplitud av utsignalerna, kan sända ett större intervall av förändringar i den överförda parametern (det vill säga ett större dynamiskt område). Dynamiskt omfång- detta är förhållandet mellan den största tillåtna signalamplituden och den minsta, uttryckt i relativa enheter eller decibel:

; (2.17)
. (2.18)

Den naturliga önskan att öka det dynamiska omfånget genom att minska U min begränsas av utrustningens känslighet och den ökande påverkan av störningar och självbrus.

Oftast utförs dynamiskt områdeskomprimering med hjälp av ett par ömsesidiga funktioner av logaritm och potentiering. Den första operationen att ändra amplituden kallas kompression(genom komprimering), den andra - expansion(stretching). Valet av dessa speciella funktioner är förknippat med deras största kompressionsförmåga.

Samtidigt har dessa metoder också nackdelar. Den första av dessa är att logaritmen för ett litet tal är negativ och i gränsen:

det vill säga känsligheten är mycket olinjär.

För att minska dessa brister modifieras båda funktionerna genom förskjutning och approximation. Till exempel, för telefonkanaler har den ungefärliga funktionen formen (typ A):

med A=87,6. Förstärkningen från kompression är 24 dB.

Datakomprimering med olinjära procedurer implementeras på analoga sätt med stora fel. Ansökan digital media kan avsevärt förbättra noggrannheten eller prestandan för konverteringen. Samtidigt, direkt användning av medel datateknik(det vill säga att direkt beräkna logaritmer och exponenter) kommer inte att ge de bästa resultaten på grund av låg prestanda och ackumulerande beräkningsfel.

På grund av precisionsbegränsningar används datakomprimering genom komprimering i icke-kritiska fall, till exempel för att överföra tal över telefon- och radiokanaler.

Effektiv kodning

Effektiva koder föreslogs av K. Shannon, Fano och Huffman. Kärnan i koder är att de är ojämna, det vill säga med ett ojämnt antal bitar, och längden på koden är omvänt proportionell mot sannolikheten för att den inträffar. En annan stor egenskap hos effektiva koder är att de inte kräver avgränsare, d.v.s. speciella karaktärer, separerar intilliggande kodkombinationer. Detta uppnås genom att följa en enkel regel: kortare koder är inte början på längre. I detta fall avkodas den kontinuerliga strömmen av bitar unikt eftersom avkodaren detekterar de kortare kodorden först. Effektiva koder har länge varit rent akademiska, men nyligen har de framgångsrikt använts för att skapa databaser, såväl som för att komprimera information i moderna modem och programvaruarkivering.

På grund av ojämnheter införs den genomsnittliga kodlängden. Genomsnittlig längd - matematisk förväntan på kodens längd:

dessutom tenderar l av till H(x) uppifrån (det vill säga l av > H(x)).

Uppfyllelsen av villkoret (2.23) blir starkare när N ökar.

Det finns två typer av effektiva koder: Shannon-Fano och Huffman. Låt oss titta på hur man får dem med hjälp av ett exempel. Låt oss anta att sannolikheterna för symbolerna i sekvensen har de värden som anges i Tabell 2.1.

Tabell 2.1.

Symbol sannolikheter

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

Symboler rankas, det vill säga presenteras i rad i fallande ordning av sannolikheter. Efter detta, med Shannon-Fano-metoden, upprepas följande procedur med jämna mellanrum: hela gruppen av händelser delas in i två undergrupper med samma (eller ungefär samma) totala sannolikheter. Proceduren fortsätter tills ett element finns kvar i nästa undergrupp, varefter detta element elimineras, och de angivna åtgärderna fortsätter med de återstående. Detta händer tills det bara finns ett element kvar i de två sista undergrupperna. Låt oss fortsätta med vårt exempel, som sammanfattas i tabell 2.2.

Tabell 2.2.

Shannon-Fano-kodning

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

Som framgår av tabell 2.2 deltog den första symbolen med sannolikhet p 4 = 0,3 i två procedurer för indelning i grupper och hamnade båda gångerna i gruppnummer I. I enlighet med detta är den kodad med en tvåsiffrig kod II. Det andra elementet i det första steget av partitionen tillhörde grupp I, i det andra - till grupp II. Därför är dess kod 10. Koderna för de återstående symbolerna behöver inga ytterligare kommentarer.

Vanligtvis avbildas icke-enhetliga koder som kodträd. Ett kodträd är en graf som indikerar tillåtna kodkombinationer. Riktningarna för kanterna på denna graf är förinställda, som visas i Fig. 2.11 (valet av riktningar är godtyckligt).

De navigerar i grafen enligt följande: skapa en rutt för den valda symbolen; antalet bitar för den är lika med antalet flanker i rutten, och värdet på varje bit är lika med riktningen för motsvarande kant. Rutten dras upp från startpunkten (på ritningen är den markerad med bokstaven A). Till exempel består rutten till vertex 5 av fem kanter, av vilka alla utom den sista har riktning 0; vi får kod 00001.

Låt oss beräkna entropin och den genomsnittliga ordlängden för detta exempel.

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 bitar

l medel = 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 är den genomsnittliga ordlängden nära entropi.

Huffman-koder är konstruerade med en annan algoritm. Kodningsproceduren består av två steg. I det första steget utförs enkla komprimeringar av alfabetet sekventiellt. Engångskomprimering - ersätter de två sista symbolerna (med de lägsta sannolikheterna) med en, med en total sannolikhet. Kompressioner utförs tills två tecken återstår. Samtidigt fylls en kodningstabell i, i vilken de resulterande sannolikheterna skrivs in, och de vägar längs vilka nya symboler rör sig i nästa steg avbildas.

I det andra steget sker den faktiska kodningen, som börjar från det sista steget: den första av de två symbolerna tilldelas kod 1, den andra - 0. Efter detta går de vidare till föregående steg. Koderna från det efterföljande steget tilldelas de symboler som inte deltog i komprimeringen i detta skede, och koden för symbolen som erhålls efter limning tilldelas två gånger till de två sista symbolerna och läggs till koden för det övre tecknet 1, lägre en - 0. Om tecknet inte är längre i limning deltar, förblir dess kod oförändrad. Proceduren fortsätter till slutet (det vill säga tills det första steget).

Tabell 2.3 visar Huffman-kodning. Som framgår av tabellen utfördes kodningen i 7 steg. Till vänster finns symbolsannolikheterna, till höger finns mellankoderna. Pilarna visar rörelserna för de nybildade symbolerna. I varje steg skiljer sig de två sista symbolerna endast i den minst signifikanta biten, vilket motsvarar kodningstekniken. Låt oss beräkna den genomsnittliga ordlängden:

l medel = 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

Detta är ännu närmare entropi: koden är ännu effektivare. I fig. Figur 2.12 visar Huffman-kodträdet.

Tabell 2.3.

Huffman kodning

N p i koda jag 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

Båda koderna uppfyller kravet på entydig avkodning: som framgår av tabellerna är kortare kombinationer inte början på längre koder.

När antalet symboler ökar ökar effektiviteten hos koderna, så i vissa fall kodas större block (till exempel om vi pratar om om texter kan du koda några av de vanligaste stavelserna, orden och till och med fraser).

Effekten av att införa sådana koder bestäms genom att jämföra dem med en enhetlig kod:

(2.24)

där n är antalet bitar av den enhetliga koden som ersätts av den effektiva.

Ändringar av Huffman-koder

Den klassiska Huffman-algoritmen är en två-pass-algoritm, d.v.s. kräver att man först samlar in statistik om symboler och meddelanden, och sedan de procedurer som beskrivs ovan. Detta är obekvämt i praktiken eftersom det ökar tiden det tar att bearbeta meddelanden och samla en ordbok. Oftare används engångsmetoder, där ackumulerings- och kodningsprocedurer kombineras. Sådana metoder kallas även adaptiv kompression enligt Huffman [46].

Kärnan i adaptiv komprimering enligt Huffman kommer ner till konstruktionen av ett initialt kodträd och dess sekventiella modifiering efter ankomsten av varje nästa symbol. Som tidigare är träden här binära, d.v.s. Högst två bågar utgår från varje vertex i trädgrafen. Det är vanligt att kalla den ursprungliga vertexen föräldern och de två efterföljande hörnen kopplade till den som barn. Låt oss introducera begreppet vertexvikt - det här är antalet tecken (ord) som motsvarar en given vertex, som erhålls när den ursprungliga sekvensen matas. Uppenbarligen är summan av barnens vikter lika med förälderns vikt.

Efter att ha introducerat nästa symbol för inmatningssekvensen, revideras kodträdet: vikterna på hörnen räknas om och, om nödvändigt, omarrangeras hörnen. Regeln för permutering av hörn är följande: vikterna för de nedre hörnen är de minsta, och de hörn som ligger till vänster om grafen har minst vikter.

Samtidigt numreras hörnen. Numreringen börjar från de nedre (hängande, d.v.s. utan barn) hörn från vänster till höger och flyttar sig sedan till högsta nivån etc. innan du numrerar det sista, ursprungliga hörnet. I det här fallet uppnås följande resultat: ju mindre vikten av en vertex är, desto lägre är dess antal.

Permutationen utförs främst för hängande hörn. Vid permutering måste regeln formulerad ovan beaktas: hörn med större vikt har ett högre nummer.

Efter att ha klarat sekvensen (det kallas även kontroll eller test) tilldelas alla hängande hörn kodkombinationer. Regeln för att tilldela koder liknar ovanstående: antalet bitar i koden är lika med antalet hörn genom vilka rutten passerar från källan till den givna hängande vertexen, och värdet på en viss bit motsvarar riktningen från föräldern till "barnet" (säg att gå till vänster om föräldern motsvarar värdet 1, till höger - 0 ).

De resulterande kodkombinationerna lagras i komprimeringsanordningens minne tillsammans med deras analoger och bildar en ordbok. Användningen av algoritmen är som följer. Den komprimerade teckensekvensen delas upp i fragment i enlighet med den befintliga ordboken, varefter vart och ett av fragmenten ersätts med sin kod från ordboken. Fragment som inte finns i ordboken bildar nya hängande hörn, får tyngd och förs också in i ordboken. På detta sätt bildas en adaptiv algoritm för att fylla på ordboken.

För att öka effektiviteten i metoden är det önskvärt att öka storleken på ordboken; i detta fall ökar kompressionsförhållandet. I praktiken är storleken på ordboken 4 - 16 KB minne.


Låt oss illustrera den givna algoritmen med ett exempel. I fig. Figur 2.13 visar det ursprungliga diagrammet (det kallas även Huffman-trädet). Varje vertex av trädet visas av en rektangel där två tal är inskrivna genom ett bråk: det första betyder numret på vertexet, det andra betyder dess vikt. Som du kan se är överensstämmelsen mellan vikterna av hörnen och deras nummer uppfylld.

Låt oss nu anta att symbolen som motsvarar vertex 1 dyker upp en andra gång i testsekvensen. Vikten på vertex har ändrats som visas i fig. 2.14, som ett resultat av vilket regeln för numrering av hörn överträds. I nästa steg ändrar vi platsen för de hängande hörnen, för vilka vi byter hörn 1 och 4 och numrerar om alla hörn i trädet. Den resulterande grafen visas i fig. 2.15. Proceduren fortsätter sedan på samma sätt.

Man bör komma ihåg att varje hängande hörn i Huffman-trädet motsvarar en specifik symbol eller grupp av symboler. Föräldern skiljer sig från barnen genom att gruppen av symboler som motsvarar den är en symbol kortare än dess barn, och dessa barn är olika sista karaktären. Till exempel motsvarar symbolerna "bil" föräldern; då kan barn ha sekvenserna "kara" och "karp".

Den givna algoritmen är inte akademisk och används aktivt i arkiveringsprogram, inklusive vid komprimering av grafiska data (de kommer att diskuteras nedan).

Lempel-Ziv-algoritmer

Dessa är de mest använda komprimeringsalgoritmerna idag. De används i de flesta arkiveringsprogram (till exempel PKZIP. ARJ, LHA). Kärnan i algoritmerna är att en viss uppsättning symboler ersätts under arkivering med dess nummer i en speciellt genererad ordbok. Till exempel kan frasen "Det utgående numret för ditt brev...", som ofta finns i affärskorrespondens, uppta position 121 i ordboken; då, istället för att överföra eller lagra den nämnda frasen (30 byte), kan du lagra frasnumret (1,5 byte i binär decimalform eller 1 byte i binär).

Algoritmerna är uppkallade efter författarna som först föreslog dem 1977. Av dessa är den första LZ77. För arkivering skapas ett så kallat meddelandeglidande fönster, bestående av två delar. Den första delen, ett större format, tjänar till att bilda en ordbok och har en storlek på ungefär flera kilobyte. Den andra, mindre delen (vanligtvis upp till 100 byte stor) tar emot de aktuella tecknen i texten som visas. Algoritmen försöker hitta en uppsättning tecken i ordboken som matchar de som tas emot i visningsfönstret. Om detta lyckas genereras en kod som består av tre delar: förskjutningen i ordboken i förhållande till dess initiala delsträng, längden på denna delsträng och tecknet efter denna delsträng. Till exempel består den valda delsträngen av tecknen "app" (totalt 6 tecken), nästa tecken är "e". Sedan, om delsträngen har en adress (plats i ordboken) 45, ser posten i ordboken ut som "45, 6. e". Efter detta flyttas innehållet i fönstret efter position och sökningen fortsätter. Det är så en ordbok bildas.

Fördelen med algoritmen är en lätt formaliserad algoritm för att sammanställa en ordbok. Dessutom är det möjligt att packa upp utan originalordboken (det är lämpligt att ha en testsekvens) - ordboken bildas vid uppackning.

Nackdelarna med algoritmen dyker upp när storleken på ordboken ökar - söktiden ökar. Om det dessutom dyker upp en teckensträng i det aktuella fönstret som inte finns i ordboken skrivs varje tecken med en treelementskod, d.v.s. Resultatet är inte kompression, utan stretching.

LZSS-algoritmen, som föreslogs 1978, har de bästa egenskaperna. Den har skillnader i skjutfönsterstöd och kompressorutgångskoder. Förutom fönstret genererar algoritmen ett binärt träd som liknar ett Huffman-träd för att påskynda sökningen efter matchningar: varje delsträng som lämnar det aktuella fönstret läggs till i trädet som ett av barnen. Denna algoritm låter dig öka storleken på det aktuella fönstret ytterligare (det är önskvärt att dess storlek är lika med en potens av två: 128, 256, etc. byte). Sekvenskoder bildas också annorlunda: ett extra 1-bitars prefix introduceras för att skilja okodade tecken från "offset, length" par.

En ännu högre grad av komprimering erhålls när man använder algoritmer som LZW. De tidigare beskrivna algoritmerna har en fast fönsterstorlek, vilket gör det omöjligt att skriva in fraser längre än fönsterstorleken i ordboken. I LZW-algoritmerna (och deras föregångare LZ78) har visningsfönstret en obegränsad storlek, och ordboken samlar på sig fraser (och inte en samling tecken, som tidigare). Ordboken har en obegränsad längd, och kodaren (avkodaren) arbetar i frasvänteläge. När en fras som matchar ordboken bildas, utfärdas en matchningskod (d.v.s. koden för denna fras i ordboken) och koden för det tecken som följer den. Om, när symboler ackumuleras, en ny fras bildas, skrivs den också in i ordboken, som den kortare. Resultatet är en rekursiv procedur som ger snabb kodning och avkodning.

En ytterligare komprimeringsfunktion tillhandahålls genom komprimerad kodning av upprepade tecken. Om i en sekvens några tecken följer i rad (till exempel i texten kan dessa vara "mellanslag"-tecken, i en nummersekvens - på varandra följande nollor, etc.), är det vettigt att ersätta dem med paret "tecken; längd" eller "tecken, längd" ". I det första fallet indikerar koden tecknet på att sekvensen kommer att kodas (vanligtvis 1 bit), sedan koden för det upprepade tecknet och längden på sekvensen. I det andra fallet (förutsatt för de vanligast förekommande repeterande tecknen) indikerar prefixet helt enkelt ett upprepningstecken.

Dynamisk komprimering(Kompression av dynamiskt omfång, DRC) - avsmalning (eller utvidgning i fallet med en expander) av fonogrammets dynamiska omfång. Dynamiskt omfång, är skillnaden mellan det tystaste och högsta ljudet. Ibland blir det tystaste ljudet i ett ljudspår lite högre än ljudnivån, och ibland lite tystare än det högsta. Hårdvaruenheter och program som utför dynamisk komprimering kallas kompressorer, och skiljer mellan dem fyra huvudgrupper: själva kompressorerna, limiters, expanders och grindar.

Rör analog kompressor DBX 566

Kompression nedåt och uppåt

Nedkompression(Kompression nedåt) minskar volymen på ett ljud när det börjar överskrida en viss tröskel, vilket lämnar tystare ljud oförändrade. En extrem version av nedåtgående kompression är begränsare. Öka kompressionen Uppåtkompression ökar å andra sidan volymen på ett ljud om det är under en tröskel utan att det påverkar högre ljud. Samtidigt minskar båda typerna av komprimering ljudsignalens dynamiska omfång.

Nedkompression

Öka kompressionen

Expander och Gate

Om en kompressor minskar dynamiskt omfång, ökar en expander det. När signalnivån stiger över tröskelnivån ökar expandern den ytterligare och ökar därmed skillnaden mellan höga och svaga ljud. Enheter som denna används ofta när man spelar in ett trumset för att skilja ljuden från en trumma från en annan.

En typ av expander som inte används för att förstärka höga ljud, utan för att dämpa tysta ljud som inte överstiger en tröskelnivå (till exempel bakgrundsljud) kallas Noise gate. I en sådan enhet, så snart ljudnivån blir lägre än tröskeln, slutar signalen att passera. Vanligtvis används en grind för att undertrycka brus under pauser. På vissa modeller kan du se till att ljudet inte slutar abrupt när det når en tröskelnivå, utan gradvis tonar ut. I detta fall ställs avklingningshastigheten in av decay-kontrollen.

Gate, som andra typer av kompressorer, kan vara frekvensberoende(dvs behandla vissa frekvensband) och kan fungera i läget Sidokedja(se nedan).

Kompressorns funktionsprincip

Signalen som kommer in i kompressorn delas upp i två kopior. En kopia skickas till en förstärkare, i vilken graden av förstärkning styrs av en extern signal, och den andra kopian genererar denna signal. Den går in i en enhet som kallas en sidokedja, där signalen mäts och baserat på dessa data skapas ett kuvert som beskriver förändringen i dess volym.
Så är de flesta moderna kompressorer konstruerade, detta är den så kallade feed-forward-typen. I äldre apparater (återkopplingstyp) mäts signalnivån efter förstärkaren.

Det finns olika analoga förstärkningstekniker med variabel förstärkning, var och en med sina egna fördelar och nackdelar: rör, optisk med fotoresistorer och transistor. När du arbetar med digitalt ljud (in ljudredigerare eller DAW) kan använda proprietära matematiska algoritmer eller emulera driften av analoga teknologier.

Huvudparametrar för kompressorer

Tröskel

En kompressor minskar nivån på en ljudsignal om dess amplitud överstiger ett visst tröskelvärde (tröskelvärde). Det anges vanligtvis i decibel, med en lägre tröskel (t.ex. -60 dB) vilket betyder att mer ljud kommer att behandlas än ett högre tröskelvärde (t.ex. -5 dB).

Förhållande

Mängden nivåreduktion bestäms av förhållandeparametern: förhållande 4:1 betyder att om ingångsnivån är 4 dB över tröskeln kommer utnivån att vara 1 dB över tröskeln.
Till exempel:
Tröskelvärde = −10 dB
Ingång = −6 dB (4 dB över tröskelvärdet)
Utgång = −9 dB (1 dB över tröskelvärdet)

Det är viktigt att komma ihåg att undertryckningen av signalnivån fortsätter en tid efter att den sjunkit under tröskelnivån, och denna tid bestäms av värdet på parametern släpp.

Kompression med ett maximalt förhållande på ∞:1 kallas begränsande. Detta innebär att varje signal över tröskelnivån dämpas till tröskelnivån (förutom en kort period efter en plötslig ökning av ingångsvolymen). Se "Limiter" nedan för mer information.

Exempel på olika Ratio-värden

Attack och release

En kompressor ger viss kontroll över hur snabbt den reagerar på förändringar i signalens dynamik. Attack-parametern bestämmer tiden det tar för kompressorn att minska förstärkningen till en nivå som bestäms av Ratio-parametern. Släpp bestämmer tiden under vilken kompressorn tvärtom ökar förstärkningen, eller återgår till normal om insignalnivån sjunker under tröskelvärdet.

Attack- och släppfaser

Dessa parametrar indikerar tiden (vanligtvis i millisekunder) det tar att ändra förstärkningen med en viss mängd decibel, vanligtvis 10 dB. Till exempel, i det här fallet, om Attack är inställd på 1 ms, tar det 1 ms att minska förstärkningen med 10 dB och 2 ms för att minska förstärkningen med 20 dB.

På många kompressorer kan Attack- och Release-parametrarna justeras, men på vissa är de förinställda och kan inte justeras. Ibland betecknas de som "automatiska" eller "programberoende", d.v.s. ändras beroende på ingångssignalen.

Knä

En annan kompressorparameter: hårt/mjukt knä. Den avgör om starten av kompressionen kommer att vara abrupt (hård) eller gradvis (mjuk). Mjukt knä minskar märkbarheten av övergången från den torra signalen till den komprimerade signalen, speciellt vid höga Ratio-värden och plötsliga volymökningar.

Hårt knä och mjukt knä kompression

Peak och RMS

Kompressorn kan reagera på toppvärden (korttidsmaximum) eller på medelnivån för insignalen. Användningen av toppvärden kan leda till skarpa fluktuationer i graden av kompression och till och med distorsion. Därför tillämpar kompressorer en medelfunktion (vanligtvis RMS) på insignalen när de jämförs med ett tröskelvärde. Detta ger en bekvämare kompression, närmare människans uppfattning om ljudstyrka.

RMS är en parameter som återspeglar den genomsnittliga volymen för ett ljudspår. Ur en matematisk synvinkel är RMS (Root Mean Square) rotmedelkvadratvärdet för amplituden för ett visst antal sampel:

Stereolänkning

En kompressor i stereolänkningsläge tillämpar samma förstärkning på båda stereokanalerna. Detta undviker stereoförskjutningar som kan bli resultatet av individuell bearbetning av vänster och höger kanal. Denna förskjutning inträffar om, till exempel, ett högljutt element panoreras utanför mitten.

Sminkvinst

Eftersom kompressorn minskar den övergripande signalnivån, lägger den vanligtvis till en fast uteffekt för att uppnå den optimala nivån.

Se framåt

Look-ahead-funktionen är designad för att lösa problem associerade med både för höga och för låga Attack and Release-värden. En attacktid som är för lång tillåter oss inte att effektivt fånga upp transienter, och en attacktid som är för kort kanske inte är bekväm för lyssnaren. Vid användning av blick framåt-funktionen är huvudsignalen fördröjd i förhållande till styrsignalen, detta gör att du kan starta komprimeringen i förväg, även innan signalen når tröskelvärdet.
Den enda nackdelen med denna metod är signalens tidsfördröjning, vilket i vissa fall är oönskat.

Använder dynamisk komprimering

Kompression används överallt, inte bara i musikaliska ljudspår, utan också där det är nödvändigt att öka den totala volymen utan att öka toppnivåerna, där billig ljudåtergivningsutrustning eller en begränsad överföringskanal används (public adress och kommunikationssystem, amatörradio, etc.) .

Kompression tillämpas under uppspelning bakgrundsmusik(i butiker, restauranger etc.) där några märkbara volymförändringar inte önskas.

Men det viktigaste tillämpningsområdet för dynamisk komprimering är musikproduktion och sändning. Kompression används för att ge ljudet "tjocklek" och "drive", för att bättre kombinera instrument med varandra, och speciellt vid bearbetning av sång.

Sång i rock- och popmusik komprimeras ofta för att få dem att sticka ut från ackompanjemanget och lägga till klarhet. En speciell typ av kompressor som bara är inställd på vissa frekvenser - en de-esser - används för att undertrycka sibilerande fonem.

I instrumentalpartier används komprimering även för effekter som inte är direkt relaterade till volym, till exempel kan snabbt sönderfallande trumljud göras längre.

Elektronisk dansmusik (EDM) använder ofta sidokedjor (se nedan) – till exempel kan baslinjen drivas av en kicktrumma eller liknande för att förhindra bas och trummor från att krocka och skapa en dynamisk pulsering.

Kompression används ofta i sändningar (radio, tv, internetsändningar) för att öka den upplevda ljudstyrkan samtidigt som det dynamiska omfånget för källljud (vanligtvis CD) minskas. De flesta länder har lagliga begränsningar för den maximala momentana volymen som kan sändas. Vanligtvis implementeras dessa begränsningar av permanenta hårdvarukompressorer i luftkedjan. Dessutom förbättrar ökad upplevd ljudstyrka "kvaliteten" på ljudet ur de flesta lyssnares perspektiv.

se även Loudness krig.

Konsekvent öka volymen på samma låt som remastrades för CD från 1983 till 2000.

Side-chaining

En annan vanligt förekommande kompressoromkopplare är "sidokedjan". I detta läge sker ljudkomprimering oavsett dess egen nivå, och beroende på nivån på signalen som kommer in i kontakten, som vanligtvis kallas sidokedjan.

Det finns flera användningsområden för detta. Till exempel har sångaren en lisp och alla "s" sticker ut från den övergripande bilden. Du för hans röst genom en kompressor och matar in samma ljud i sidokedjekontakten, men passerade genom en equalizer. Med en equalizer klipper du bort alla frekvenser utom de som används av sångaren när du uttalar bokstaven "s". Vanligtvis runt 5 kHz, men kan variera från 3 kHz till 8 kHz. Om du sedan sätter kompressorn i sidokedjeläge kommer rösten att komprimeras vid de ögonblick då bokstaven "s" uttalas. Detta resulterade i en enhet känd som en de-esser. Detta sätt att arbeta kallas för "frekvensberoende".

En annan användning av denna funktion kallas "ducker". Till exempel på en radiostation går musiken genom en kompressor, och DJ:ns ord kommer genom en sidokedja. När DJ:n börjar chatta minskar musikvolymen automatiskt. Den här effekten kan också med framgång användas vid inspelning, till exempel för att minska volymen på klaviaturstämmor medan du sjunger.

Tegelvägg begränsande

Kompressorn och limitern fungerar ungefär på samma sätt, vi kan säga att limitern är en kompressor med ett högt förhållande (från 10:1) och vanligtvis en låg attacktid.

Det finns ett koncept med Brick wall limiting - limiting med en mycket hög Ratio (20:1 och högre) och en mycket snabb attack. Helst tillåter den inte signalen att överskrida tröskelnivån alls. Resultatet kommer att vara obehagligt för örat, men detta kommer att förhindra skador på ljudåtergivningsutrustning eller överskott bandbredd kanal. Många tillverkare integrerar begränsare i sina enheter för just detta ändamål.

Clipper vs. Limiter, mjuk och hård klippning

Kompression är ett av de mest mytomspunna ämnena inom ljudproduktion. De säger att Beethoven till och med skrämde grannens barn med henne:(

Okej, faktiskt, att använda komprimering är inte svårare än att använda distorsion, det viktigaste är att förstå principen för dess funktion och ha bra kontroll. Detta är vad vi kommer att se tillsammans nu.

Vad är ljudkomprimering

Det första att förstå innan förberedelse är kompression. arbeta med ljudets dynamiska omfång. Och i sin tur är inget annat än skillnaden mellan de högsta och tystaste signalnivåerna:

Så, komprimering är komprimering av det dynamiska området. Ja, Bara dynamiskt områdeskomprimering, eller med andra ord sänka nivån på högljudda delar av signalen och öka volymen på tysta delar. Inte mer.

Man kan rimligen undra varför en sådan hype hänger ihop då? Varför pratar alla om recept för korrekta kompressorinställningar, men ingen delar dem? Varför, trots det stora antalet coola plugins, använder många studior fortfarande dyra, sällsynta modeller av kompressorer? Varför använder vissa producenter kompressorer vid extrema inställningar, medan andra inte använder dem alls? Och vilken av dem har rätt i slutändan?

Problem lösta genom komprimering

Svaren på sådana frågor ligger i planet att förstå kompressionens roll i arbetet med ljud. Och det tillåter:

  1. Betona attacken ljud, vilket gör det mer uttalat;
  2. Att ”sätta in” enskilda delar av instrument i mixen, lägga kraft och "vikt" till dem;
  3. Gör grupper av instrument eller en hel mix mer sammanhängande, en sådan enda monolit;
  4. Lös konflikter mellan verktyg använder sidokedja;
  5. Rätta till sångarens eller musikernas misstag, utjämna deras dynamik;
  6. Med en viss inställning fungera som en konstnärlig effekt.

Som du kan se är detta inte mindre betydelsefull kreativ process än att till exempel komma med melodier eller skapa intressanta klangfärger. Dessutom kan något av ovanstående problem lösas med hjälp av fyra huvudparametrar.

Grundläggande parametrar för kompressorn

Trots det stora antalet mjukvaru- och hårdvarumodeller av kompressorer uppstår all "magi" med komprimering när korrekt inställning huvudparametrar: Tröskel, Ratio, Attack och Release. Låt oss titta på dem mer i detalj:

Tröskel eller svarströskel, dB

Denna parameter låter dig ställa in värdet från vilket kompressorn ska arbeta (det vill säga komprimera ljudsignalen). Så, om vi ställer in tröskeln till -12dB, kommer kompressorn bara att fungera i de delar av det dynamiska området som överskrider detta värde. Om allt vårt ljud är tystare än -12db kommer kompressorn helt enkelt att passera igenom det utan att påverka det på något sätt.

Förhållande eller kompressionsförhållande

Förhållandeparametern bestämmer hur mycket en signal som överskrider tröskeln kommer att komprimeras. Lite matematik för att fullborda bilden: låt oss säga att vi satte upp en kompressor med ett tröskelvärde på -12dB, förhållande 2:1 och matade den med en trumslinga där volymen på kicktrumman är -4dB. Vad blir resultatet av kompressordriften i detta fall?

I vårt fall överstiger kicknivån tröskeln med 8dB. Denna skillnad beroende på förhållandet kommer att komprimeras till 4dB (8dB / 2). I kombination med den obearbetade delen av signalen kommer detta att leda till att efter bearbetning av en kompressor kommer volymen på kicktrumman att vara -8db (tröskelvärde -12dB + komprimerad signal 4dB).

Attack, ms

Detta är den tid efter vilken kompressorn kommer att reagera på att överskrida svarströskeln. Det vill säga om attacktiden är över 0ms - kompressorn börjar kompressionenöverskrider tröskelsignalen inte omedelbart, utan efter en angiven tid.

Frigivning eller återhämtning, ms

Motsatsen till en attack - värdet på denna parameter låter dig ange hur lång tid efter att signalnivån återgår under tröskeln kompressorn kommer att sluta komprimera.

Innan vi går vidare rekommenderar jag starkt att ta ett välkänt prov, placera valfri kompressor på dess kanal och experimentera med ovanstående parametrar i 5-10 minuter för att säkert fixa materialet

Allt andra parametrar är valfria. De kan skilja sig åt mellan olika kompressormodeller, vilket delvis är anledningen till att producenter använder olika modeller för specifika ändamål (till exempel en kompressor för sång, en annan för en trumgrupp, en tredje för masterkanalen). Jag kommer inte att uppehålla mig vid dessa parametrar i detalj, utan kommer bara att ge allmän information För att förstå vad det här handlar om:

  • Knä eller knä (hårt/mjukt knä). Denna parameter bestämmer hur snabbt kompressionsförhållandet (förhållandet) kommer att tillämpas: hårt längs en kurva eller jämnt. Jag noterar att i Soft Knee-läget fungerar kompressorn inte linjärt, utan börjar smidigt (så långt detta kan vara lämpligt när vi pratar om millisekunder) komprimera ljudet redan före tröskelvärdet. För att bearbeta grupper av kanaler och den övergripande mixen används ofta mjukt knä (eftersom det fungerar obemärkt), och för att betona attacken och andra egenskaper hos individuella instrument används hårt knä;
  • Svarsläge: Peak/RMS. Peak-läget är motiverat när du strikt behöver begränsa amplitudskurar, såväl som på signaler med en komplex form, vars dynamik och läsbarhet måste förmedlas fullt ut. RMS-läget är mycket skonsamt mot ljudet, vilket gör att du kan tjockna det samtidigt som attacken bibehålls;
  • Framsyn (Lookahead). Detta är den tid under vilken kompressorn kommer att veta vad som kommer till den. En sorts preliminär analys av inkommande signaler;
  • Makeup eller Gain. En parameter som låter dig kompensera för volymminskningen till följd av komprimering.

Först och mest huvudsakliga råd , vilket eliminerar alla ytterligare frågor om komprimering: om du a) förstår principen för komprimering, b) vet hur den eller den parametern påverkar ljudet och c) lyckats pröva flera i praktiken olika modellerdu behöver inga råd längre.

Jag är absolut seriös. Om du noggrant läste det här inlägget, experimenterade med standardkompressorn för din DAW och en eller två plugin-program, men ändå inte förstod i vilka fall du behöver ställa in stora attackvärden, vilket förhållande du ska använda och i vilket läge du ska bearbeta källsignal - då kommer du att fortsätta att söka på Internet efter färdiga recept och applicera dem tanklöst var som helst.

Recept för finjustering av kompressorer det är ungefär som recept för att finjustera en reverb eller refräng - det är meningslöst och har ingenting med kreativitet att göra. Därför upprepar jag ständigt det enda korrekta receptet: beväpna dig med den här artikeln, bra monitorhörlurar, en plug-in för visuell kontroll av vågformen och tillbringa kvällen i sällskap med ett par kompressorer.

Vidta åtgärder!

, Mediaspelare

Skivor, särskilt äldre som spelades in och producerades före 1982, var mycket mindre benägna att mixas för att göra inspelningen högre. De återger naturlig musik med ett naturligt dynamiskt omfång som bevaras på skivan och förloras i de flesta vanliga digitala eller högupplösta format.

Det finns undantag från detta, naturligtvis – lyssna på Steven Wilsons senaste album från MA Recordings eller Reference Recordings så kommer du att höra hur bra digitalt ljud kan vara. Men detta är sällsynt, de flesta moderna ljudinspelningar är högljudda och komprimerade.

Musikkomprimering har fått mycket kritik på sistone, men jag är villig att slå vad om att nästan alla dina favoritinspelningar är komprimerade. Vissa av dem är mindre, vissa är fler, men ändå komprimerade. Dynamic range compression är en syndabock för dåligt klingande musik, men mycket komprimerad musik är inget nytt: lyssna på Motown-album från 60-talet. Detsamma kan sägas om de klassiska verken av Led Zeppelin eller de yngre albumen av Wilco och Radiohead. Kompression av dynamiskt omfång minskar det naturliga förhållandet mellan de högsta och mjukaste ljuden i en inspelning, så en viskning kan vara lika högt som ett skrik. Det är ganska svårt att hitta popmusik från de senaste 50 åren som inte har komprimerats.

Jag hade nyligen en trevlig pratstund med Tape Op-tidningens grundare och redaktör Larry Crane om de bra, de dåliga och de fula aspekterna av komprimering. Larry Crane har arbetat med band och artister som Stefan Marcus, Cat Power, Sleater-Kinney, Jenny Lewis, M. Ward, The Go-Betweens, Jason Little, Eliot Smith, Quasi och Richmond Fontaine. Han driver även inspelningsstudion Jackpot! i Portland, Oregon, som var hem för The Breeders, The Decemberists, Eddie Vedder, Pavement, R.E.M., She & Him och många, många andra.

Som ett exempel på förvånansvärt onaturligt klingande men ändå fantastiska låtar nämner jag Spoons 2014 album They Want My Soul. Crane skrattar och säger att han lyssnar på den i bilen för det låter bra där. Vilket leder oss till ett annat svar på frågan om varför musik är komprimerad: eftersom komprimering och ytterligare "tydlighet" gör det lättare att höra på bullriga platser.

Larry Crane på jobbet. Foto av Jason Quigley

När folk säger att de gillar ljudet på en ljudinspelning tror jag att de gillar musiken, som om ljud och musik var oskiljaktiga termer. Men för mig själv skiljer jag åt dessa begrepp. Ur en audiofils perspektiv kan ljudet vara grovt och rått, men det spelar ingen roll för de flesta lyssnare.

Många är snabba med att anklaga masteringenjörer för att överanvända komprimering, men komprimering tillämpas direkt under inspelning, under mixning och först då under mastering. Om du inte var personligen närvarande vid vart och ett av dessa stadier, kommer du inte att kunna säga hur instrumenten och sångdelarna lät i början av processen.

Crane var på gång: "Om en musiker avsiktligt vill låta galen och förvrängd som Guided by Voices-skivorna, så är det inget fel med det - önskan väger alltid tyngre än ljudkvaliteten." Artistens röst är nästan alltid komprimerad, och samma sak händer med bas, trummor, gitarrer och syntar. Kompression bibehåller sångvolymen på rätt nivå genom hela låten eller sticker ut lite från resten av ljuden.

Korrekt gjord komprimering kan få trummor att låta mer livlig eller avsiktligt konstigt. För att få musik att låta bra måste du kunna använda de nödvändiga verktygen. Det är därför det tar år att ta reda på hur man använder komprimering utan att överdriva det. Om mixingenjören komprimerar gitarrdelen för mycket kommer masteringenjören inte längre att kunna återställa de saknade frekvenserna helt.

Om musiker ville att du skulle lyssna på musik som inte hade gått igenom stadierna av mixning och mastering, skulle de släppa den på butikshyllorna direkt från studion. Crane säger att de som skapar, redigerar, mixar och bemästrar inspelad musik inte är där för att komma i vägen för musiker – de har hjälpt artister sedan starten, i mer än hundra år.

Dessa människor är en del av skapelseprocessen som resulterar i fantastiska konstverk. Crane tillägger, "Du vill inte ha en version av 'Dark Side of the Moon' som inte har mixats och mastrats." Pink Floyd släppte låten som de ville höra den.




Topp