Subject: Re: [ecasound] audio stamps are here! :) (was: Re: A new controler?)
From: Kai Vehmanen (email@example.com)
Date: Mon Dec 18 2000 - 02:05:38 EET
On Thu, 14 Dec 2000, S. Massy wrote:
> Now it's not so obvious, how does it work exactly? Is this controler
> sort of an implementation of my initial proposal? I've tried it
> Anyway, a brief explanation on how -ksv works would be really appreciated.
Ok, we have...
The first three parameters are standard, and apply to all controllers
(-k*). The first one specifies the number of the parameter to be
controlled. So in "-efl:400 -ksv:1,..." we'd be controlling the
cutoff-frequency. Second and third parameters specify the value range.
All control-sources produce a value between [0,1]. This value is then
scaled to fit the given target range (in this case [20,20000]).
The fourth argument specifies the audio stamp id-number (1 in this case).
The last one is a toggle used to determinate the mode used for analyzing
(0 -> peak-volume, != 0 -> rms-volume).
Now if rms-volume is enabled, ksv analyzes the audio stored in the audio
stamp and calculates its rms-value (one value between [0,1] representing
the perceived audio volume). Then the value is mapped to the given
target range [20,20000] and applied to the target (in this case, lowpass
So as a result, if we have a completely silent signal, cutoff-frequency
will be set to: 0 -> 20 -> -efl:20. If about half of max we get 0.5 ->
10010 -> -efl:10010. If volume is close to max, the cutoff freq rises
close to 20000Hz. So shortly put, the rms-volume is linearly mapped to
the target range.
If peak-mode is used, ksv goes throuh all samples (of all channels) and
stores the sample value with greatest amplitude. This value will be scaled
to the [20,20000] range and used for controlling -efl.
> Seems to work fine, although, as I said, it's just a little hard to
> hear well with just voice or already mixed stuff...
Yup, I'm sure there are better uses for the audio stamp system. One
problem with -ksv is that the produced control value changes all the time
This often leads to very weird output, especially with filters. One way
around is to make the target range smaller.
The controller you originally proposed had threshold values for
min and max amplitudes. So unlike -ksv, if volume level is below x,
controller always outputs 0. Similarly, if volume level goes above y,
1 is always outputted. Between x and y, controller would map linearly
from volume-level to the [0,1] range. Have I understood your proposal
-- . http://www.eca.cx ... [ audio software for linux ] /\ . . http://www.eca.cx/sculpscape [ my armchair-tunes mp3/ra/wav ]
-- To unsubscribe send message 'unsubscribe' in the body of the message to <firstname.lastname@example.org>.
This archive was generated by hypermail 2b28 : Mon Dec 18 2000 - 03:13:15 EET