Akkorde

Sonic Pi kann Dir den Namen eines Akkords in eine Liste seiner Töne übersetzen. Versuche es selbst:

play chord(:E3, :minor)

Jetzt tut sich was. Das sieht doch schon viel schöner aus als einfache Listen (und ist für andere viel einfacher lesbar). Welche Akkorde kennt Sonic Pi noch? Naja, viele. Probier mal ein paar von diesen aus:

Arpeggios

Um Akkorde einfach in Arpeggios umzuwandeln, können wir die Funktion play_pattern verwenden:

play_pattern chord(:E3, :m7)

Ok, das war nichts besonderes - das ging wirklich langsam. play_pattern spielt jede Note in der Liste hintereinander, getrennt durch Aufrufe von sleep 1 ab. Wir können die Funktion play_pattern_timed verwenden, um unsere eigenen Zeitdauern zu verwenden und das Ganze zu beschleunigen:

play_pattern_timed chord(:E3, :m7), 0.25

Wir können sogar eine Liste von Dauern übergeben; Sonic Pi verwendet diese nacheinander und wiederholt sie solange wie notwendig:

play_pattern_timed chord(:E3, :m13), [0.25, 0.5]

Das bedeutet das gleiche wie:

play 52
sleep 0.25
play 55
sleep 0.5
play 59
sleep 0.25
play 62
sleep 0.5
play 66
sleep 0.25
play 69
sleep 0.5
play 73

Was würdest Du lieber schreiben?