« Photocapacitors | Home | Currently on eBay… »

WaveFucker: experimental sound source

I love Reaktor by Native Instruments. It’s a fantastic tool for experimenting with sound synthesis. Here’s an example of using it as a design tool to validate a concept before implementing it in hardware.

How I came up with the WaveFucker is a long story. The condensed version goes like this: I’ve been considering different algorithms to generate interesting drum patterns. I thought about having a FIFO shift register with data feeding into it, and a clock oscillator driving it. A scanner resamples data in the FIFO at a different rate… so the output is sort of a jittery rendition of the input. Then it dawned on me that I was using the basic architecture of a digital pitch shifter, but really lo-fi.

To understand this concept, imagine that you are flying a helicopter above a highway with cars. Imagine the cars are equally spaced and you are looking down on them. You can fly the helicopter at whatever speed you want to relative to the cars below. You’re looking straight down. Every time a car crosses your view, tap your finger. So, if you are hovering still above the highway, you are tapping at the same speed as the cars (zero pitch shift). If you are flying faster than the cars, you are tapping slower than the actual rate the cars are entering the highway; that is a down pitch shift… fly backwards, and that’s an up shift.

I modeled this in Reaktor and it makes interesting polyrhythms and syncopation when run at rhythm speed. I cranked it up to audio speed and added a guitar input. As a guitar effect, its a really fuzzy and completely inaccurate pitch-shifter, meaning it doesnt shift notes by a constant interval; the interval depends on the pitch you play. Somewhat like a ring modulator crossed with a bit crusher. Ascending scales can become descending scales and vice versa. All very fuzzy and clipped sounding.

WaveFucker panel

Wavefucker in Reaktor

Anyhow, since I’d rather play with hardware than software, I designed the Reaktor patch as something that could be translated to hardware based on 4000-series CMOS logic. It turns out it can be done with only six IC’s! I sketched out a schematic and laid out a protoboard using Eagle. About 8 hours of assembly and the hardware version was up and running on a 9V battery.

WaveFucker prototype

My hardware WaveFucker has these controls:

  • fuzz gain; high-low gain button
  • “freq” oscillator w/ high-low range button (50Hz - 14kHz)
  • “spectrum” oscillator w/ high-low range button (50Hz - 14kHz)
  • scan forward/reverse button
  • scan freeze button
  • filter drive knob
  • filter frequency knob
  • filter LPF/BPF button
  • fuzz / wavefucker blend
  • feedback mode button

The fuzz circuit is adapted from Craig Anderton’s Tube Sound Fuzz, and the filter is adapted from the PAiA Syndrum circuit. I borrowed the basic idea of the blend control from a MiniMoog schematic; its an H-pad with the middle resistor replaced by a potentiometer; the potentiometer’s wiper goes to ground, and the output resistors go to the inverting input of an op-amp. In the MiniMoog, this is behind the OSC3-Noise blender knob.

Here are some recordings of the hardware version in Feedback mode; its oscillating with no outside input. Its playing through a small Fender amp with the reverb turned up.

wavefucker feedback #0

wavefucker feedback #1

Visit this page for more sounds of the WaveFucker.

In feedback mode, all of the controls are interactive and it gives a surprising range of sounds with bizzare harmonic structure. The results are quite similar to the Reaktor patch but hold some nice surprises and a more organic tone. Some of the sounds remind me of the bizzare trashed-out organ noises in the beginning of Facelift by Soft Machine… BTW, if you know what Mike Ratledge did to the organ to make it sound like that, please let me know!

I haven’t gotten around to recording the WaveFucker as a guitar effect but I will post that in the future.

For those who are interested, you can download WaveFucker as a Reaktor patch. You should be able to use it as a VST if you have Reaktor installed: WaveFucker for Reaktor. The main difference is the implementation of a short delay in the feedback loop. The hardware version has no delay. The cool thing about the delay is that it gives the WaveFucker a pitch memory. Play a guitar note into it, and (properly adjusted) once you let off the note, the pitch is remembered and continues to play indefinitely until you play the next note. Very weird!


About this entry