Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Supercollider client for ruby.
tree: bb621b29fa

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
extras/Ruby Live.tmbundle



Is a bare-bones SuperCollider livecoding library for Ruby, it provides comunication with a remote or local scsynth server and SynthDef creation with a in a similar way to Sclang.

SynthDef creation and sending is robust but some features are not implemented such as SynthDef variations and others I may not be aware of.

livecode.rb executable is located in the bin directory and a TextMate bundle included in extras permits livecoding from TextMate, comunication is thrugh *nix pipes. Similar functionality shouldn't be too dificult to implement from Emacs or Vim.


require 'scruby'

s =
s.boot :fm do |freq, amp, dur|
  gate     = Env.perc(0, 0.2)
  mod_env  =[600, 200, 100], d(0.7,0.3) * dur), gate
  mod      = freq * 1.4, :mul => mod_env
  sig      = freq + mod
  env      = [0, 1, 0.6, 0.2, 0.1, 0 ], d(0.001, 0.005, 0.3, 0.5, 0.7) * dur ), gate, :doneAction => 2
  sig      = sig * amp * env [sig, sig]
end.send :fm, :freq => 200, :amp => 0.8, :dur => 5

To start a live coding session:

$ livecode

The gem includes a TextMate bundle for interacting with the live coding session, currently there is no cli installation but is located in the extras folder, if a file has .live.rb extension the bundle is loaded.

Text can be sent from textmate to the live session pressing enter, either a selection or a bunch of code.

Sending text from another editor or the shell:

$ echo '...some ruby code...' | tr '\n' '∂' > `ruby -e "require 'tempfile'; puts Dir.tmpdir"`/ruby_live.pipe


Receive OSC messages from SuperCollider


Copyright © 2008 Macario Ortega

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <>.

Something went wrong with that request. Please try again.