View SPVisualiserResizable.pde
//Visualiser for use with Sonic Pi 3 written by Robin Newman, September 2017
// based on an original sketch
//Changes: changed to resizable screen, updated for Processing 3, added colour, added rectangle and star shapes
//added OSC input (from Sonic Pi) to alter parameters as it runs, removed slider inputs.
//input OSC: /viz/float updates STROKE_MAX, STROKE_MIN and audioThresh
// /viz/pos updates XY random offset values (can be zero)
// /viz/col updates RGB values
// /viz/shapes sets shapes to be used from S, E and R (or combinations thereof)
// /viz/stardata sets data for star shapes
View BachBWV537.rb
#bwv537 Fantasia and Fugue in C minor
use_merged_midi_defaults port: "loopmidi_port"
midi_pc 19
#function to play a list of midi notes with corresponding note lengths
define :mplay do |notes,durs,channel,vel=80|
for x in 0..notes.length-1
View SonicPi3Visualiser.rb
#Program to drive Sonic Pi 3 visualiser written in "processing"
#by Robin Newman, September 2017
#see article at
#set up OSC address of processing sketch
use_osc '',5000
#select shapes to show
osc "/viz/shapes","e" #"s" "e" "r" Star,Ellipse, Rectangle or combination
sleep 0.1
live_loop :c do
View crontab -e
@reboot /home/pi/Desktop/
View PULSE.rb
#Sonic Pi3 PULSE-leds workout by Robin Newman, August 2017
#requires the python script to be running to communicate with PULSE-leds
#This requires the python library python-osc to be loaded
#Which can be done with the command: sudo pip3 install python-osc
#Then run the server with python3
#Finally start this program running in Sonic Pi3
#Each vertical column of LEDS corresponds to notes with a different synth
#The higher the pitch of the note, the higher up the column is the illuminated LED
#Every so often the LEDS are "cleared" to a different background colour
View 8NotePolyphonicSetup.rb
#8 note polyphony gated synth setup program
#by Robin Newman, August 2017
#Set initial states for polyphonic synth
set :vm1,0
set :vm2,0
set :vm3,0
set :vm4,0
set :vm5,0
set :vm6,0
set :vm7,0
View index.xml
<?xml version="1.0" encoding="UTF-8"?><layout version="15" mode="1" orientation="vertical"><tabpage name="bmM=" scalef="0.0" scalet="1.0" ><control name="eHkx" x="429" y="95" w="220" h="220" color="red" scalef="0.0" scalet="1.0" type="multixy" inverted_x="false" inverted_y="false" ></control><control name="eHky" x="433" y="690" w="220" h="220" color="red" scalef="0.0" scalet="1.0" type="multixy" inverted_x="false" inverted_y="false" ></control><control name="ZW5hYmxlMg==" x="431" y="942" w="45" h="45" color="green" scalef="0.0" scalet="1.0" type="push" local_off="false" ></control><control name="a2lsbDI=" x="323" y="942" w="45" h="45" color="red" scalef="0.0" scalet="1.0" type="push" local_off="false" ></control><control name="bXV0ZTI=" x="532" y="942" w="45" h="45" color="yellow" scalef="0.0" scalet="1.0" type="push" local_off="false" ></control><control name="dW5tdXRlMg==" x="643" y="942" w="45" h="45" color="green" scalef="0.0" scalet="1.0" type="push" local_off="false" ></control><control name="azI=" x="3
#!/usr/bin/env python3
#ps3 wireless controller interface by Robin Newman July 2017
#converts controller inputs to OSC messages
#which can be output to Sonic Pi 3, running on the local computer, or on an external machine
#rtested with ps3 "afterglow" wireless controller, dongle in Pi usb socket
#needs sudo apt-get install joystick after sudo apt-get update
#also needs sudo pip3 install python-osc
#Version 2. Modified to ensure clean exit on Ubuntu
import subprocess,pygame,sys
#!/usr/bin/env python3 written by Robin Newman, July 2017
#Provides the "glue" to enable the GPIO on Raspberry Pi
#to communicate with Sonic Pi. Sonic Pi can control LEDs etc,and receive
#input from devices like push buttons connected to GPIO pins
#Sonic Pi can be running either on the Raspberry Pi,
#or on an external networked computer
#The program requires gpiod daemon to be running. Yu can install this with
#sudo apt-get update followed by sudo apt-get install pigpio if you don't have it
View HelmWithPercussion.rb
#Sonic Pi 3.0 Example showing midi out, live_audio in
#synchronised drum track and use of at to control volumes
#written by Robin Newman, July 2017
use_debug false
use_osc_logging false
use_midi_logging false
use_bpm 100
#st up rhythm tracks and volumes 0->9
set :bass_rhythm,ring(9, 0, 9, 0, 0, 0, 0, 0, 9, 0, 0, 3, 0, 0, 0, 0)
set :snare_rhythm,ring(0, 0, 0, 0, 9, 0, 0, 2, 0, 1, 0, 0, 9, 0, 0, 1)