Hi,

Another solution if you really want to switch of the normalization is
to use a switch between the normalized and the original source, i.e.

s = ... # main source

b = interactive.bool("norm", true)
s = switch(track_sensitive=false, [(b, normalize(s)), ({true}, s)])

output.icecast(..., s)

Cheers,

Samuel.

On Sun, Aug 18, 2013 at 10:41 PM, Romain Beauxis <[email protected]> wrote:
> Hi Yoann,2013/8/14 Yoann QUERET <[email protected]>
>
>>
>> Hi,
>>
>> I would like to enable/disable normalize or limit without restart
>> process and stream.
>>
>> My simple test script is :
>>
>> source = input.alsa( device = "hw:0,0" )
>> source = normalize( id="normalize", ...., source)
>> source = limit( ...., source)
>> output.icecast( id="stream", ...., source)
>>
>> I can enable or disable stream using telnet or socket (stream.stop or
>> stream.start) and i have no idea to make the same via telnet or socket
>> for normalize or limit.
>>
>> Any idea ?
>
> If you look at the parameters for the normalize operator:
>
>  * gain_max : anything that is either float or ()->float (default: 6.)
>      Maximal gain value (dB).
>
>  * gain_min : anything that is either float or ()->float (default: -6.)
>      Minimal gain value (dB).
>
>  * k_down : anything that is either float or ()->float (default: 0.1)
>      Coefficient when the power must go down (between 0 and 1, slowest to
>      fastest).
>
>  * k_up : anything that is either float or ()->float (default: 0.005)
>      Coefficient when the power must go up (between 0 and 1, slowest to
>      fastest).
>
>  * target : anything that is either float or ()->float (default: -13.)
>      Desired RMS (dB).
>
>  * threshold : anything that is either float or ()->float (default: -40.)
>      Minimal RMS for activaing gain control (dB).
>
> You will notice that these values are types as "float or ()->float". This
> means that you can use either a fixed value or a callback for them. For
> instance:
>
> # Callback returning gain_max
> def gain_max() =
>   # .. compute/fetch value
>   8. # Example return value
> end
>
> This way, you should be able to use any value you want at any time.
>
> Hope this helps,
> Romain
>
> ------------------------------------------------------------------------------
> Get 100% visibility into Java/.NET code with AppDynamics Lite!
> It's a free troubleshooting tool designed for production.
> Get down to code-level detail for bottlenecks, with <2% overhead.
> Download for free and get started troubleshooting in minutes.
> http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
> _______________________________________________
> Savonet-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/savonet-users
>

------------------------------------------------------------------------------
Get 100% visibility into Java/.NET code with AppDynamics Lite!
It's a free troubleshooting tool designed for production.
Get down to code-level detail for bottlenecks, with <2% overhead. 
Download for free and get started troubleshooting in minutes. 
http://pubads.g.doubleclick.net/gampad/clk?id=48897031&iu=/4140/ostg.clktrk
_______________________________________________
Savonet-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/savonet-users

Reply via email to