Sonic Pi - Musik coden - Code klingt
  • Home
  • Sonic Pi - Die Sprache
  • Was kann Sonic Pi?
  • Sonic Pi - Blog
  • Contact

OPEN EDUCATION DAYS 2021

5/19/2021

0 Kommentare

 
Sonic Pi Workshop open education days 2021 - online
Aufzeichnung der Zoom-Videokonferenz 

Nachgefragt wurde das Codebeispiel zum Stepsequencer mit Arrays. Im Video ab 51:40
use_bpm 120

BD = [1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0]
HH = [1,1,1,0,1,1,1,0,0,0,1,1,1,0,0,1]
SN = [0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,0]

live_loop :drums do
  16.times do |i|
    puts i
    sample :bd_haus if BD[i]==1
    sample :drum_cymbal_closed, amp: 0.9 if HH[i]==1
    sample :sn_dolf, amp: 0.6 if SN[i]==1
    sleep 0.25
  end
end
Vielen Dank an martina.friker@gmx.ch für dieses Cheatsheet von Sonic Pi:
cheat_sheet_sonic_pi.pdf
File Size: 170 kb
File Type: pdf
Datei herunterladen

0 Kommentare

Sonic Pi Blockwoche - OSZ Täuffelen

5/23/2018

0 Kommentare

 
Im Rahmen einer Projektwoche führte Lehrer R. Morgenthaler vom Oberstufenzentrum Täuffelen im Mai 2018 eine Gruppe von 15 Knaben in Sonic Pi ein mit dem Ziel, am Ende der Woche vor Publikum live Musik zu programmieren. Das Projekt wurde vor Ort unterstützt von C. Dietz und N. Steinbach von der PH Bern.
Die Woche mit dem abschliessenden «Live Coding» vor Publikum aus Schule und Dorf war ein Erfolg fürs Leitungsteam, für die Jugendlichen und auch fürs Publikum. Hier sind die wichtigsten Erkenntnisse von Lehrer R. Morgenthaler, welche hoffentlich für andere Live-Coding-Projekte mit Jugendlichen hilfreich sein können:
  • Alle Jugendlichen sollen wenn möglich einen eigenen Computer zur Verfügung haben.
  • Einen kräftigen Verstärker mit Lautsprecher und einem langen Kabel auftreiben, damit all die coolen Sounds genug Volumen erhalten.
  • Kurze Inputs geben und die Jugendlichen viel üben lassen.
  • Regelmässig Zwischenresultate präsentieren und Feedback geben für gegenseitige Inspiration.
  • Nicht erwarten, die die Jugendlichen mit Sonic Pi so arbeiten, wie du es tun würdest. Sei offen für ihre eigene Art, das Programm zu nutzen.
  • Falls du als Lehrer Fragen nicht beantworten kannst: Verweise sie aufs Programm-Tutorial oder die Sonic-Pi-Webseite.
  • Lass nach ersten Gehversuchen jeden Jugendlichen ein Live Coding nach einer Kriterienliste vorbereiten, das sie zuerst erarbeiten und dann üben. Beispielsweise:
    • 1 – 3 Minuten
    • Deine Aktivität ist sichtbar am Beamer
    • Eigene Elemente verwenden
    • Einen Aufbau planen: Anfang, Hauptteil, Ende
  • Lass sie zu diesen Kriterien regelmässig Feedback geben und erhalten.
  • Ermutige die Jugendlichen, eigene Samples herzustellen. Alle unsere besten Produkte verwendeten Sound-Samples; heruntergeladen von Youtube und mit Audacity zugeschnitten.
  • Mach die Beamer-Projektion bei der Vorführung so gross wie möglich.
  • Organisiere das Live Coding wenn möglich so, dass jeder Jugendliche auf dem «Präsentations-Computer» einen eigenen Programm-Puffer zugeteilt hat, in den er seinen Code vorgängig kopieren kann.
  • Bevor die Jugendlichen vor Publikum auftreten: nimm dir einige Minuten Zeit, dem Publikum zu erklären, wieso programmieren in die Schule wichtig ist. Und gib eine Einführung in die Arbeitsweise beim Live Coding – insbesondere zu den Live Loops - damit die Zuschauer versuchen können, die Aktivität am Beamer zu verstehen.
In dieser Youtube-Playlist finden sich die besten 5 Beiträge von 15 Jugendlichen. Sie sind in aus Klasse 8 oder 9 nach 5 Halbtagen Arbeit mit Sonic Pi. Einige der präsentierten Elemente entstanden mit Hilfe der Unterstützer der PH Bern.
Die restlichen 10 Beiträge waren deutlich weniger attraktiv und enthielten deutlich weniger eigene Elemente. Manche waren eher ein «Vorzeigen verschiedener Live Loops». Dennoch genossen es die Besucher, solange die Beiträge nicht allzu lang ausfielen. Insbesondere die Eltern…
Ohne die zwei Unterstützer von der PH Bern hätte ich nicht mehr als 5 – 7 Jugendliche betreuen wollen und können.

Happy live coding!
R. Morgenthaler
0 Kommentare

open education days 2017

4/27/2017

 
Zusammenfassung Sonic Pi Workshop open education days 2017, Brugg
# open education days 29.04.17
#
##################### Sonic Pi #################
#
# christian.dietz@phbern.ch
# ----------------------------------------------
# Sonic Pi's API in 10 Min
# ----------------------------------------------
# Kinderlied coden
# ----------------------------------------------
# Ein paar Gedanken zu live coding und Schule
# Was kann Sonic Pi bieten?
# ----------------------------------------------
# Was ist sonst noch möglich?
# ----------------------------------------------
# Rocking mit Sonic Pi - ein Algorave(-versuch;))
# ----------------------------------------------

​Sonic Pi's API in 10 Min ist hier  zu  finden.

Bruder Jakob als Kanon im rtf Format zum Downloaden. Nicht direkt vom Browser kopieren, da der Zeilenumbruch sonst nicht funktioniert.

Sonic Pi bietet spannende Möglichkeit textbasiertes Programmieren mit dem Fach Musik zu kombinieren. Mit wenigen einfachen Anweisungen, ist der Einstieg schnell zu schaffen.
Die verschiedenen Zugänge zu Sonic Pi sind unter "Was kann Sonic Pi?" zu finden.

Sonic Pi kann natürlich auch einfach wav und aiff Files abspielen. Diese müssen nur irgendwo lokal auf der Festplatte liegen. Mit einer Pfadangabe lassen sie sich dann abspielen.​
test = "~/Dropbox/Tagung_19_11_16/bobbyFeeling.aiff"

blop = (0..1).step(1/16.0).each_cons(2).collect do |s, f|
  {start: s, finish: f}
end.ring

puts blop

Ein Sample lässt sich über start und stop Angaben auch stückchenweise abspielen. 0 ist hier immer der Anfang des Sampels, 1 das Ende. In der Variable blop stehen nun die Start und Stop Werte bei 16 Schritten - dies als Ringbuffer, d.h. am Ende wird Sonic Pi wieder zum Anfang springen.

(ring {:start=>0.0, :finish=>0.0625}, {:start=>0.0625, :finish=>0.125}, {:start=>0.125, :finish=>0.1875}, {:start=>0.1875, :finish=>0.25}, {:start=>0.25, :finish=>0.3125}, {:start=>0.3125, :finish=>0.375}, {:start=>0.375, :finish=>0.4375}, {:start=>0.4375, :finish=>0.5}, {:start=>0.5, :finish=>0.5625}, {:start=>0.5625, :finish=>0.625}, {:start=>0.625, :finish=>0.6875}, {:start=>0.6875, :finish=>0.75}, {:start=>0.75, :finish=>0.8125}, {:start=>0.8125, :finish=>0.875}, {:start=>0.875, :finish=>0.9375}, {:start=>0.9375, :finish=>1.0})

Der folgende Code spielt nun den Sample test ab. Immer zu den blop Zeiten. In der zweiten Hälfte werden die Schnippsel von test aber nun mit choose zufällig gewählt. Somit ergibt sich eine neue Abfolge. Beat 3 und 4 werden somit immer zufällig generiert.
live_loop :blabla do
  8.times do
    sample test, blop.tick, rpitch: (knit 0, 32, -5, 16, 0, 16).tick(:bob)
    sleep 0.25
  end
  8.times do
    sample test, blop.choose, rpitch: (knit 0, 32, -5, 16, 0, 16).tick(:bob)
    sleep 0.25
  end
  tick_reset
end

​Rocking Sonic Pi
thx to Xavier Riley  for the code idea!

    Autor

    Christian Dietz

    Archiv

    Mai 2021
    November 2019
    Mai 2018
    Juli 2017
    April 2017

    TAGS

    Alle
    Live Coding
    OSC
    Projektwoche
    Schule
    Workshop

Proudly powered by Weebly
  • Home
  • Sonic Pi - Die Sprache
  • Was kann Sonic Pi?
  • Sonic Pi - Blog
  • Contact