Giter Club home page Giter Club logo

howto_co34pt_livecode's Introduction

howto_co34pt_liveCode


About

howto_co34pt_liveCode is an attempt to extensively document my live-coding music practice. I live code as co¥ᄀpt, mostly making dance music (including for Algoraves), but I have also employed live coding as part of some other projects. This repo contains a number of articles and essays listed in this contents page which cover various aspects of my live coding practice from the ground up, and also contains a number of files to support your use of SuperCollider in the way that I use it. More info about this in 'What This Repo Is'

This resource is hosted both on GitHub and on GitHub Pages (you will likely already be on one of these). I'd recommend browsing articles on GitHub pages, and if you want to use any of the examples, see any SuperCollider code and use my setup I'd recommend downloading the repo, this will be covered in 'How To Use This Repo'. There is also e-book versions of the 'first edition' of this repo in the Documents folder in epub, pdf and pages format. Huge thanks to @shamansir for putting these together.

This repository is in a 'finished' state. While i'm sure improvements could be made, I don't intend on changing or updating it!

I'm always keen to know the ways in which this has been helpful to anyone, or any comments you have at all. Drop me a line on Twitter, GitHub or via [Email](mailto:theseancotterill atsign live period com)

CONTENTS

  1. Introduction:
    1. What this Repo Is
    2. Why I live Code
    3. Why SuperCollider?
    4. How To Use This Repo
  2. Basics:
    1. Recommended Addons
    2. ProxySpace - Live Coding in SuperCollider
    3. Setup Code: Making Performance Easier
    4. Pbinds and Patterns: The Basics
  3. Rhythm:
    1. Rhythmic Construction for Algorave Sets
    2. Basic Rhythms
    3. Techniques for Modifying Rhythm
    4. Euclidean Rhythms
    5. StageLimiter Abuse
    6. L-Systems for Rhythm
    7. Looping
  4. Melody and Pitch:
    1. Pitch and Patterns
    2. Types of Pitch Arrangement
    3. Riffs
    4. Pitch and Static Synths
    5. Between Pitch and Noise
    6. Good SynthDef Writing for co34pt_livecode
    7. Using MIDI
  5. Non-Pattern Techniques:
    1. Drones
    2. SuperCollider as a Modular Synth
  6. Visuals:
    1. FreqScope and Visuals
    2. OSC and Data Streams
    3. Using Datasets

If any content does not work, please open an issue/pull request. These examples have been tested on *ubuntu 16.10 only thus far.

howto_co34pt_livecode's People

Contributors

akaihola avatar floschinnerl avatar kisielk avatar lemonnguyen avatar madskjeldgaard avatar sputtering avatar theseanco avatar upow1234 avatar vpratz avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

howto_co34pt_livecode's Issues

How to use proxies in array?

Do you know any way to apply proxies more dinamically in arrays, list or something?

// For example
(
~s = nil!2;
~s[0] = Pbind(\instrument,\default,\dur,Pseq([0.5,Pseq([1],inf)],inf),\amp,1);
~s[0].play;
~s[1] = { Pulse.ar(130, Saw.kr(0.3)) * 0.1 };
~s[1].play;
// Then be able to change: 
~s[0] = Pbind(\instrument,\default,\dur,Pseq([0.5,Pseq([0.25],inf)],inf),\amp,1);
)

Single letter names for Proxies

"single letter variables can't hold a proxy, I generally use them to hold other things such as lists if I need them during performances.

I don't know why single letter variables don't work. They just don't."

In what way don't they work? Is there some way they behave differently?
I have files going back to 2012 that contain one letter proxies. (Admittedly they're static setups rather than performances, so they might fail if I tried to do something 'live' with them)

thisProcess.nowExecutingPath returns nil in SC VIM

The setup file does not work on SC Vim (only tried on Mac OSX) and returns this error:

ERROR: Message ‘dirname’ not understood

The problem is somehow the .nowExecutingPath method. According to the docs: “This method is supported in the SuperCollider IDE, the Macintosh-only SuperCollider.app, and the scel (SuperCollider-Emacs-Lisp) environment. In other editor environments, it will return nil.”

Running just thisProcess.nowExecutingPath does in fact return nil. And thus the .dirname method is not understood cause it's run on nil.

I'm not sure what the alternative would be yet but I'll do a little digging

404: Missing links from ProxySpace page

Quarks.install("ddwSnippets") OSX issue

When evaluating

(
Quarks.install("Bjorklund");
Quarks.install("BatLib");
Quarks.install("ddwSnippets");
)

I get:
Installing Bjorklund
Bjorklund installed
Installing BatLib
BatLib installed
ERROR: Quark 'ddwSnippets' not found

However, I am able to install it with Quarks.install("https://github.com/jamshark70/ddwSnippets.git");

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.