The patterns are only intended as demonstrations. I often don’t use them at all but just use a keyboard to send input to Helm and use SP simply to run the TouchOSC interface to that the Helm Synth can be selected from the list displayed on the iPad screen. If you are not seeng this list then there is a problem in Sonic Pi sending OSC messages back to the TouchOSC app on your ipad.
This is a matter of configuring the addresses and ports correctly.
Here are some pictures of my currently working setup (different from the article values).
First the TouchOSC template loaded onto my iPad
Press the white circle top right and you get similar to the picture below
OSC: 192.168.1.10 is the IP address to which OSC messages will be sent from the iPad. that is the ip address of my iMac. Notice also the name of the selected template which I called helmsSelector. Now press the right pointing arrow head on this line, and you get the picture below:
The enable switch for osc should be ON (green)
The Host entry should be set to the ip of your iMac (in my case 192.168.1.10 adjust it to suit your iMac address)
Port (outgoing) should be set to 4560 the port that Sonic Pi listens to.
Port incoming should be set to 9000
make a note of the local IP address. Here is it 192.168.1.164 This is the address of your iPad which will probably be differnt.
Both the iPad and the iMac must be connected to the same local network. For best results the iMac should be wired to the network and the ipad connected by wireless, although it will work if both are wirelessly connected.
Now look at line 11 in the Sonic Pi program running on your iMac. In the download it reads:
use_osc "192.168.1.240",9000 #address and port of TouchOSC device
In the sample I am describing here the ip of the TouchOSC iPad is different so it needs to be changed in my case to
use_osc "192.168.1.164",9000 #address and port of TouchOSC device
Now the sending and receiving addresses and ports should match up and when you run the Sonic Pi program on your iMac program it should populate the TouchOSC screen with the names of the helm synths for the Arp (arpeggio) section, as below:
This shows that the TouchOSC app is receiving data from Sonic Pi.
If you now move the volume slider you should see cues being received in the Sonic Pi cues log, showing OSC data travelling in the opposite direction.
You asked two further points.
First adjusting the patterns played.
You should understand that the patterns are just a means of listening to the selected synth rto see what it sounds like. There are basically 2 note patterns which are both based on a minor pentatonic scale. The first plays the notes in sequence, the second chooses them at random, They are set in lines 211 and 212 of the program. You can put any sequence of notes you like instead of these two scale patterns. The first sequence is chosen by patterns 1 ,3 and 5, the second by patterns 2 and 4. The other thing altered by the patterns is the pitch. Some are low some high. This is so that you can choose one suitable for each synth. Some work better with low notes, some high ones.
The idea is that having selected your synth, you actually play it using a keyboard, or if you like you could substitute a longer tune for one of the patterns.
Secondly the program is meant to be used with the helm audio looped back into sonic pi and its output is then combined with any sounds that might be added by sonic pi, and its volume can be controlled. If you don’t want to loopback the sound the program can be modified to directly alter the helm volume control. to do this you can amend line 70 in the program
this reads:
set :vol,b[0]
you can add an extra statement after a ; to give
set :vol,b[0];midi_cc 40,(b[0]*127).to_i #added optional midi_cc on ch 40 to control helm vol slider
This sends a micdi control signal on channel 40 to helm. If you learn the value whilst adjusting the TouchOSC volume slider then it can control the helm volume directly. Of course you can use another midi_cc than 40 if you wish.
Note if you do this, then the volume scale buttons will have no effect.
Well quite a large post, but I hope it helps you.