Sonic-Pi, OSC and Renoise

Howdy folks. I wanted to share a little project I’ve been dabbling around in for creating ambient tracks. I’m using Sonic-Pi to generate note data then sending it to a Renoise DAW via OSC. In the example below, I’m using 5 tracks in Renoise, each with a U-he Zebra2 VST attached to it. Each Zebra2 VST uses a different “program” to generate sound; pads, percussion, leads, etc. In Renoise, it is possible to record the note information in each track from Sonic-Pi for tweaking/editing later or simply forego recording the note data and record the sounds in real time to .wav format.

This is a mostly a proof of concept effort so it’s pretty simple. The first section sends set-up data to Renoise and sets a random seed. The second part contains note parameters and the OSC commands to be executed. I have to work out converting some of the other note data to a number format Renoise can handle. More to come. :slight_smile: Cheers.

# Zebra2 Lake of Dreams 477

use_random_seed 477
use_osc "localhost", 8000
osc "/renoise/song/bpm",110
osc "/renoise/song/tpl",8
osc "/renoise/song/lpb",8
osc "/renoise/song/edit/mode",0
osc "/renoise/transport/start"

with_osc "localhost", 8000 do
  
  live_loop :note1 do	
    A = choose([62,64])
    B = rrand_i(10,90)
    osc "/renoise/trigger/note_on",1,1,A,B
    sleep 8
  end
  
  live_loop :note2 do	
    E = choose([38,40,45])
    F = rrand_i(40,90)
    osc "/renoise/trigger/note_on",2,2,E,F
    sleep 2
  end
  
  live_loop :note3 do	
    C = choose([74,76,79])
    D = rrand_i(20,130)
    osc "/renoise/trigger/note_on",3,3,C,D
    sleep 8
  end
  
  live_loop :note4 do   
    G = choose([60,62,64,67,69])
    H = rrand_i(10,30)
    osc "/renoise/trigger/note_on",4,4,G,H
    sleep 4
  end
  
  live_loop :note5 do   
    I = choose([52, 55, 64])
    J = rrand_i(10,127)
    osc "/renoise/trigger/note_on",5,5,I,J
    sleep 4
  end
end
1 Like