Skip to main content

Quick Play with SonicPi



I often play with the brilliant Sonic Pi https://sonic-pi.net/ for a bit of fun, but let's be clear I have no musical ability.

To get my head around it I tried turning thee one tune I know "Hot Cross Buns" for the recorder into a tune. I found a useful webpage https://newt.phys.unsw.edu.au/jw/notes.html to turn the notes into the MIDI number (60, etc) . Played with the synthesier sounds and choose tech_saw just because I liked it. The code is below

use_synth :tech_saws
2.times do
  play 71
  sleep 0.5
  play 69
  sleep 0.5
  play 67
  sleep 0.5
end
4.times do
  play 67
  sleep 0.25
end
4.times do
  play 69
  sleep 0.25
end
play 71
sleep 0.5
play 69
sleep 0.5
play 67

Also tried it with changing the synth to prophet

Also tried to make it a bit more mournful (possible slightly aggressive) with minor chords - I used https://en.wikipedia.org/wiki/Minor_chord#:~:text=In%20music%20theory%2C%20a%20minor,is%20called%20a%20minor%20triad. to get the notes in combination with the MIDI notes list (I still think I got it wrong!)
use_synth :prophet
2.times do
  play 71
  play 62
  play 66
  sleep 0.5
  play 69
  play 60
  play 64
  sleep 0.5
  play 67
  play 70
  play 62
  sleep 0.5
end
4.times do
  play 67
  play 70
  play 62
  sleep 0.25
end
4.times do
  play 69
  play 60
  play 64
  sleep 0.25
end
play 71
play 62
play 66
sleep 0.5
play 69
play 60
play 64
sleep 0.5
play 67
play 70
play 62
sleep 0.5


Adding sound effects is great fun - same code as above with a slightly techno sound to it

use_synth :prophet
with_fx :ixi_techno do
  2.times do
    play 71
    play 62
    play 66
    sleep 0.5
    play 69
    play 60
    play 64
    sleep 0.5
    play 67
    play 70
    play 62
    sleep 0.5
  end
  4.times do
    play 67
    play 70
    play 62
    sleep 0.25
  end
  4.times do
    play 69
    play 60
    play 64
    sleep 0.25
  end
  play 71
  play 62
  play 66
  sleep 0.5
  play 69
  play 60
  play 64
  sleep 0.5
  play 67
  play 70
  play 62
  sleep 0.5
end

or alternatively

use_synth :prophet
with_fx :ixi_techno do
  2.times do
    play chord(:b4, :minor7)
    sleep 0.5
    play chord(:a4, :minor7)
    sleep 0.5
    play chord(:g4, :minor7)
    sleep 0.5
  end
  4.times do
    play chord(:g4, :minor7)
    sleep 0.25
  end
  4.times do
    play chord(:a4, :minor7)
    sleep 0.25
  end
  play chord(:b4, :minor7)
  sleep 0.5
  play chord(:a4, :minor7)
  sleep 0.5
  play chord(:g4, :minor7)
  sleep 0.5
end

I am the first to admit I have little musical knowledge but playing with Sonic Pi is still good fun; just changing the sound effects (like changing it to whammy and getting it sounding like aliens) is enjoyable.

All opinions in this blog are the Author's and should not in any way be seen as reflecting the views of any organisation the Author has any association with. Twitter @scottturneruon

Comments

Popular posts from this blog

Robot Software

In the previous blog posts for this 'series' "It is a good time...."  Post 1  looked at the hardware unpinning some of this positive rise in robots; Post 2  looked at social robots; Post 3  looked at a collection of small robots; Post 4 looked at further examples of small robots Robots, such as the forthcoming Buddy and JIBO, will be based some established open sourceand other technologies. Jibo will be based around various technologies including Electron and JavaScript (for more details see:  http://blog.jibo.com/2015/07/29/jibo-making-development-readily-accessible-to-all-developers/ ). Buddy is expected to be developed around tools for Unity3d, Arduino and OpenCV, and support Python, C++, C#, Java and JavaScript (for more details see http://www.roboticstrends.com/article/customize_your_buddy_companion_robot_with_this_software_development_kit ).  This post contin ues with some of the software being used with the smaller robots.  A number ...

Speech Recognition in Scratch 3 - turning Hello into Bonjour!

The Raspberry Pi Foundation recently released a programming activity Alien Language , with support Dale from Machine Learning for Kids , that is a brilliant use of Scratch 3 - Speech Recognition to control a sprite in an alien language. Do the activity, and it is very much worth doing, and it will make sense! I  would also recommend going to the  machinelearningforkids.co.uk   site anyway it is full of exciting things to do (for example loads of activities  https://machinelearningforkids.co.uk/#!/worksheets  ) . Scratch 3 has lots of extensions that are accessible through the Extension button in the Scratch 3 editor (see below) which add new fun new blocks to play with. The critical thing for this post is  Machine Learning for Kids  have created a Scratch 3 template with their own extensions for Scratch 3 within it  https://machinelearningforkids.co.uk/scratch3/ . One of which is a Speech to Text extension (see below). You must use this one ...

Escape the Maze with a VR robot - Vex VR

You don't need to buy a robot to get programming a robot, now there are a range of free and relatively simple to start with robot simulators to play with. Three examples are listed below: - Make code for Lego EV3  https://robotsandphysicalcomputing.blogspot.com/2020/05/programming-robots-virtually-3-lego-ev3.html   - i Robot simulator  https://robotsandphysicalcomputing.blogspot.com/2020/04/programming-robots-virtually-2-irobot.html - Vex robotics Vexcode VR   https://robotsandphysicalcomputing.blogspot.com/2020/04/programming-robots-virtually-1-vexcode.html   It is the last one of these ( https://www.vexrobotics.com/vexcode-vr ) that is the focus of this post and return to hit, after an earlier discussion in  https://robotsandphysicalcomputing.blogspot.com/2020/04/programming-robots-virtually-1-vexcode.html   .  Two of the nice things about the package, apart from being free, are it uses a Scratch-like programming language and it provides a ...