Itchy! sample scratching preset

This is another one of my “I don’t have a clue what I’m doing” threads, but since they usually turn into interesting discussions, and possibly a usable unit at the end here it goes.

I’m trying to make a “scratch” effect unit for playing back long samples (beats, songs, loops) and messing with the playhead in realtime. The most logical candidate for the purpose in my head is the sample scanner, but I haven’t done too much with this unit and my experiments didn’t yield satisfying results to develop further. So I’m wondering: is the sample scanner indeed the best candidate for the job or do I need a non-existing feature on the sample players? While trying to achieve this effect with the sample scanner these were some problems I encountered:

  • Playing back different samples with different length at speed:1 is the biggest challenge I believe. I tried to achieve a “normal” sample playback with a saw wave modulation of the “center” parameter, but it seems the exact gain and frequency settings will always be relative to the sample length, thus very impractical for regular playback. Is that correct?
  • Even if normal playback is somehow achieved, I’m at a loss at how to take control of the playhead at the exact point where it is currently playing with another modulation and make it go back or forward just a bit to “scratch” the sample, and then continuing playing the sample.
  • I have been able to achieve a scratch-like effect by manually moving the center parameter around but:
  • Connecting the center parameter to an offset from my modular appears to receive a constant stream of tiny voltages making the playhead jitter and produce a lot of unwanted noise. I could make this effect stop by putting a LPF after the incoming CV but this also changes the signal quite a bit so I’m not sure what the best way to go about this is.

That’s where I’m at so far. If anyone has ideas on this, shoot

EDIT: preset download, demo and full info here Itchy! sample scratching preset - #6 by Bparticle

I did it using Planar as a turntable-ish control, and the gate button on it to control a VCA, crab-scratch style. Video and short patch description here:

Happy to answer questions if that’s not clear enough, though it’s been a hot minute.

1 Like

The Varispeed Player will give better quality results. Have you tried putting your scratch CV through a Fixed HPF (*) and then into the speed control (with bias set to zero, gain set to one)? Make sure slice polarity is symmetric. Expect some slippage though.

(*) Scratch CV is (a kind of) position. A high pass filter is (a kind of) derivative. Hence high pass of the scratch CV is (a kind of) speed.


Well this was just too easy. But so cool!!! I made this quick patch (literally 3 minutes) based on the tips and examples by @odevices and @jj.kidder, using the motion sensor by @Joe to open and close the VCA for the background loop. Then Squarp Pyramid touch pad CV to the “speed” parameter of a Variable Speed sample player with gain set to 4 in order to have a -2 +2 range of speeds depending on the incoming CV. Easy peasy. If I would want the sample to pick up speed 1 again after scratching I think I will use another motion sensor to make it happen. VERY HAPPY, ER-301 just ROCKS every single time.

I’m looping a drum pattern from the Analog Rytm into the modular, and the sample I’m scratching is an interview with child actors from “les 400 coups” by Truffaut, French brats talking back and forth.

(I filmed this with my phone for reference, sorry for crappy video and audio reflections, it reminds me that I need acoustic treatment in this room.)


impressive proof of concept!
i don’t mind the crappy sound as long as i can hope for trying out
your preset in my own high fidelity bubble (i.e. the hope you’ll
share your findings when you’re done :slightly_smiling_face: )

A little preset is born from this thread and it’s called Itchy :slight_smile: This is a Two band stereo preset that has one band reserved for an audio loop or external audio coming in (or any internally or externally generated audio for that matter), and one band for scratching action.

Controls are:

  • Scratch > incoming scratch CV (from a joystick or fader for best results. Knobs won’t do the trick)
  • Mix > How the two bands are mixed together while scratching (more information on this underneath)
  • Switch > Randomizes the slice that is looping
  • Fire > Re-triggers the slice
  • Damping > Closing a Low-pass filter after the slice when sound is too harsch. I’m using the Y axis in the demo and it makes for a very controllable experience.

To get started, put your incoming audio in Band 1, one level down in the Mixer called Input, and place a sample with some nice, scratchable slices in the Scratch Sample Player in Band 2. Connect fast, gestural CV to both the Scratch and Damping parameter and start jamming. I’m using -5V to +5V CV from Shuttle Control and gain values are optimized for these voltages. For the Scratch parameter 0V is zero sample playback speed, +5V is double speed forward and -5V is double speed playing backwards. Adding the filter control Damping to it makes for a lot of variation even with one slice looping.

About the Mix parameter:

At the center (0) the two bands will be mixed evenly at all times. All values below 0 will subtract from the level of Band 1 while scratching, otherwise the two bands will be mixed normally. So at -1 Band 1 is completely turned off while scratching, like a ducking effect. All values above 0 will subtract from the level of Band 2 (the scratch loops). So at value 1 you only hear the loop when you are actually scratching. I admit that this feature is a little contrived and I might split them up in two paramters in future versions, but for now I think it’s fine.

Dependencies: Accents of course (Some new Units to share - #199 by Joe). Motion Sensor unit is vital and I’m also using the Scaled Random unit.

Firmware 0.4
CPU usage: 25%
Download: Itchy.unit (27.3 KB)

This is another little demo using the same audio elements like the last one but this time recording sound directly in the camera and using the preset rather than the “mockup”, so with added LPF control and everything in one place. In this version the Mix parameter is not yet implemented so the external audio is just ducked with a certain fixed amount while scratching (as if the Mix parameter would have been at -0.3 for example.)