[linux-audio-user] Jamin question - peak hold in spectrum display?
Steve Harris
S.W.Harris at ecs.soton.ac.uk
Tue Aug 3 18:15:19 EDT 2004
On Tue, Aug 03, 2004 at 11:35:37 -0700, Mark Knecht wrote:
> Hi,
> Does Jamin have any facility to do a peak hold display where a
> second curve is drawn and is made up of the peak values displayed in the
> faster, currently existing curve? If so, how do I turn it on? This is
> useful when you're trying to get an overall feeling for the energy
> across time instead of what's happening at a specific instant.
Thats more what the Spectrum tab is for, but I've attached a simple patch
that hacks the frequency curve to be slower decaying (tweak dacay_rate to
change the speed) if you want to try it.
> FYI - right now the Gentoo version is 0.8.0 and there is an error
> message at startup about not finding lookahead_limiter_const_1906.so.
You need newer swh-plugins - but not too new, or the version of JAMin your
using wont run. Mea Culpa.
> I don't know about the sound yet but I must say that the basic tool
> compares pretty nicely to the Waves stuff I normally use. I'm currently
> mixing a CD and looking at using Jamin for my final version. Thanks for
> a nice tool.
The limiter that goes with that JAMin is broken. I wouldnt use it for any
servious work that has to go hard to the limit point. If you do want to
use the limiter, best to get a CVS JAMin and latest swh-plugins.
- Steve
-------------- next part --------------
Index: spectrum.c
===================================================================
RCS file: /cvsroot/jamin/jamin/src/spectrum.c,v
retrieving revision 1.17
diff -u -r1.17 spectrum.c
--- spectrum.c 6 May 2004 10:28:00 -0000 1.17
+++ spectrum.c 3 Aug 2004 21:58:02 -0000
@@ -135,11 +135,12 @@
{
int i, page, count;
float levels[BANDS];
- float single_levels[BINS/2];
+ static float single_levels[BINS/2];
void draw_EQ_spectrum_curve (float *);
int get_current_notebook1_page ();
+ float decay_rate = 0.05f;
page = get_current_notebook1_page ();
count = BINS / 2;
@@ -165,7 +166,8 @@
levels[i] = 0.0f;
}
for (i=0; i<count; i++) {
- single_levels[i] = bin_peak_read_and_clear(i);
+ single_levels[i] *= 1.0f - decay_rate;
+ single_levels[i] += bin_peak_read_and_clear(i) * decay_rate;
}
draw_EQ_spectrum_curve (single_levels);
}
More information about the Linux-audio-user
mailing list