Sonic Pi

Experience the sound of code.

Sonic Pi is your free code-based music creation and performance tool.


Powerful for professional musicians and DJs.
Expressive for composition and performance.
Accessible for blind and partially sighted people.
Simple for computing and music lessons.

Learn to code creatively by composing or performing music in an incredible range of styles from Classical & Jazz to Hip hop & EDM. Free for everyone with a friendly tutorial.

Brought to you by Sam Aaron and the Sonic Pi Core Team.


Live Code Everything

Sonic Pi lets you use simple code to turn your computer into a fully networked live coding music studio:

  • Multi Channel Audio In/Out
  • Well-timed MIDI In/Out
  • Well-timed OSC (Open Sound Control) In/Out
  • Ableton's Link network metronome built-in

Sponsors

The following organisations are kindly supporting Sonic Pi's mission of lowering the many barriers to entry for creative experiences with code:


Please consider asking your employer to sponsor Sonic Pi.

Community Support

Please consider joining our wonderful community of supporters helping to keep Sonic Pi free for everyone.

Code. Music. Live.

Sonic Pi is a new kind of musical instrument.
Watch how you can use it for live performances from ambient sets to dance music in nightclubs...

Array by DJ_Dave

Sonic Pi Band - Sam Aaron & Ben Smith

Reeled - Jylda & Sam Aaron

Daft Punk - Aerodynamic
coded by Sébastien Rannou

Welcome to our Community

Join the friendly Sonic Pi community and share your ideas and thoughts with other educators, musicians and live coders...

Live Coding Education



Sonic Pi helps you engage students in Computing through music. Read how in the article 'Live Coding Education'

Watch this introductory CAS TV interview with Sonic Pi creator Sam Aaron.

Sonic Pi in the

Computing Classroom

Sonic Pi was specifically designed for and built in collaboration with teachers for use in the classroom.

Music Live Coding

Sonic Pi is a new kind of musical instrument which enables exciting new learning pathways in the classroom.

Music programming workshop by Mehackit

Classroom Ready

Sonic Pi was designed, implemented and developed with extensive classroom trials in close collaboration with teachers.

Introduction for Teachers

Creative Computing

Sonic Pi comes with a scheme of work targetted for KS3 Computing developed in harmony with the new UK curriculum.

Scheme of Work for Computing Lessons

Free Sonic Pi Book

Sam Aaron, creator of Sonic Pi, has written this book to
complement the built-in tutorial.

Master live loops, code drum breaks, compose your own melodies make random riffs and loops, learn to shape and sculpt sounds and much, much more...

Sonic Pi Talks

"Sonic Pi lowers the barrier to entry for a creative experience with code..."

Music. Code. Simple.

See how easy it is to get started coding your first sounds...

Haunted Bells


loop do
  sample :perc_bell, rate: (rrand 0.125, 1.5)
  sleep rrand(0, 2)
end
                

Listen to the coded bells...



Pentatonic Bleeps

with_fx :reverb, mix: 0.2 do
  loop do
    play scale(:Eb2, :major_pentatonic, num_octaves: 3).choose, release: 0.1, amp: rand
    sleep 0.1
  end
end
              

Code with scales and chords...



Tron Bikes

loop do
  with_synth :dsaw do
    with_fx(:slicer, phase: [0.25,0.125].choose) do
      with_fx(:reverb, room: 0.5, mix: 0.3) do
        start_note = chord([:b1, :b2, :e1, :e2, :b3, :e3].choose, :minor).choose
        final_note = chord([:b1, :b2, :e1, :e2, :b3, :e3].choose, :minor).choose

        p = play start_note, release: 8, note_slide: 4, cutoff: 30, cutoff_slide: 4, detune: rrand(0, 0.2), pan: rrand(-1, 0), pan_slide: rrand(4, 8)
        control p, note: final_note, cutoff: rrand(80, 120), pan: rrand(0, 1)
      end
    end
  end
  sleep 8
end
                

Listen to bikes from the future...



Wob Rhythm

with_fx :reverb do
  in_thread do
    loop do
      r = [0.5, 1.0/3, 3.0/5].choose
      8.times do
        sample :ambi_choir, rate: r, pan: rrand(-1, 1)
        sleep 0.5
      end
    end
  end
end

with_fx :wobble, phase: 2 do |w|
  with_fx :echo, mix: 0.6 do
    loop do
      sample :drum_heavy_kick
      sample :bass_hit_c, rate: 0.8, amp: 0.4
      sleep 1
    end
  end
end
                  

Hear the rhythmic wobble...



Ocean Waves

with_fx :reverb, mix: 0.5 do
  loop do
    s = synth [:bnoise, :cnoise, :gnoise].choose, amp: rrand(0.5, 1.5), attack: rrand(0, 4), sustain: rrand(0, 2), release: rrand(1, 3), cutoff_slide: rrand(0, 3), cutoff: rrand(60, 80), pan: rrand(-1, 1), pan_slide: 1, amp: rrand(0.5, 1)
    control s, pan: rrand(-1, 1), cutoff: rrand(60, 115)
    sleep rrand(2, 3)
  end
end
                    

Hear the digital waves crash...



IDM Breakbeat

define :play_bb do |n|
  sample :drum_heavy_kick
  sample :ambi_drone, rate: [0.25, 0.5, 0.125, 1].choose, amp: 0.25 if rand < 0.125
  sample :ambi_lunar_land, rate: [0.5, 0.125, 1, -1, -0.5].choose, amp: 0.25 if rand < 0.125
  sample :loop_amen, attack: 0, release: 0.05, start: 1 - (1.0 / n), rate: [1,1,1,1,1,1,-1].choose
  sleep sample_duration(:loop_amen) / n
end
loop {play_bb([1,2,4,8,16].choose)}
                      

Listen to crazy coded beats...



Acid Walk

in_thread do
  use_synth :fm
  sleep 2
  loop do
    28.times do
       sample :drum_bass_hard, amp: 0.8
       sleep 0.25
       play :e2, release: 0.2
       sample :elec_cymbal, rate: 12, amp: 0.6
       sleep 0.25
     end
     sleep 4
   end
 end

 use_synth :tb303
 with_fx :reverb do |rev|
   loop do
     control rev, mix: rrand(0, 0.3)
     with_fx :slicer, phase: 0.125 do
       sample :ambi_lunar_land, sustain: 0, release: 8, amp: 2
     end

     control rev, mix: rrand(0, 0.6)
     r = rrand(0.05, 0.3)
     64.times do
       play chord(:e3, :minor).choose, release: r, cutoff: rrand(50, 90), amp: 0.5
       sleep 0.125
     end

     control rev, mix: rrand(0, 0.6)
     r = rrand(0.1, 0.2)
     with_synth :prophet do
       32.times do
         sleep 0.125
         play chord(:a3, :m7).choose, release: r, cutoff: rrand(40, 130), amp: 0.7
       end
     end

     control rev, mix: rrand(0, 0.6)
     r = rrand(0.05, 0.3)
     32.times do
       play chord(:e3, :minor).choose, release: r, cutoff: rrand(110, 130), amp: 0.4
       sleep 0.125
     end

     control rev, mix: rrand(0, 0.6)
     with_fx :echo, phase: 0.25, decay: 8 do
       16.times do
         play chord([:e2, :e3, :e4].choose, :m7).choose, release: 0.05, cutoff: rrand(50, 129), amp: 0.5
         sleep 0.125
       end
     end
   end
 end

Start producing longer tracks...

What's Happening with

Sonic Pi

Here's a taster of some of the exciting things happening in the Sonic Pi world...

The Music Commission

The Music Commission

Sonic Pi is represented by Sam Aaron on The Music Commission panel, a new enquiry launched by ABRSM exploring how to better sustain & support progress & progression in learning music.

Naked Scientists

The Naked Scientists

The wonderful Naked Scientists covered Sonic Pi in an interview which was broadcast live on BBC radio and is available to listen and read here.

The Big Bang Fair

The Big Bang Fair 2018

The Big Bang Fair is the UK's largest celebration of STEM for young people. In 2018 the Sonic Pi Band performed a series of shows demonstrating how to live code your own band.

Mehackit

Kokoa Certified Resources

The incredible Mehackit Sonic Pi creative coding resource has been certified by the Finnish Education Standard Kakoa for its educational quality.

Codebus Africa

In 2017, African and Finnish tech and education innovators collaborated to use Sonic Pi to deliver creative coding workshops engaging almost 2000 children in 10 African countries.

Google Logo

Google Open Source Winner

Google have announced Sonic Pi as one of a number of projects they either use or think are important.

CBBC Ten Pieces Masterclass

Radio 1 DJ MistaJam and Live Coder Sam Aaron compose a piece of music using Sonic Pi, inspired by Bizet's 'Carmen'

Get Sonic Pi for

Raspberry Pi OS - 64 bit

Get started on the world's most affordable computer.

Built for Raspberry Pi

Get the latest version of Sonic Pi for your Raspberry Pi to take advantage of all the new features such as MIDI, OSC networking, new translations, improved interface, headphone audio and much, much more...

64 bit package

v4.5.0
Download then right click and choose 'install package'

Requires the 64 bit release of Raspberry Pi OS (Bookworm)

Download (64 bit)
Full Installation Instructions
Using 32 bit Raspberry Pi OS?
Download a 32 bit version here

Terminal Installation

To install run the following commands via the terminal (within the directory you downloaded the deb file):

sudo apt update
sudo apt install ./sonic-pi_4.5.0_1_bookworm.arm64.deb

Get Sonic Pi for

Windows

Turn any PC into a full Sonic Pi workstation.

Built for Windows 10 & 11

Sonic Pi has been developed and designed to work perfectly on laptops and desktops running either Windows 10 or 11.

Sonic Pi for Windows

Download and double-click to install
v4.5.0

Requires Windows 10.

Windows 10/11 (64 bit)
MSI Installer
Still using Windows 7 or 8.1?
Download v3.1 here

MSI Installer

Sonic Pi is available as a signed MSI installer for you to securely install on your machine or network.

Get Sonic Pi for

macOS

Use the full power of your Mac to take Sonic Pi to the next level.

macOS - Apple Silicon

v4.5.0
for Macs with Apple M series chips

Requires Ventura
(macOS 13)

Mac with Apple chip

Securely Built for Apple

Intel or Apple Silicon?

There are two versions available to download. Apple Silicon for newer Macs powered by M1 or M2 chips and Intel for older Macs.

See "About This Mac" for your chip type.

Using macOS 10.15 or below?
Download previous releases here

macOS - Intel x64

v4.5.0
for older Macs with Intel chips

Requires Big Sur
(macOS 11)

Mac with Intel chip
Most Common
<