Flint skrev:gnypp45 skrev:Lust skrev:Svante skrev: ...Det handlar alltså inte om att hindra någon att göra det konstnärliga valet "apljud" utan bara att hindra dem från att bli starkare på skivan än alla andra...
Finns det någon kompensering för att "apljud" sannolikt uppfattas som starkare än goljud vid samma medelnivå? Eller har R 128 bara minimerat skillnaderna så mycket det går utan att krångla till det alltför mycket?
Om jag förstått det här rätt så bygger rekommendationen EBU R128 på en metod av normera musiksignalen, närmare bestämt ett specifikt sätt att beräkna en medelljudnivå (uttryckt i den nya, psykoakustiskt viktade enheten "Loudness Units", LU). Standarden som beskriver hur LU-värdet beräknas heter ITU-R BS.1770 och finns numera för gratis nedladdning.
Det fiffiga är att goljudet och apljudet ska låta precis lika starkt om de spelas upp med samma "LU-värde".
Att ta fram LU-värdet är lite mer invecklat än att bara ta effektivvärdet (rms-värdet), vilket Svantes program MasVis gör, men konceptuellt inte olikt hur ReplayGain beräknas (som ju finns inbyggd i foobar2000).
Det är möjligt att RMS-mätningen kan ta för lång tid och kanske inte går att köra i realtid. Annars borde den principen vara idealisk, men kanske/troligen strävar dom efter ett system som är snabbare och som kan köras live.
Jag kollade lite i dokumenten och LU-beräkningen var inte så invecklad som jag hade föreställt mig:
Först EQ, sedan ta medelvärdet av kvadraten på ljudsignalen i ett givet tidsintervall för varje kanal, sedan summera bidragen från kanalerna, sedan ta logaritmen.
Lite mer i detalj. Signalen för varje ljudkanal (vänster, höger, center, vänster bak, höger bak) passerar följande steg:
1. Filter som liknar ett "baffelsteg" vilket ger en höjning av signalen med 4 dB för frekvenser över ca 2 kHz. Detta kommenteras/motiveras nästan inte alls i standarden, men har i alla fall med huvudets diffraktionseffekter att göra.
2. Ett andra ordningens högpassfilter med f(-3dB) ungefär vid 60 Hz. Skär bort basen m.a.o.
Steg 1 och 2 ger tillsammas den s.k. K-viktningskurvan:
3. Summering av kvadraten av alla samples inom tidsintervallet och delning med tidsintervallets längd, dvs. beräkning av ett "rms-värde" men utan "r". Detta är medelenergin i ljudet för varje kanal och all inbördes fasinformation är alltså borta.
4. Addering av värdena som fås i steg 3 till en gemensam siffra för alla kanaler. Värdena för de tre fram-kanalerna (vänster, center, höger) adderas rakt av, medan de två bakkanalerna viktas lite tyngre (+1.5 dB) i summan, vilket nog har psykoakustiska orsaker.
5. Omvandling av siffran till dB-skala (10-logaritm, samt multiplicering med 10) och sedan subtrahering av en konstant, 0.691. Den sistnämda finns där för att kompensera för höjningen som "baffelstegs-filtret" gör, gissar jag.*
Et voilà! Detta är LUFS-värdet. Som ni ser så är det inte särskilt avancerade beräkningssteg.
Allt detta görs samtidigt på
tre olika tidsskalor:
1. Ett rullande 0.4 s långt fönster, som uppdateras minst 10 ggr per sekund. Detta värde är inte "gejtat", dvs. det uppdateras hela tiden, oavsett vilken nivå signalen har.
2. Ett rullande 3 s långt fönster, i övrigt som 1 angånde uppatering och gejtning.
3. Ett långtidsvärde som integreras fram under hela programmets längd mha av värdena från 0.4 s-fönstren. Detta värde är gejtat i två steg: Endast de 0.4 s-fönster som har loudness större än -70 LUFS tas med i en summa, som ger ett LUFS-värde vi kan kalla A. Detta är bara ett mellansteg. En ny, relativ tröskelnivå definieras som -10 LU relativt A. Beräkningen görs om, och denna gång tas bara 0.4 s-fönster med loudness över denna relativa tröskelnivå med.
Det är detta integrerade, gejtade värde som ska ligga på -23 LUFS enligt rekommendationen i EBU R 128.
Allt detta sker i realtid, under programmaterialets uppspelning. I en EBU-kompatibel loudness-meter kan man se hur de tre LUFS-värdena, inklusive den den integrerade signalen, utvecklas under programmets gång och i en live-sändning har man då möjlighet att justera utstyrningen vid behov.
* så att en 0 dBFS 1 kHz sinus-signal i en av fram-kanalerna ska ge det förväntade värdet -3.01 LUFS