56228375's code

simple timeline for patterns

29 Apr'20 18:20 in patternbeattimeline

simple timeline for scheduling start and stop of patterns at specific beats (and an experimental extension with absolute time scheduling)

drum sequencer to drive external midi device or software like ableton


Simple drum machine in supercollider (with presets!). Even if the code is not very sophisticated, it offers some possibilities not widely available in commercial sequencers, like arbitrary polyrhythms and some control over generated timing and amplitude variations. Swing is not implemented, but most likely one can use the approach from the pattern guide. Why search the net for drum loops in your preferred tempo if you can easily generate them yourself?

midified arpeggiator/auto-accompaniment using patterns

Proof of concept code for a midified arpeggiator/auto-accompaniment system, quickly reacting to chord changes Midi is received as input, and supercollider's default instrument (I know, I know) is generating the output. This code is accompaniment to a blog article at https://technogems.blogspot.com/2020/01/making-arpeggiator-in-supercollider.html Let me know if you have ideas for improvement! (code-wise or feature-wise)

instant nostalgia with wow and flutter

31 Aug'19 09:22 in effectwowflutternostalgia

add instant nostalgia to your music with a touch of wow and flutter link for the sample: https://drive.google.com/file/d/1qysrKqJ0S6Huub4mEKp2Gk8FJqq-gK1C/view?usp=sharing (probably not a physically accurate emulation)

some missing string operations: split on regex; replace regex; between regex

some useful string operations which appear to be absent in sclang

Walsh-Hadamart transformations in supercollider


This code is accompanied by a blog article: https://technogems.blogspot.com/2019/05/walsh-hadamart-transformations-in.html . It's a straightforward implementation of walsh hadamard transformations. The Walsh-Hadamard transform mathematically decomposes a signal into PWM square waves. This is different from the Fourier transform which decomposes signals into sine waves. The Walsh-Hadamard transform also has the cool property that it is its own inverse (applying it twice gives you the original signal back - but scaled with some constant). This code only contains the transformation. It could be an interesting experiment to use this building block for making filters by manipulating the walsh spectrum.

Automatic composition of tonal canons

1 1

Slightly older project which I forgot about until I hit on it by coincidence again... having some fun generating tonal canons (using the terminology "tonal" no doubt is a bit of stretch...). The music starts off slowly, then gradually adds voices and rhythmic variations playing in canon and after a while dies out. You can tweak some parameters in the beginning of the program, e.g. to generate microtonal canons or to generate more/less voices, assign different instruments, transpositions, to generate more/less variations. Some probabilities are hard-coded in the program. It should be easy to make these configurable too. It's basically a translation into supercollider of an older python based canon generator I once made (see http://a-touch-of-music.blogspot.com/2013/08/algorithmic-composition-generating.html for some explanation and a link to the python code).

Generating Graphics and Music From The Dragon Curve


This minimal music generator uses a Lindenmayer system to generate composition instructions. Interpreting those same instructions twice with some randomness yields a kind of 2-voiced minimal music.This code depends on the Panola quark and the LSystem quark. Install them with Quarks.install("https://github.com/shimpe/panola"); and Quarks.install("https://github.com/shimpe/sc-lsystem");

Panola - pattern notation language tutorial

11 May'18 17:03 in patterntutorialpanolanotation

tutorial for the panola pattern notation language

stranger things

First 30 seconds or so of the obligatory "stranger things" theme. I didn't make any serious attempt to perfectly clone the original sounds, but I feel like they live in a similar sonic universe. For my own convenience, this depends on the TheoryQuark from https://github.com/shimpe/theoryquark : just unpack it in the directory that opens when you open scide -> "file menu" -> "open user support directory" and then restart scide (or recompile the class library using the "language" -> "recompile class library" menu). It uses some instruments I made myself, as well as some I collected from sources which unfortunately I don't remember (probably sccode.org and/or mailing list).

supercollider implementation of padsynth algorithm.

13 Jan'18 06:22 in patternpadpadsynth

An implementation of Paul Nasca Octavian's excellent PadSynth algorithm in supercollider, driven from patterns. This code is accompanied by a blog article http://technogems.blogspot.be/2018/01/baking-sound-in-supercollider.html


03 Dec'17 18:19 in padsadtheoryquark

( Requires the theory quark from https://github.com/shimpe/theoryquark ) Moments before life support was to fail, a supercollider satellite was ejected into deep space lamenting their brave but foolish undertaking. Eons later it still floats in empty space, sole witness of times long gone by. To install the quark, just unpack it in the directory that opens when you open scide -> "file menu" -> "open user support directory" and then restart scide (or recompile the class library using the "language" -> "recompile class library" menu)

audio transitions

19 Aug'17 05:06 in transitiontutorialeffects

Code used in the blog article about audio transitions https://technogems.blogspot.be/2017/08/audio-transitions-in-supercollider.html The program proposes a few ways to gradually switch between 2 sounds that go further than simple crossfading. Can you think of other ways?

Scoring a movie with supercollider

This is the supercollider code used in the tutorial about creating a generative movie score with supercollider and blender. The tutorial itself is located here: part I about using markers on blender's timeline to trigger OSC commands at https://technogems.blogspot.be/2017/08/scoring-movie-with-supercollider.html and part II about using blender's keyframes and animation curves to animate parameters in supercollider at https://technogems.blogspot.be/2017/08/scoring-movie-with-supercollider_12.html

Re: DWG sitar model


fork of a sitar model by @snappizz... it sounds better to me although I have no idea how it's supposed to sound. Modifications are in the plucking (while playing with the example I found that the envelope and spectrum of the plucking has a significant influence on the resulting sound - I went for a sharper sound) and I added a GVerb for additional metallic resonance. Feel free to further improve :)

Scribble Squiggle

09 Aug'17 09:40 in squigglerecordplay

Alternative way of squiggling: instead of modeling the squiggle with math formulas you can also just draw it by mouse, record it and then play it back (after optionally transforming it) to drive some synths.

Squiggle squiggle

A more extensive squiggle session. Construction is detailed in a blog post http://technogems.blogspot.be/2017/08/automating-squiggles-in-supercollider.html . This uses a pattern to switch between synths that do nothing but generate x,y control signals (each synth generates one squiggle, and the pattern glues all squiggles together). The control signals then are used in a synth that generates sound. The intention of the squiggles is to (mathematically) recreate the fun effects you can get when playing with MouseX and MouseY in supercollider. To show what is happening, the squiggles are also visualized while they are being generated. Increase the ~allPoints array size to get a longer visualization tail.

I need you

07 Aug'17 18:13 in xenakissquigglegendy

Iannis Xenakis begging us from the grave: "I need you! I need you! I need you!...". This code is based on an example from the Help documents that uses MouseX.kr and MouseY.kr, but I've replaced the MouseX and MouseY with a "2d squiggle". I wrote a blog post that explains how to generate "2d squiggles" like these (as well as completely different ones) - see http://technogems.blogspot.be/2017/08/automating-squiggles-in-supercollider.html . If you run the code also a scope will appear. Put it in X/Y mode to see the squiggle as it is being generated and executed.

Those were the times

04 Aug'17 07:21 in pmonobrown noise

When this generative song was released in 2342 it immediately rose to the top spot of the intergalactic U2B channel, easily breaking the all time record of 7 trillion immersive experiences in the first millisecond. Critics praised the composer for the extraordinary independence of melody lines, the bass player for her virtuoso finger picking, the artificially intelligent blender for its awesome shredding and the sopranos for their colorful voice, their extraordinary range and masterful display of subtle vibratos. Sheer excitement reportedly caused entire audiences to grow an extra pair of whiskers during the solos. Those were the times.

Movie without images

24 Jul'17 18:06 in soundscapealienating

Requires supercollider 3.9dev. (But you probably can use older versions if your replace Done.freeSelf with number 2.) All sounds are synthesised - no samples are used. Some sounds I designed myself, others I reused from various tutorials, help files and other places (like sccode.org). All sequenced into a soundscape of some sorts.

heavy breathing


An attempt at emulating a breathing sound. Originally made using sonic-visualizer, based on the spectrogram of the first breath in this recording: http://freesound.org/people/gogo199432/sounds/198025/, and then edited to make it sound longer. Note: needs supercollider 3.9dev.

granular AM synthesis

My first composition that goes beyond tweaking documentation examples. It uses a kind of granular synthesis where each grain is a short AM synthesized fragment. No filters or other effects are used. With some OSC based "score" visualization from patterns. Using Pdef to dynamically replace patterns. Parameters related to distribution of the grains as well as the parameters of the AM synthesis (construction of the grains) are varied over time to create some evolution in the piece.