Revised computer keyboard note input for Sonic Pi

A new version of code to enable you to use your computer keyboard for note input in realtime forĀ  Sonic Pi.

Full details on this page, including links to a video and to the code required.

Advertisements

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