ScratchData LogoScratchData
Back to alexruthmann's profile

Scratch Etude - Pärt - SIGCSE Initial Performance Code

ALalexruthmann•Created March 21, 2010
Scratch Etude - Pärt - SIGCSE Initial Performance Code
1
2
428 views
View on Scratch

Description

This code inspired by the musical live coding duo of Andrew Sorensen and Andrew Brown (aa-cell), who were inspired by Arvo Part's Stabat Mater. This code is the starting code from which the performance begins. During the performance, the initial block of code is triggered by pressing the "1" key. After that, the performer uses the clone tool as the piece is playing to make two more copies of the initial code block. The "counter" variable is replaced with "counter2" and "counter3," the event listeners for each new block is changed to the "2" and "3" keys, and the note offsets are decremented by an octave for each new block of code resulting in 3 musical lines decrementing through the Aeolian PitchSet centered at MIDI notes 70, 60 and 48, respectively. The performer adds each musical layer through pressing "2" or "3". In the Musical Live Coding performance, the counters can be removed enabling the setting of pedal points (item 1st/last of AeolianPitchSet), random (item any of AeolianPitchSet) melodic movement, and the counters can be reversed to ascend through the PitchSet. The rhythm of each musical line is selected from a weighted list consisting of two whole beats and one half beat, creating variation in the rhythmic durations. This melodic pitch set (Aeolian mode/natural minor scale) and the rhythm set are inspired by an aural analysis of Part's Stabat Mater. In the SIGCSE performance, Jesse Heines used additional code and a physical computing interface (IchiBoard) to perform a melodic solo improvisation on top of this melodic code constrained to a minor pentatonic pitch set. After the IchiBoard improvisation, a "change volume by -10" code block was dragged into one of the repeat loops creating a slow fade out to end the piece. Scratch is a great environment for musical live coding because code blocks can be inserted or removed as Scratch runs and variables and lists can be dynamically updated, changed and replaced on the fly through keystroke entry, slider manipulation on the stage or through interfacing physical computing interfaces. This piece only runs within the Scratch IDE.

Project Details

Project ID942936
CreatedMarch 21, 2010
Last ModifiedJune 20, 2013
SharedMarch 21, 2010
Visibilityvisible
CommentsAllowed