endless-stairs
A shepard tone generator
Description
One of the first Eurorack modules I owned was the Make Noise Telharmonic. I loved messing around with the Spiratone mode on that module, but sadly I sold the module and replaced it with Just Friends. Now Just Friends has Spiratone too, with a little help from Crow and Norns!
This script has a simple SuperCollider engine that can be used without Crow or Just Friends.
Requirements
- norns
- crow/just friends with i2c connection (optional)
- grid (optional)
Documentation
E2 selects the param id to edit
E3 changes the value of the selected param
Visualizer Params
pitch_min = minimum pitch in semitones (0 to 127)
pitch_max = maximum pitch in semitones (0 to 127)
num_voices = number of voices to use when generating a tone (1 to 40, just friends only uses the first 6)
voice_spread = number of semitones between voices (0 to 127)
voice_detune = additional spread between voices in cents (0 to 100)
time_interval = milliseconds between updates (13 to 1000, anything less than 13 seems to cause i2c issues)
gliss = toggle between glissando and pattern mode
pitch_interval = number of cents to increment each voice by on each update (-100 to 100)
amp_curve = function used to determine voice amplitude (linear, raised cosine, or gaussian)
gaussian_width = width of the gaussian amplitude curve in semitones (0 to 127)
drone = disable envelope generator on internal engine
decay = envelope decay time for internal engine
Voices are generated dynamically from a single offset. All voices wrap around the min/max pitch, so changing min_pitch, max_pitch, num_voices and voice_spread can create some weird patterns.
Glissando Mode
The tone is incremented by pitch_interval cents every time_interval milliseconds.
Pattern Mode
The tone is incremented by the current pattern step offset in semitones every time_interval milliseconds. The pattern step is incremented by one on each update and wraps at the end of the sequence.
Each step in the pattern can increment the sequence by +/- 0-12 semitones. A step can also contain a rest, preventing the tone from triggering.
Patterns can contain 1-64 steps.
Currently patterns can only be edited in the params menu or with a connected grid.
Grid Pattern Editor
Known Issues
- Changing
num_voices does not always disable voices on Just Friends
Roadmap
Sequence/pattern editor improvements
- Clock sync
- Split voices in stereo
- Crow input/output mappings
- Resonant bandpass engine for audio processing?
Download
v1.0.0 - zip download
github