Sonic Pi controls Spirograph – version 2

I have made some changes to version 1 which makes the program more flexible. The main change is that it is now possible to re-run the Sonic Pi program (now named spiroAuto.rb) which will abort the drawing currently in progress and start drawing a new design. This make it possible to change to a new drawing without having to wait for ` drawing to finish.
Also, instead of just having a few pre-chosen drawing parameters in the program, I now generate the parameters at random (with certain constraints), which means that you can continuously call up new designs. Thirdly I have added an option which changes the plot colour of a drawing to a random value at periodic intervals while it is drawing. This is set to a fairly low probability by line 34 in the spiroAuto.rb program

 p+=[["purple","red","yellow","green","blue"].choose,["saw","tri","piano"].choose,
      ["true","false","false","false"].choose]

To adjust the probability simply change the section

["true","false","false","false"].choose

to give change the ratio of “true” to “false”. e.g. changing the overall line to

 p+=[["purple","red","yellow","green","blue"].choose,["saw","tri","piano"].choose,
      ["true","false"].choose]

would give equal probability to random colour changes or fixed colour drawing.(random when true, fixed when false). Similarly you could give a larger selection of fixed colours in the first part of the list if you wish.

To make the program easier to install, I have put the code into a repository in github at
https://github.com/rbnpi/SpirographWithSonicPi/
From there you can download the repository to your computer, and set it up ready to go following the instructions in the READMEforSonicPi.md file

A video of the new program in action can be found here

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s