Re: [LAU] How is the bass mixed? Per-channel frequency analysis? Histogram?

From: Robin Gareus <robin@email-addr-hidden>
Date: Thu Feb 06 2014 - 13:07:46 EET

On 02/05/2014 04:36 PM, Matt Garman wrote:

> I'm not sure if "histogram" is the right word, but in my mind what
> I'd like to see, per-channel, is something like this:
>
> 150--125 Hz: x samples 125--100 Hz: y samples 100--80 Hz: z
> samples ...

a low-pass or band-pass filter, followed by an RMS meter can do what
you want. Though ideally you'll look at the stereo-phase correlation
(after filtering).

[..]

> I am a programmer, and thought it would be easy to quickly hack
> something up that would do this, but I have no experience with
> signal processing, and as I started reading about this, I quickly
> got in over my head! So I was hoping there might already exist a
> tool that has this functionality.

There are various GUI tools and Plugins for audio-analysis. But that's
no fun for batch-analysis of > 10K audio-files.
I don't think a commandline tool exists. You might be able to hack
something together jalv.console (http://dev.drobilla.net/ticket/943)
or vamp-simple-host or maybe ecasound. But it'll probably be easier
to whip something up from scratch; some simplified pseudo-code:

foreach audio-sample as inL, inR {
  /* 1st order low pass filter */
  left += w * (inL - left);
  right += w * (inR - right);
  /* calc RMS */
  rmsL = left * left;
  rmsR = right * right;
  if (rmsL > threshold_squared) ++L_above;
  if (rmsR > threshold_squared) ++R_above;
}

w ~ omega, is the filter constant. For -3dB at freq:
  w = 1.0 - e^(-2.0 * π * freq / SampleRate);
see also https://en.wikipedia.org/wiki/Low-pass_filter

This should get you started at least, there's plenty of example code
and literature around for more advanced filters.

> The motivation for this is: I have a hardware DAC (digital audio
> converter) in one part of my house, and a subwoofer in another.
> There is a single coax run between the DAC and subwoofer, so I can
> only send one channel.

If you only have one subwoofer, just downmix to mono before sending
the audio there.

Cheers!
robin
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@lists.linuxaudio.org
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Thu Feb 6 16:15:02 2014

This archive was generated by hypermail 2.1.8 : Thu Feb 06 2014 - 16:15:02 EET