Skip to content

Instantly share code, notes, and snippets.

View vgiles's full-sized avatar

Vincent Giles vgiles

View GitHub Profile
@vgiles
vgiles / PaganinGiles idea
Created February 10, 2017 09:58
SuperCollider Fractal Thing (Paganin/Giles idea)
s.boot; // execute this line first
s.makeGui; // then execute this one if you want to be able to record the output
( // then double click at the closing parenthesis and execute all other code
// define variables that I need to define. f = base frequency, ff = bass frequency plus irrational augmentation, output = stereo, tau = tau
var f, ff, output, tau;
f = 261.6/8; // middle C is 261.6, but perhaps a lower frequency would work, hence the /8
tau = 1.618033988749894848204586834365638117720309179805762862135;
ff = f + tau/1.56; //this number can be changed however, however, the new synth must be re-added
SynthDef.new(\fractal,
@vgiles
vgiles / VG_ES2_SuperColliderSynthesisDemo.scd
Created February 14, 2017 05:17
ES2 Basic Synthesis Demo
/*
Synthesis demonstrations. A2ES2 17T1.
Vincent Giles
Ref: The Theory and Technique of Electronic Music, Puckette 2006.
*/
s.boot;
s.quit;
s.freeAll;
s.scope;
@vgiles
vgiles / VG_Wavetable.maxpat
Created February 14, 2017 06:04
Wavetable thing for ES2VGILES
<pre><code>
----------begin_max5_patcher----------
1094.3oc4YkrbbBCD87LeETbLkSLsVXI2xGfujqoRkRCnYLo.wTfFujTwe6A
jD1X6YQCEK0j3CPIYAS+dp6W2p42KW3tp3Adkqymc9lyhE+d4hEpoZlXgY7B
2b1CwYrJ0xbiKxy4Bo6U5+mj+fTM+8r63R1pL90qya+mhc4ohLtT8jvKSVrS
1NqmY1J4iYb0Kp8g2xjw2lJ17iRdrTaggjnO4ckCDhU2ndM2P0Wc9t4gRSTu
ihU+7ij.2l49yxkMWtxR3sNqn1.OC.fLypmR93Vt1Vqwgi6JlXi6yFmUXzOx
WgJhBiFHh5.w0Ek4L0h8eOnCe4MWxx4Rd4O3hlcEEW2C9Pvuu989tc6O7zdo
HzdoH3PTTU5FAK6bIH.0vIXjxWn9J8MDTG5f5NbPN9w3L9SNvmlOjSBUH2S6
ZD9NWiNHG0GjmyqpXa3uC5hFWtrzewGHzel3FCJnBAPys.+igabTe.9FVp3o
@vgiles
vgiles / VG_counterpoint.txt
Created February 15, 2017 05:02
CounterpointA2CM2 VGILES
Cantus Firmus — Writing a simple but well-structured melody
1. All whole notes (semibreves)
2. 8-13 notes long
3. First and last note must be the tonic
4. Second-last note must be the note above the tonic
5. Conjunct (stepwise motion) primarily (leaps for dramatic effect)
6. (Melodic) intervals of M m 2, M m 3, P 4, P 5, m 6, P8
7. Avoid dissonant intervals (Aug/Dim, M6, m7, M7)
8. Leaps > P4 must be exited by step in the opposite direction.
@vgiles
vgiles / GlitchyMcGlitchFace.scd
Created November 25, 2017 07:58
Makin' some glitchy stuff in supercollider

/* I am planning on making an Autechre-style glitchy piece. This will require me to learn patterns, rather than my former use of tasks.

Things to do:

-- Design some nice glitchy synth sounds, with variations that include longer sounds. -- Learn how to define patterns that are repetitious or chaotic or both -- Figure out how to define a form based on patterns -- algorithmically? Formally? Performatively?

*/

@vgiles
vgiles / vignette#1
Created June 16, 2018 07:36
Vignette#1_For_AnyInstrument_Graphic_Score_PROCESSING
// Things to make: staff, clefs, stems, beams, noteheads.
// basic_staff
class basic_staff {
int xStart;
int yStart;
int xEnd;
int TopLeft;
int Gap = 10;
@vgiles
vgiles / flipper-workshop-18sp3.scd
Created November 28, 2018 23:29
Flipperoo SC 18SP3

/* WELCOME TO VINCE'S COMPUTER ASSISTED COMPOSITION AND IMPROVISATION WORKSHOP 2018 AND WELCOME TO SUPERCOLLIDER! A PROGRAMMING LANGUAGE FOR MUSIC AND DIGITAL SIGNAL PROCESSING.

IN AN EMERGENCY, PLEASE FASTEN SEATBELTS AND NOTE THAT TO STOP ALL SOUND, PRESS CMD + ., or ALT and + (WIN)

Programming can be scary, and indeed, I still find SuperCollider quite scary and am relatively new to it! There are a couple of key concepts to understand:

  1. How code actually works.
  2. How functions work.
@vgiles
vgiles / oliveiro.scd
Last active May 24, 2019 05:56
oliveiro
s.boot;
(
SynthDef.new(\yay, {
|
freq = 40,
amp = 0.4,
atk = 0.002,
rel = 0.08
|
s.boot;
s.quit;
s.meter;
(
// defining a kick sound
SynthDef.new(\kick, {
|
freq = 40,
void setup() {
background(0,10,0);
size(800, 250);
}
// global variables
int mousePosX = 1, mousePosY = 1, fillVal = 0, strokeVal = 255, value = 0, fillR = 0, fillG = 0, fillB = 0, aPoop = 0, limit = 200, trig = 1;
float floR, floG, floB, floA, noiseValX, noiseValY;
// drawing animation