Bitcrusher (Quantizer/Subsampler)

Do you want a bitcrusher?


  • Total voters
    67

scarr

Experienced
A bitcrusher effect reduces the number of bits and/or samples used to represent a signal. This creates a lo-fi texture and can also create certain unique kinds of distortion. With the addition of some hard clipping features, it can some even more unique waveshaping to create interesting harmonic series.

When pushed, it would be an extreme kind of digital distortion, but that isn't all it's good for. When used more subtly, bitcrushing can have a pleasing warming effect that brings a vintage, lo-fi vibe to anything you put through it. It could modify the tone of a Delay or Flanger to sound more primitive and less like a modern studio-grade effect. When turned up, it can make it sound like you're playing guitar through a Speak & Spell.

Given the different nature of this feature, it would probably be best served by a unique block. Depending how nice you want it to be, it could have low or ridiculously low CPU overhead.

Some of my desired features would include:
• Bit depth reducible in 1-bit increments, from 24-bit down to 1-bit.
• Subsampling down from 48kHz to really low & grainy
- Could be done by a "proper" subsampler for more traditional warming
- Or a simple sample & hold circuit, which would hold every Xth bit for Y samples.* This would be rougher, but that could be good too. ;)
• A basic lowpass filter, switchable pre/post subsampling to remove or allow aliasing/artifacts as desired
• Bit...bending? I'm not sure what it would be called, but look at the "Mode" buttons in this picture of Logic's BitCrusher, which allows three types of clipping at the bit ceiling:
BitCrusher.jpg


- The first reflects the wave back across the clipping ceiling. In code form:
Code:
if(sampleValue > ceilingValue)  sampleValue = (ceilingValue - (sampleValue - ceilingValue));
- The second one is a standard hard clipping.
Code:
if(sampleValue > ceilingValue)  sampleValue = ceilingValue;
- The third is a wrap-around mode where exceeding the ceiling breaks the waveform and starts emerging from the zero point again.
Code:
if(sampleValue > ceilingValue)  sampleValue = sampleValue - ceilingValue;
Or really, I guess it would be:
Code:
while(sampleValue > ceilingValue)  sampleValue = sampleValue - ceilingValue;
• Any additional ideas?

With controllers attached to the parameters, things could get even more interesting and really unique.

* So to get 8 kHz, you would hold every 6th sample for 6 samples. You could do unique things like holding every third sample for two samples though. You could also do things like every 10th sample for 2 samples for more subtle effects. These values might need to be fractional (e.g. every 3.22 bits) to allow for more resolution around 48 kHz. Other suggestions are welcome as well.
 
+1 to everything you said and requested !

I usually use Nuendo's BitCrusher and a freeware plugin called something like Crusher 64 (looks like an old Commodore computer) and they pretty much have the same features you listed already...So... happy face all around :lol: !
 
One of my favorite requests.
I like playing with the bitcrusher in Glitch, a free VST.
Using it in combination with other effects (hit the "G" button on the top of the Crusher config area to set it ON globally), is especially fun.

scarr said:
With controllers attached to the parameters, things could get even more interesting and really unique.
Wouldn't have it any other way.
 
Do you expect with the bit crusher to get a tone close to what the Line6 gear gives?
If this is what you expect i have found something that works not too bad..
 
bmi said:
Do you expect with the bit crusher to get a tone close to what the Line6 gear gives?
If this is what you expect i have found something that works not too bad..

I don't think he wants it that bad :cool:
 
:lol:
Just say that because if i remember well i have read someone talking about bit crusher and line 6 tone in the old forum.
 
bmi said:
:lol:
Just say that because if i remember well i have read someone talking about bit crusher and line 6 tone in the old forum.

That is referring to the L6 LoRes Delay and nothing else. It's a delay where the feedback runs through a bitcrusher in simple terms.
 
VegaBaby said:
bmi said:
:lol:
Just say that because if i remember well i have read someone talking about bit crusher and line 6 tone in the old forum.

That is referring to the L6 LoRes Delay and nothing else. It's a delay where the feedback runs through a bitcrusher in simple terms.
Which is only one possible application of the thing. I kinda documented the basic applications in the initial post though. It's a unique kind of distortion.
 
scarr said:
VegaBaby said:
bmi said:
:lol:
Just say that because if i remember well i have read someone talking about bit crusher and line 6 tone in the old forum.

That is referring to the L6 LoRes Delay and nothing else. It's a delay where the feedback runs through a bitcrusher in simple terms.
Which is only one possible application of the thing. I kinda documented the basic applications in the initial post though. It's a unique kind of distortion.

Yep...and I'd use it for all the other applications you mentioned ;) . Only replied because BMI mentioned it togeter with L6 and I think the demand for a LoRes Delay was the first time the BC was brought up...
 
I've been wanting to post a request for something to allow granular synthesis as an effect, something that could be added to one of the multi-delays. Something like KTGranulator (http://koen.smartelectronix.com/KTGranulator/). However, I couldn't decide if this might be outside the charter of Axe-FX.

Are you thinking along these lines, or are you asking for something different?
 
tlainhart said:
I've been wanting to post a request for something to allow granular synthesis as an effect, something that could be added to one of the multi-delays. Something like KTGranulator (http://koen.smartelectronix.com/KTGranulator/). However, I couldn't decide if this might be outside the charter of Axe-FX.

Are you thinking along these lines, or are you asking for something different?

I actually wanted to request granular stuff a long time ago. It would be absolutely cool, but with all respect I'm not even sure if half of all people here on the board have ever even heard of it :shock: !

It usually takes a lot of processing power so I doubt Cliff's up for it, but it sure would be great since I don't think anything like that's ever been done in a guitar unit.

Just imagine granular stutter stuff like BT coming straight out of the Axe. Don't get me excited :lol: :lol: :lol: !
 
VegaBaby said:
It usually takes a lot of processing power so I doubt Cliff's up for it, but it sure would be great since I don't think anything like that's ever been done in a guitar unit.

Actually, I think that the DSP in the Ultra is up for it. It really would be a differentiator for the Ultra, taking it in places that no other FX device has gone (although that could be said for the Axe-FX in general). And the Axe-FX has already started to go in this direction, with synths and loopers. It could start out small, as in extra "stuff" on the multi-delay, similar to the diffusion parameter.

I have no idea what this would take to implement, but for some reason I imagined that Cliff would have something like the KTGranulator programmed and working on the Ultra in about 3-4 hours. :)
 
You see...I'd really love to have a lot more whacky stuff in there. Eventhough all the effects in the Axe are superb, most of them are still more or less (very tasty) bread and butter (apart from some delays). I don't mean that in any negative way at all, I'd just really like to see some more things which are usually done in some more quirky plug ins, things no other hardware unit is doing.

Unfortunately I also believe that people like us are truely in the minority when it comes to such requests as it seems that most guitar players have trouble already knowing what ADSR means and are happy when they've got a TS simulation and a bit of reverb :lol: ...That's why probably stuff like this is at the very end of Cliff's 'maybe to do list'.
 
Can't you create a "bit-crushed" effect by modifying an IR? I know this won't give you variability but the output would be the same no?

Example take an IR, replace each odd numbered sample (assuming 0 start) with the value of it's next lowest sample.

Is this what you are talking about? Am I understanding what you mean by "bit-crush"?
 
Jed said:
Can't you create a "bit-crushed" effect by modifying an IR? I know this won't give you variability but the output would be the same no?

Example take an IR, replace each odd numbered sample (assuming 0 start) with the value of it's next lowest sample.

Is this what you are talking about? Am I understanding what you mean by "bit-crush"?

That is actually quite a cool idea !!!

It certainly wouldn't sound the same, but having said that, you might get something very unique out of that. Personally I have not enough experience with creating my own IR's and everything, but in theory it's just a wav file that can be destroyed (bit crushed, distorted and so on). Would be worth a try to see how that might react and sound...
 
Jed said:
Can't you create a "bit-crushed" effect by modifying an IR? I know this won't give you variability but the output would be the same no?
Definitely, you can get some low-rez noises from custom IRs, but the appeal of a separate bitcrusher for me is the ability to have it evolve (attach it to a controller pedal).
 
The granular delay (it isn't a synth -- you aren't generating anything) idea is cool & valid, but it needs its own thread. It's very different from a bitcrusher. If you make one up, I'll vote in it. :)

IR's work for linear, time-invariant systems. Distortion (which bit reduction is a unique form of) isn't. The IR Jed described is simply a very fast echo and/or very unnatural reverb. If the files were interpreted as waveshapers, that would be a valid approach, but that is a whole other effect.
 
Back
Top Bottom