IPB

Welcome Guest ( Log In | Register )

Way to quantify degree of loudness-war impacts? (not loudness itself)
Porcus
post Jul 21 2012, 15:52
Post #1





Group: Members
Posts: 1849
Joined: 30-November 06
Member No.: 38207



I am not asking for a utility that computes some average loudness measure (like ReplayGain). (Edit: Argh, thought I was clever to avoid the quotation marks " and ', in order to keep the board from cropping the subject. Forgot about the slash.)


Rather, I am asking whether there have been developed reasonably good measurements -- and utilities implementing such -- for scanning for “loudness war victims”. E.g., criteria like
- dispersion of amplitude (e.g. standard deviation), over some (moving?) average
- distribution of signals near the digital 1.0000 to identify brickwalling (hard or not-very-soft limiting)
- every track on an album boosted to about the same maximum


Of course it will vary over musical genres, but a model that could scan a batch of subjectively “similar” music and with a reasonable accuracy (i.e. sensitivity/specificity) detect those “bad remasters”, would be a good start.


Anything? Anyone?

This post has been edited by Porcus: Jul 21 2012, 15:57


--------------------
One day in the Year of the Fox came a time remembered well
Go to the top of the page
+Quote Post
 
Start new topic
Replies
Woodinville
post Aug 15 2012, 21:37
Post #2





Group: Members
Posts: 1402
Joined: 9-January 05
From: JJ's office.
Member No.: 18957



clear all
close all
clc

fname='12.wav'
x=wavread(fname);
x=round(x*32768);

len=length(x)

his=histc(x(:,1),-32768:32767); % channel 1
his=his+histc(x(:,2),-32768:32767); %channel 2

tot=sum(his);
his=his/tot;
his=max(his, .000000000001);
xax=-32768:32767;

semilogy(xax,his);
axis([-40000 40000 1e-10 1e-1]);
big=max(max(x))
small=min(min(x))

fname

In octave will give you a nice histogram of the actual amplitudes in a 16 bit digital file.

You can find some frightening results at: http://s238.photobucket.com/albums/ff228/j...l%20Histograms/



--------------------
-----
J. D. (jj) Johnston
Go to the top of the page
+Quote Post
xTobix
post Aug 15 2012, 23:41
Post #3





Group: Members
Posts: 12
Joined: 1-August 12
Member No.: 101938



QUOTE (Woodinville @ Aug 15 2012, 21:37) *
clear all
close all
clc

fname='12.wav'
x=wavread(fname);
x=round(x*32768);

...//...


Woodinville, thanks for the Matlab code. It works very well.

I modified/abused it with this view lines since I had no *.wav on hand but ist seems to produce sencible results!

% fname='12.wav'
% x=wavread(fname);
% x=round(x*32768);
T = 1;%(s)
SR = 44.1e3;%(SP/s)
f = 300;%(Hz)

%% comment in/out as appropriate
% % #1 test no signal...
x = zeros(T*SR,1);
figure(1)
% % #2 test ramp
x = round(linspace(-2^15,2^15,T*SR));% 2^15 = 2^16/2
figure(2)
% % #3 test ramp
x = round(2^15.*sin(linspace(-2^15,2^15,T*SR).*2.*pi.*f./SR));% 2^15 = 2^16/2
figure(3)
x = [x;-x]'; % fills the second channel
% plot(x);break
len=length(x)


I am shocked; American Idiot and V.I.U. are just crazy! They look like a mix of test signal #2 & 3.

Good fun though!
Go to the top of the page
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 2nd October 2014 - 11:06