is there any way to make a bitcrusher that slides like sliding pitch shift plugin or move up or down depending on the setting? Fore example you would have the base at 0 and you could turn up the crush level to like 60 or something?
It doesn’t really make sense to “gradually” go from one setting to another in a bitcrusher effect. The distinctive character of a bitcrusher effect is produced by reducing the number of “bits” per sample. For example, CD audio has 16 bits per sample, which is pretty high quality. Some old console games had 8-bits per sample which was lower quality and noticeably “noisy”. The type of noise is “quantization noise”. The number of bits per sample is an integer (a whole number). Above about 10 bits per sample, the bitcrusher effect is not really noticeable except on quiet audio. Below 8 bits per sample the effect becomes very noticeable. The minimum number of bits per sample for “signed integer” audio is 2 - that is, positive going peaks are either at 0 or 1, and negative going peaks are either at 0 or -1. So for a noticeable bit crusher effect, there are only really 7 settings where there is a noticeable effect.
You could cheat a bit, and rather than strictly sticking with the number of “bits per sample”, you could define a “quantization” amount. That is, you define the number of steps between a value of 0 and a value of 1 (and the number of steps from 0 to -1). 8 bits per sample is equivalent to 127 steps from 0 to 1 and 127 steps from 0 to -1.
Because we are talking about “the number of steps”, we are still talking about whole numbers, but now we have 126 possible amounts (rather than just 7).
Even with 126 steps, moving from one quantization value to the next will still be a noticeable “jump”. The greater the amount of “bitcrushing”, the more noticeable the jumps will be, so you can never get a “gradual” transition.
The closest that you can get is probably something like this (below).
This is a “Nyquist script” that may be run in the Nyquist Prompt effect (http://manual.audacityteam.org/o/man/nyquist_prompt.html).
For this code, the selected track must be mono and not too long.
;type process
;control startsteps "Initial amount" int "" 100 0 126
;control endsteps "Final amount" int "" 124 0 126
(setf startsteps (- 127 startsteps))
(setf endsteps (- 127 endsteps))
(setf dur (get-duration 1))
(setf steps (1+ (abs (- startsteps endsteps))))
(setf stepdur (/ dur steps))
(setf step (if (> startsteps endsteps) -1 1))
(setf out (s-rest 1))
(dotimes (i steps out)
(setf sig (extract-abs (* i stepdur)(* (1+ i) stepdur) *track*))
(setf qsteps (+ startsteps (* i step)))
(setf out
(sim out
(at-abs (* i stepdur)(cue (quantize sig qsteps))))))
For more information about Nyquist, see here: http://wiki.audacityteam.org/wiki/Nyquist_Plug-ins_Reference
We also have a forum board for questions and discussion about using Nyquist: http://forum.audacityteam.org/viewforum.php?f=39
dBlue “crusher” VST has a reduction slider …
You’ll have to find some way of recording the real-time changes though.