PitShift

PitShift

A pseudo-UGen implementation of STK PitShift in SuperCollider. Can be used in norns engines, although it isn’t a full engine itself, and also works in any SuperCollider environment.

Motivation

SuperCollider’s built-in PitchShift UGen is limited to a ratio of 4 (two octaves). This implementation uses interpolating delay lines and doesn’t have that limitation.

Requirements

  • For norns: If you want to use it from a norns engine, put this file anywhere under dust and it will be compiled next time you restart system audio.
  • Without norns: If you want to use it in any other SuperCollider environment, put this file in your SuperCollider include directory (or any other path specified in sclang_conf.yaml).

Documentation

Usage:

{
    PitShift.ar(
        in: SinOsc.ar(),
        shift: XLine.ar(start: 1, end: 8, dur: 10)
    )
}.play;

Longer form writing about the process of making this: Implementing a Pitch Shifter in SuperCollider

Download

https://raw.githubusercontent.com/bitgraves/norns-sandbox/master/common/PitShift.sc

Feedback

I just started learning SuperCollider a couple weeks ago when I got a norns, so let me know if I’m missing something really obvious.

About tags: This doesn’t exactly seem like the “norns” tag, and there doesn’t appear to be a generic SuperCollider tag. Maybe a moderator can help me out? Thanks @tehn!

9 Likes

cool! I’ve been wanting to do a multi FX thing for norns. I could definitely see this becoming part of it…

5 Likes