Skip to content

jonnor/sndflo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

beadbd2 · Jun 5, 2017
Nov 28, 2014
Nov 28, 2014
Dec 9, 2014
Jun 5, 2017
Nov 22, 2014
Nov 26, 2014
Apr 30, 2014
Nov 24, 2014
Feb 12, 2015
Nov 24, 2014
Nov 26, 2014
Nov 26, 2014
Nov 24, 2014
Nov 21, 2014

Repository files navigation

Data-flow programming for SuperCollider?

sndflo allows to program SuperCollider using the Flowhub visual data-flow IDE.

Status

Proof-of-concept working for wiring up Synth's.

Install

Note: Only tested on GNU/Linux. Should work fine on other platforms with minor adjustments in install.

Prerequities

Install

git clone https://github.com/jonnor/sndflo.git
cd sndflo

# Install as SuperCollider extension, ref http://doc.sccode.org/Guides/UsingExtensions.html
# On Linux
mkdir -p ~/.local/share/SuperCollider/Extensions || true
ln -s `pwd` ~/.local/share/SuperCollider/Extensions/sndflo
# On Mac OSX
mkdir -p "$HOME/Library/Application Support/SuperCollider/Extensions" || true
ln -s `pwd` "$HOME/Library/Application Support/SuperCollider/Extensions/sndflo"

npm install -g node-gyp
npm install

Running

# For Mac OSX only, specify where sclang is
export PATH=$PATH:/Applications/SuperCollider/SuperCollider.app/Contents/Resources/

node sndflo.js --verbose --user MY_FLOWHUB_UUID

Will start up SuperCollider, loading the sndflo runtime and FBP protocol bridge. On success should output something like

Listening at WebSocket port 3569 
OSC send/receive ports:  57120 57122
Registered with Flowhub, should be accessible in UI

Go to http://app.flowhub.io, refresh the runtime list. You should see our sndflo runtime listed, be able to create projects for 'sndflo' and connect.

Note: on GNU/Linux sclang might fail with a segfault if X11 is not available. You can use xvfb-run to work around this.

Vision

  • Program audio pipelines visually, by Synth's wiring together with Busses
  • Program synths visually, by creating SynthDefs by combining UGens
  • Do not replace sclang, integrate with it
    • Allow to use SynthDefs created in sclang in visual pipelines
    • Allow to drive visually created Synth pipelines using sclang Events/Patterns
  • Seamless integration with other FBP
    • MicroFlo for communicating with microcontrollers (sensing/acting)
    • NoFlo for general-purpose use, and generating composition/scores
    • Combined audio processing with noflo-webaudio
  • Program scores visually, using Streams and Patterns

Usecases

  • Generative & algorithmic composed music
  • Reactive and interactive art installations
  • Audio effect pipelines, processing sound inputs
  • Audio and music analysis, feature extraction