Sonic Pi - De Live Coding Muzieksynthesizer voor Iedereen

  • Krachtig voor professionele muzikanten en DJ's.
  • Expressief voor compositie en performance.
  • Toegankelijk voor blinde en slechtziende mensen.
  • Eenvoudig voor lessen informatica en muziek.

Leer creatief programmeren door muziek te componeren of uit te voeren in een ongelooflijke reeks stijlen, van Klassiek en Jazz tot Hip hop en EDM. Sonic Pi wordt aangeboden door Sam Aaron en het Sonic Pi Core Team en bevat een gebruiksvriendelijke tutorial.

Live Code Alles

Sonic Pi stelt je in staat om eenvoudige code te gebruiken om je computer om te toveren tot een volledig netwerkgestuurde live coding muziekstudio:

  • Multi-channel audio in/uit
  • Nauwkeurig getimede MIDI in/uit
  • Nauwkeurig getimede OSC (Open Sound Control) in/uit
  • Ingebouwde Ableton Link netwerkmetronoom

Educatie en Leren

Officiële Cursus

Sonic Pi-creator Sam Aaron heeft een reeks tutorialcursussen ontwikkeld om je te helpen bij je start met live coding. In de introductiecursus "Sonic Pi - Introduction" leer je de basis van het live coden van je eigen performances en composities met de krachtige software van Sonic Pi.

Een voorbeeld van een les is "4. Exploring Synths", waarin je leert hoe je expressieve synthesizergeluiden kunt triggeren met eenvoudige code.

Live Coding in het Onderwijs

Sonic Pi helpt studenten om via muziek betrokken te raken bij informatica. De software is specifiek ontworpen voor en gebouwd in samenwerking met docenten voor gebruik in het klaslokaal.

  • Muziek Live Coding: Sonic Pi is een nieuw soort muziekinstrument dat nieuwe leerpaden in het klaslokaal mogelijk maakt.
  • Klaar voor het Klaslokaal: Het programma is ontwikkeld en geïmplementeerd na uitgebreide tests in klaslokalen.
  • Creatieve Informatica: Sonic Pi wordt geleverd met een programma van werk gericht op KS3 Computing, ontwikkeld in harmonie met het nieuwe Britse curriculum.

Aanvullende Bronnen

Sam Aaron heeft een boek geschreven ter aanvulling op de ingebouwde tutorial: "Code Music with Sonic Pi". In dit boek leer je onder andere:

  • Live loops beheersen
  • Drum breaks coderen
  • Eigen melodieën componeren
  • Willekeurige riffs en loops maken
  • Geluiden vormgeven en boetseren

Presentaties en Talks

"Sonic Pi verlaagt de drempel voor een creatieve ervaring met code..."

  • TEDx Newcastle 2015 - Programming as Performance
  • GOTO 2018 - Let's Get Ready to Rock with Sonic Pi

Code Voorbeelden

Hieronder volgen voorbeelden van hoe eenvoudig het is om te beginnen met het coderen van je eerste geluiden.

Spookklokken (Haunted Bells)

Luister naar de gecodeerde klokken...

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

Pentatonische Piepjes (Pentatonic Bleeps)

Codeer met toonladders en akkoorden...

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

Tron Bikes

Luister naar fietsen uit de toekomst...

live_loop :bikes 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

Wob Rhythm

Hoor de ritmische wobble...

with_fx :reverb do
  in_thread do
    live_loop :choir 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
    live_loop :wub do
      sample :drum_heavy_kick
      sample :bass_hit_c, rate: 0.8, amp: 0.4
      sleep 1
    end
  end
end

Ocean Waves

Hoor de digitale golven breken...

with_fx :reverb, mix: 0.5 do
  live_loop :waves 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

IDM Breakbeat

Luister naar krankzinnige gecodeerde beats...

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

live_loop :breaks do
  play_bb [1,2,4,8,16].choose
end

Acid Walk

Begin met het produceren van langere tracks...

in_thread do
  use_synth :fm
  sleep 2
  live_loop :drums 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|
  live_loop :acid 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

Hoogtepunten uit het Sonic Pi Verhaal

Enkele van de meest memorabele momenten door de jaren heen, van klaslokalen en clubs tot het Internationaal Ruimtestation:

  • The Music Commission: Sonic Pi wordt vertegenwoordigd door Sam Aaron in dit panel van ABRSM, dat onderzoekt hoe muziekleren beter ondersteund kan worden.
  • The Naked Scientists: Een interview over Sonic Pi werd live uitgezonden op BBC Radio.
  • The Big Bang Fair 2018: De Sonic Pi Band gaf shows waarin werd gedemonstreerd hoe je je eigen band live coded.
  • Kokoa Certified Resources: De creatieve coding-bronnen van Mehackit zijn gecertificeerd door de Finse onderwijsstandaard Kakoa.
  • Royal Albert Hall : Convo: Sonic Pi was educatiepartner voor Convo, een werk waarbij 1.000 jonge instrumentalisten en zangers traditionele instrumenten combineerden met code.
  • Codebus Africa: In 2017 werkten Afrikaanse en Finse innovatoren samen om creative coding workshops te geven aan bijna 2000 kinderen in 10 Afrikaanse landen.
  • Google Open Source Winner: Google heeft Sonic Pi benoemd als een van de projecten die zij gebruiken of belangrijk vinden.
  • Music Teacher Award: Sonic Pi was een finalist voor de Music Teacher Best Music Education Product Award, naast fabrikanten als Boss & Korg.
  • Rolling Stone Review: Rolling Stone schreef over de performance van Sam Aaron op Moogfest 2016 en stelde dat deze "het heden oversteeg".
  • Sonic Pi Space Competition: Winnaar-studenten kregen hun Sonic Pi-muziek afgespeeld aan boord van het Internationaal Ruimtestation door astronaut Tim Peake.
  • CBBC Ten Pieces Masterclass: Radio 1 DJ MistaJam en Sam Aaron componeerden een stuk geïnspireerd op Bizet's 'Carmen'.
  • Daft Punk in code: Sébastien Rannou publiceerde een tutorial over zijn live coded cover van 'Aerodynamic' door Daft Punk.
  • CBBC Newsround: Sonic la Pi werd featured op het nationale Britse kinderjournaal CBBC Newsround.
  • Pop Pi Videos: Het project 'Sonic Pi: Live & Coding' lanceerde een serie van 10 muziekvideo's gemaakt door artiesten met Sonic Pi.
  • Summer School: De Juneau Projects schreven over een zomerkamp waarbij 60 kinderen (10-14 jaar) leerden coderen en optreden bij Cambridge Junction.

Download en Installatie

Windows

Verander elke PC in een volledig Sonic Pi-werkstation.

  • Windows - Arm64 (v5.0.0): Voor PC's met Arm-chips. Vereist Windows 11. (MSI Installer)
  • Windows - Intel x64 (v5.0.0): Voor PC's met Intel of AMD-chips. Vereist Windows 10. (MSI Installer)

Opmerking: Controleer onder Instellingen > Systeem > Info welk chiptype je hebt.

macOS

Gebruik de volledige kracht van je Mac.

  • macOS - Apple Silicon (v5.0.0): Voor Macs met Apple M-serie chips. Vereist Ventura (macOS 13).
  • macOS - Intel x64 (v5.0.0): Voor oudere Macs met Intel-chips. Vereist Ventura (macOS 13).

Opmerking: Controleer via "Over deze Mac" welk chiptype je hebt. Voor macOS 10.15 of lager zijn eerdere releases beschikbaar.

Linux

Live code alles, van een Raspberry Pi tot een krachtige desktop. Sonic Pi is beschikbaar als een zelfstandige AppImage (geen installatie vereist).

  • Linux - Arm64 (v5.0.0): Voor Arm-apparaten zoals de Raspberry Pi. (AppImage)
  • Linux - Intel x64 (v5.0.0): Voor PC's met Intel of AMD-chips. (AppImage)

Instructies voor Linux: Download het bestand, maak het uitvoerbaar en start het: chmod +x Sonic-Pi-.AppImage ./Sonic-Pi-.AppImage

Opmerking: Voor 32-bit systemen is een x86 AppImage beschikbaar.