56228375
56228375's code
Show a chord in music notation in a sclang window
showing a chord in a supercollider window in music notation using the Fosc quark
One chord requiem
1Generating minimal music by repeating a random chord over and over again, varying individual note volumes (and after a while also timings) to bring out different aspects of the chord. Every time you run it, it will generate a new piece. I use it with in combination with a virtual piano. The code is the result of experimentation and is not cleaned up; may still contain useless statements :)
Eternal Elevator Ensemble
3Legend has it that on December 14th of 1287, the day that lives by the name of St. Lucia's Flood, a metalic artifact was unearthed filled with undecipherable hieroglyphs. Long believed to be forged in the fires of hell, mankind had no idea what to make of it... until someone decided to throw it in the flames of supercollider, as it's common knowledge that hell consists mostly of music amateurs. Unless you are made of the stuff that withstands Vogon poetry, you are strongly advised to stay away from this majestic meditation muzak maker that might haunt you for all eternity (maybe it won't, but are you willing to take that chance?!). Lasciate ogni speranza, voi ch'entrate! Synthesizer greatest hits vol. 8, here we come!
Locked In
5 1a surprisingly rich soundscape in a few lines of code (lucky accident)
simple timeline for patterns
1simple 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
1Simple 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
2add 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
2This 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 1Slightly 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
4This 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
3 2tutorial 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.
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
Lamento
( 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
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
3fork 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
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
4Iannis 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
3When 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
2Requires 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
5An 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.
56228375's comments