any advice on how to eliminate these nasty clicks?
is it DC offset?
I randomize the activation and deactiviation of effects like the repeater and delays etc with a random lfo and it produces a nasty click a lot of the time.
any advice on how to eliminate these nasty clicks?
is it DC offset?
I randomize the activation and deactiviation of effects like the repeater and delays etc with a random lfo and it produces a nasty click a lot of the time.
Yes, there are workarounds. Think about using lfos to activate/deactivate parameters within the fx and leaving the effect turned on. For instance, Mode and Divisor are both viable targets for the repeater device and used in conjunction can give you a lot of control. For delays, Send amount is a good target, or Input amount, depending on how you want it to behave.
I’ll be sharing a bunch of my custom doofers and such in the next renoise release that will make this sort of thing (and much more) easier for everybody
thank you for the quick reply.
I quickly figured out on my own this morning that leaving the repeater on and instead using a square wave LFO to oscillate between OFF and EVEN fixed any clicking problems I was having.
I’m going to use this logic to approach randomizing all the effects and will follow your advice re: effecting the send level for delays.
side note… I used chatgpt this morning for the first time to write a lua script to randomize velocity upon each pattern loop. pretty fun
– Store the last observed line position to detect pattern restarts
local last_line_index = nil
– Function to randomize velocities in the current pattern
local function randomize_velocities()
local song = renoise.song()
local pattern_index = song.transport.playback_pos.sequence
local pattern = song:pattern(pattern_index)
for track_index, track in ipairs(pattern.tracks) do
-- Skip non-note tracks (e.g., master, send tracks)
if song:track(track_index).type == renoise.Track.TRACK_TYPE_SEQUENCER then
for _, line in ipairs(track.lines) do
for _, note_column in ipairs(line.note_columns) do
if not note_column.is_empty then
note_column.volume_value = math.random(20, 127)
end
end
end
end
end
end
– Function to monitor playback position and randomize velocities
local function on_idle()
local song = renoise.song()
if not song.transport.playing then return end
-- Get current line and detect pattern restart
local current_line_index = song.transport.playback_pos.line
if current_line_index == 1 and last_line_index ~= 1 then
randomize_velocities()
end
last_line_index = current_line_index
end
– Attach the idle notifier to monitor playback
renoise.tool().app_idle_observable:add_notifier(on_idle)
Bro low key spoiled next Renoise update
Hush, you!
There should be plenty more besides
…allegedly