Wednesday, March 21, 2012

Introducing the YoaCrusher

As some of you know, I've recently been attempting to build virtual synths and FX modules. Well, now I've got one that... well, tries to work.

It's a bitcrusher, which basically takes a sound with a set sample rate and lowers said rate. In extreme cases, it creates a synthetic digital waveform. Here is a block diagram of how it works:

It's actually a pretty simple device.
1. First, the signal is mixed to mono. Sorry, but a stereo crusher is quite difficult to make work. I tried.
2. Other than the bypass, the first part is a ditherer, which quite simply adds pink noise to the mix to lessen the harshness on the crusher.
3. Then it moves to an LFO which you can make any waveform you want that's available. You can then also adjust the pulse width, or Jitter. I was going to attach an LFO to that so that you could created automated vocal sounds, but it didn't quite work as I had expected. I'll fix that later.
4. You then move on to the actual bitcrusher, which sometimes works and sometimes doesn't. It actually someone else's module that I partially reprogrammed. I need to further work on it so that the bit depth actually gets deep and is more easily controlled.
5. The bitcrushed signal then runs to the mixer, which is really just a switch on the bypass model that allows you to bypass the effect internally.

As per what everything I create with this will be, it's totally free (since I haven't bought the program I use to make these and the GUI shows up as just a big white box with the word demo on it but it's still fully functional), and you can download it below.

Here's the thing with this tool, though. It can, in extreme cases, do some pretty nasty stuff. When I was testing it in Ableton Live, it actually took the place of everything from a vocal formant filter to a distortion, and I found it can actually be run through itself to create even neater effects. I don't even know how this happened, but I know one thing: this beast is just that: a big ol' nasty beast. Careful out there.

Oh, and one last thing: if you are using it in something like Live, you'll have these options:

I recommend playing with not only these but the actual sliders on the GUI, because you can do some pretty neat sounding stuff.

Knob is LFO pitch
Oscillator Pulse Width is the LFO jittering
VCA Volume is Dither amount
Voltage to List is the amount of Bitcrushing
patchvalue is the LFO waveform

Download links:

With bypass

Without bypass

Tweak list:
*fix bit depth control
*bypassable LFO on PWM for main LFO
*Adjust LFO pitch amount so you can't have a 20,000 Hz LFO. Kinda defeats the purpose. Maybe a max of 30Hz.
*set it up so that DAW's like Live actually understand what to control
*make it stereo
*anything else??

No comments:

Post a Comment