Signal Follower Amplification Issues

I was just doing some tests with the DC offset, and it seems the signal follower amplifies the incoming signal by 30db before processing it. This causes issues when playing louder samples on any given track. Also, if some rogue hacker like myself wants to use the signal follower to do something crazy like… say… delay some metadata… or smooth out a random LFO using a lowpass filter… I need to reduce the volume on my metadata track every time it enters the signal follower. This is, quite simply, a PITA… and it seems like it’s counter to how the SF should be working anyway. I shouldn’t have to suppress the volume of tracks going into the SF for it to respond properly.

Can you provide an .XRNS to demonstrate?

used a 2 sample square wave shoved through a maximizer… http://bytesmasher.com/foo/renoisedebug/Si…fsetTestin.xrns

Here’s a test with the DC offset:

<?xml version="1.0" encoding="UTF-8"?>  
<FilterDeviceChainClipboard doc_version="0">  
 <DeviceContainerSlot type="SequencerTrackDeviceChain">  
 <Devices>  
 <SequencerTrackDevice type="SequencerTrackDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>false</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <Panning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </Panning>  
 <Volume>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Volume>  
 <Surround>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Surround>  
 <PostPanning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </PostPanning>  
 <PostVolume>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </PostVolume>  
 </SequencerTrackDevice>  
 <LineInDevice type="LineInDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>false</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <InputChannel>0</InputChannel>  
 <InputChannelMode>L+R</InputChannelMode>  
 <InputLatencyMode>Live Recording Mode</InputLatencyMode>  
 <Panning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </Panning>  
 <Volume>  
 <Value>1.0</Value>  
 <Visualization>Mixer and Device</Visualization>  
 </Volume>  
 </LineInDevice>  
 <LfoDevice type="LfoDevice">  
 <IsActive>false</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </DestTrack>  
 <DestEffect>  
 <Value>3</Value>  
 <Visualization>Device only</Visualization>  
 </DestEffect>  
 <DestParameter>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </DestParameter>  
 <Amplitude>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </Amplitude>  
 <Offset>  
 <Value>-0.25</Value>  
 <Visualization>Device only</Visualization>  
 </Offset>  
 <Frequency>  
 <Value>0.9375</Value>  
 <Visualization>Device only</Visualization>  
 </Frequency>  
 <Type>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </Type>  
 <CustomEnvelope>  
 <PlayMode>Linear</PlayMode>  
 <Length>64</Length>  
 <ValueQuantum>0.0</ValueQuantum>  
 <Polarity>Unipolar</Polarity>  
 <Points>  
 <Point>0,0.0</Point>  
 <Point>63,1.0</Point>  
 </Points>  
 </CustomEnvelope>  
 <CustomEnvelopeOneShot>false</CustomEnvelopeOneShot>  
 </LfoDevice>  
 <DcOffsetDevice type="DcOffsetDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <DCOffset>  
 <Value>-32768</Value>  
 <Visualization>Device only</Visualization>  
 </DCOffset>  
 <AutoDC>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </AutoDC>  
 </DcOffsetDevice>  
 <GainerDevice type="GainerDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>true</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <Volume>  
 <Value>0.030521085485816002</Value>  
 <Visualization>Mixer and Device</Visualization>  
 </Volume>  
 <Panning>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </Panning>  
 <LPhaseInvert>false</LPhaseInvert>  
 <RPhaseInvert>false</RPhaseInvert>  
 </GainerDevice>  
 <SignalFollowerDevice type="SignalFollowerDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <Attack>  
 <Value>0.0010000000474974513</Value>  
 <Visualization>Device only</Visualization>  
 </Attack>  
 <Release>  
 <Value>0.0010000000474974513</Value>  
 <Visualization>Device only</Visualization>  
 </Release>  
 <Sensitivity>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </Sensitivity>  
 <InputMode>L+R</InputMode>  
 <DestTrack>  
 <Value>-1</Value>  
 <Visualization>Device only</Visualization>  
 </DestTrack>  
 <DestEffect>  
 <Value>6</Value>  
 <Visualization>Device only</Visualization>  
 </DestEffect>  
 <DestParameter>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </DestParameter>  
 <DestMin>  
 <Value>1.0</Value>  
 <Visualization>Device only</Visualization>  
 </DestMin>  
 <DestMax>  
 <Value>0.0</Value>  
 <Visualization>Device only</Visualization>  
 </DestMax>  
 <DestOffset>  
 <Value>0.5</Value>  
 <Visualization>Device only</Visualization>  
 </DestOffset>  
 <DestScaling>Linear</DestScaling>  
 </SignalFollowerDevice>  
 <GainerDevice type="GainerDevice">  
 <IsActive>true</IsActive>  
 <IsSelected>false</IsSelected>  
 <SelectedPresetName>Init</SelectedPresetName>  
 <SelectedPresetIsModified>true</SelectedPresetIsModified>  
 <IsMaximized>true</IsMaximized>  
 <Volume>  
 <Value>5.245208740234375e-006</Value>  
 <Visualization>Mixer and Device</Visualization>  
 </Volume>  
 <Panning>  
 <Value>1.3113021850585938e-006</Value>  
 <Visualization>Device only</Visualization>  
 </Panning>  
 <LPhaseInvert>false</LPhaseInvert>  
 <RPhaseInvert>false</RPhaseInvert>  
 </GainerDevice>  
 </Devices>  
 </DeviceContainerSlot>  
</FilterDeviceChainClipboard>  

Note, the gainer in front of the SF is set to -30.308 … if you change it to -30.309 on either one, the last gainer jumps a bit … but if you instead drop it to -30.307, there’s no change on the last gainer… this tells me that -30.308 is the magic number… the amount by which the SF is gaining all signals before calculating the peak value.

Yes, we attenuate the input signal so to retain an envelope responding better to volume changes, but this should be at least better controllable. Now the sensitivity let you attenuate the input signal even more to accomodate higher gains.

I’ve already pimped the signal follower with good features for the new beta… you will be impressed :)

The SF doesn’t spit out dBs or audio, it spits out parameter changes from 0 to 1.

So if you really want to analyze the mapping of the incoming audio to a dB parameter change, in lets say a gainer, you have to set the SFs dest min/max from -INF to 0db, and not -INF to 12 dB for the gainer.

“Sensitivity” of the SF already controls the input gain, its just a bit strangely scaled right now. But as kraken said: this will be improved in the next beta…