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:
![]()
0 Kommentare
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!
|
AutorChristian Dietz Archiv
Mai 2021
TAGS |
Proudly powered by Weebly