Tag Archives: computer music

Endorsement – SuperCollider for the Creative Musician

I wrote a book endorsement for SuperCollider for the Creative Musician by Eli Fieldsteel

SuperCollider for the Creative Musician teaches how to compose, perform, and think music in numbers and codes. With interactive examples, time-saving debugging tips, and line-by-line analysis in every chapter, Fieldsteel shows efficient and diverse ways of using SuperCollider as an expressive instrument. Be sure to explore the Companion Code, as its contents demonstrate practical and musically intriguing applications of the topics discussed in the chapters.

The endorsement had a word count limit. This book deserves a more detailed review. I agree with Fieldsteel’s statement in the Introduction that the book is a  “tutorial and reference guide for anyone wanting to create electronic music or experimental sound art with SuperCollider.” Musicians, media artists, and programmers will learn the fundamentals and practical applications of SuperCollider by reading the book from cover to cover. I especially recommend this book to musicians seeking the connection between creative coding and their artistic practice. Electronic musicians learn to express musical ideas in numbers and symbols when they code music.  Coding trains users to think of music differently as a result, and the author does an excellent job of teaching how to do so. 

Fieldsteel’s expertise in composing, performing, and teaching SuperCollider for over a decade is evident in every chapter. The author correctly anticipates common beginner challenges and provides the most efficient solutions. I love Tip.rand sections dedicated to troubleshooting and debugging. They are essential in increasing productivity and decreasing the frustration of learning a new environment. The book’s biggest strength, as demonstrated in Tip.rand, is its accessibility. The language, style, and examples do not assume that the readers have previous programming, music synthesis, or audio engineering experience. Included figures, tables, and example codes are also effective and pedagogical. I was happy to see that the printed codes’ font is identical to the default font of SuperCollider IDE.  It reconfirms the author’s effort in creating inviting chapters to learn a language with a considerable learning curve.  

I spend the first month of my SuperCollider class helping students overcome the initial steep learning curve. The book will dramatically reduce the time and frustration of going over that hump. I don’t think other existing SuperCollider resources will help as much as Fieldsteel’s book for that purpose.

Elegy No. 2 – live at SPLICE Institute

I performed Elegy No.2, written in 2018 for violin and computer, with melodica at the SPLICE Inistute 2023. It is not a happy song, but I share what I can express only with music. Sarah Plum recorded the original version beautifully, but I have been playing the song as my solo shows since COVID.

If you own a melodica and want to play this, the score and SuperCollider file are available HERE. You don’t need to know how to use SuperCollider. The instruction to run the code is here. Please use the score as a guideline, and feel free to improvise.

847 Twins – Brief Analysis

The production of 847 Twins, the title track in the album Fan Art, is documented in four sections. The first section, Program, is a one-paragraph description of the music written for a concert booklet or album promotion. I share information and thoughts that may help listeners enjoy the music. The second section, Form, is for the creators who want to learn how I used electronic sounds in composition. The third section, Code, is for the technologists who want to learn how I designed the piece in SuperCollider, a code-based audio app. Links to the code are available here. The last part, Anecdote, has extra narrative relevant to 847 Twins but is optional to enjoy the piece.

If preferred, read this article in PDF format.

Program

847 Twins is a two-movement piece based on harmonic progressions of Prelude & Fugue in C Minor by J.S. Bach. An electronic remake of Bach is a well-known practice pioneered by Wendy Carlos and Pierre Schaeffer (Switched-On Bach & Bilude). I learned so much from reading and listening to their works. J.S. Bach is also my hero composer. Therefore, it seemed appropriate to dedicate a song to my musical cornerstones in an album about fandom.

Listen to the tracks linked below before reading the next sections.

The tracks are available on other major platforms at  https://noremixes.com/nore048/

Form

Mvt I. Pluck

Pluck and Blip, the two movements of 847 Twins, algorithms written in SuperCollider use the harmonic progression of the Prelude in BWV 847. The downloadable code, 847_Pluck.scd, generates randomized voicing patterns played by a guitar-like synth. Below is a step-by-step explanation of how the composition process. 

  1. Design an electronic string instrument. Each note of this instrument is detuned at a different ratio every time the string is “plucked.” The note’s duration, dynamic, string stiffness, and pan position also vary randomly. 
  2. Using the instrument in Step 1, strum a chord with notes at a measure in BWV 847. Unlike a guitar, a strum of a chord can have multiple pan, accents, and note durations due to the randomization in Step 1.
  3. Each measure of BWV 847 is played four times before advancing to the next measure.
  4. Add a bass part with gradually increasing loudness. It plays the lowest note in the corresponding measure. 
  5. Add the intro and the outro for a better form. They are not quoted from BWV 847.

In short, the first movement of 847 Twins is a reinterpretation of BWV 847 featuring an imaginary string instrument and a synth bass. I loved how Bach created exciting music with a predictable rhythmic pattern. The key was harmony and voicings. I wanted to emphasize that aspect with an additional layer of dynamics articulations in Pluck. The added bass line, which imitates the “left hand” of basso continuo, fills in the low-frequency spectrum of the piece. The bass part is best experienced with a headphone or a subwoofer. 

Mvt II. Blip

The first movement lacked elements of counterpoint, so I tried to make an electronic polyphony in the second movement. In Blip, each measure has 3-6 parts playing different phrases derived from a measure in BWV 847. The phrase shape, the number of voices, and articulation are determined randomly at every measure and create a disjunct yet relative form. Schaeffer’s Bilude explores this idea by combining piano performance and recorded sounds.   

Below is my process of creating a random phrase generator. Please run 847_Blip.scd to hear the piece.

  1. Create a list of pitch sets by reducing repeating notes in each measure of BVW 847.
  2. Make three different synth sounds.
  3. Make a phrase generator that uses the list in Step 1 and synths from Step 2. The instrument choices, phrase length, note subdivisions, and articulations are randomized. The SuperCollider code also has the option to generate a rhythmic variation (i.e., insert rest instead of a note). 
  4. Make a polyphony generator that spawns the phrase generator described in Step 3. The number of polyphonic voices and their octave transpositions are random. 
  5. Play and record Step 4 twice. Then, import the tracks to a DAW. Insert a reverb plugin on one track. The reverb should be 100% wet. 
explanation of analysis
explanation of analysis

The algorithm described above creates different timbres, polyphonic patterns, and the number of voicings at every measure. Furthermore, every rendition of the SuperCollider code makes a unique version of Blip. One measure can be a duet of two-note phrases, and the following measure can be an octet of eight phrases played in a four-octave range. The room sound created by the DAW reverb plugin doesn’t reflect the source, but it sounds similar enough to be heard as part of a whole. 

Code

Mvt I. Pluck

The SuperCollider file for Pluck consists of seven parts. Please download and use 847_Pluck_Analysis.scd to hear and modify each part. Make sure to run the line s.options.memSize=8192*16 to allocate enough memory. 

  • SynthDefs: SynthDef(“Gtr”) uses a Karplus-Strong physical model with controllable pan, frequency, stiffness, amplitude, and duration. SynthDef(“Bass”) makes a sinusoid tone with a percussive amplitude envelope. The UGen Lag.kr smoothens the sharp transient of the amplitude envelope. 
  • ~onenote: this function uses two SynthDef(“Gtr”) to create a detuned note. The amount of detuning is randomized along with other parameters of the SynthDef.
  • ~stroke: this function creates instances of ~onenote with pitches specified in the ~chords array.  ~chords is a collection of all the notes in the Bach Prelude, categorized and indexed by measure number. The order of the notes in a measure is random.  ~stroke plays the chord in sequence or reverse to simulate a guitar’s up and down stroke motions. 
  • ~strums: this function continuously triggers ~stroke. The global variable ~pulse determines the tempo. ~strumsend function is used once for the ending. 
  • ~clock: this function changes the chord progression at time intervals set by the global variable ~mdur. It also changes the parameters of ~strums by altering the values of global variables ~mm~accent~volume~notedur, and ~stiff. Note that both ~strums and ~clock functions must run simultaneously for a correct chord progression. 
  • ~bassline: this function plays SynthDef(“Bass”) a few seconds after the start of the piece. It uses the if condition to change the rhythmic pattern. The line pitch=~chords.at(count).sort.at(0) picks the lowest note of each measure as a bass note.
  • SystemClock: this scheduler syncs ~strums, ~clock, and ~bassline to play a version of Pluck. Every rendition of SystemClock will make a new variation of the track.    

Mvt II. Blip

The SuperCollider file for Blip consists of four interconnected parts. Please download and run 847_Blip_Analysis.scd to hear each part.

  • SynthDefs: The three SynthDefs, PBeepTBeep, and SBeep, are all slightly detuned percussive instruments featuring a classic oscillator waveform, such as sine, triangle, and pulsewidth. 
  • ~phrase: this function creates a short melodic pattern based on pitch sets received from global variable ~arp. It controls which SynthDef to use, amplitude, phrase length, note duration, and transposition. The last two arguments activate or deactivate that random rhythm generation and arpeggio pattern variation.  
  • ~section: this function duplicates ~phrase. The number of ~phrase and octave transpositions are randomized. The function also makes further variations on amplitude, note duration, and panning.
  • The Routine in the last section uses the ~piece array as a cue list with details on when and how to trigger the ~section. The array ~chords is a list of all the notes in corresponding measures of the Bach Prelude. The Routine also sends a changing pitch set from ~chords to ~phrase via the global variable ~arp.

Anecdote

847 Twins does not use the Adagio section of the Prelude and Fugue. When composing the first movement, I could not transition from a constant 16th-note drive to a free and improvisational ending. I tried to address this incompleteness by writing a complementary movement, Blip, but it did not work out. I made a satisfying solution six months after completing 847 Twins by incorporating an instrument I could improvise aptly and freely. Nim6tet, the sixth track in Fan Art, has six layers of no-input mixer improvisation guided by the chord progressions of the Adagio section. It shamelessly shows off no-input mixer sounds I can not create with other instruments. 

It took many attempts in the period of 1.5 years to finish three tracks about the first half of BWV847. The electronic interpretation of the Fugue part is a puzzle yet to be solved.

More Analysis and Tutorials

Updated on 4/13/2023

Work Catalog 2022

I made a list of my published and available works using Google Sheets. Click HERE to view. The work list already exists on joowonpark.net,  but the HTML format is difficult to sort, analyze, and assess. A catalog in spreadsheet format allows me to revise and manage the pieces with much more ease. The current file has the following information per piece: 

  • Title
  • Year Published: It is not the year the piece was composed but when it was available to the public. 
  • Instrumentation: Instrument names are alphabetized.  
  • Album: If the piece is a part of an album, the album title is available.
  • Co-Creation: Indicates if someone contributed during the composition/production process. Examples include co-composers, co-producers, choreographers, and theatre directors, but not performers.
  • Notes: Miscellaneous info. It could extend to another column in the spreadsheet.

Organization Principles

There are 121 pieces listed in the catalog as of December 2022. The number is more than the entries in my BMI catalog, which is currently 98, for the following reasons:

  • The Google Sheet catalog includes sound installations, recordings of free improvisations, and web projects that are tricky to register as compositions. 
  • Some are dance and theatre collaborations that require extra paperwork to register in BMI (feel free to correct me if I am wrong)

I also had to decide how to catalog 100 Strange Sounds and CMPE. The two were multi-year projects consisting of many short pieces. I had to choose to count them as two long compositions or 132 separate pieces. 

  • 100 Strange Sounds counts as one piece. It is a mosaic of individual entities with a common goal and theme, like Ik-Joong Kang’s Happy World.
  • Each CMPE-related EP, such as RMHS, ISJS, Piano Triplets, and Forms to Ponder, counts as one composition with multi movements. 

The most challenging part of cataloging was deciding what not to include. My principal guideline was whether the piece had online documentation.

  • Completed works not presented to the public are not listed. 
  • Published works without links are not in the catalog. Examples include
    • Premiered works without video or audio recording
    • Premiered works with missing concert programs, recordings, or scores. Most of the compositions during my graduate school years are in this category. 
    • Published works in a DVD or CD format only. My first published work is in this category.
    • A temporary exception is the pieces in the Fan Art album. Fan Art will be released in January 2023, and thus I put them into the catalog as placeholders.

Short Analysis

My productivity increased to a satisfactory level after graduate school. The number of presentable pieces per year was the lowest when I had the most time to work on music as a graduate student. Conversely, my productivity peaked when I had the least amount of time. I had a newborn baby and a first-grader to raise in 2015, but I released an album and was working on the next one. I accept that the pieces I made before 2009 were not good enough to get into conferences and invited shows. Also, I started using platforms like YouTube to facilitate sharing and documenting work after finishing school.

The number of album releases and large-scale works indicates that I work well with long-term projects. Creating an album with a theme keeps me in creative mode. Multi-movement electroacoustic work is fun. A single piece that requires an extended amount of time to gather sources or produce sounds positively challenges me. I will consider my experience in planning and executing long-term projects as my strength and continue developing it.

Co-creation accounts for about 30% of my creative output. I thought I preferred working alone, but the pi chart says I am not bad at collaborations. I am confident that I can tackle bigger projects involving multiple personnel in the future.

There are a few things to improve in the catalog. I want to record each piece’s duration to compare the effort I put into each work. I can also list performers who premiered the piece. The number of performances per piece can also be pertinent data for the catalog. Analysis of such data can show me where to concentrate my creative energy for the next few years.

A Performing Electronic Musician’s Stage

Self-assessment of solo set performances from 2011 to 2022

I analyzed instruments, gear, and repertoire of my solo electroacoustic sets from 2011 to 2022.  For the sake of discussion, I categorize a set performance as a long-form performance (about 20 to 50 minutes) by artists without interruption or intermission. I find preparing, performing, and refining solo sets to be one of the best practices for live electronic music skills. In this article, I analyze the changes in hardware and repertoire in my solo electroacoustic performance by comparing video recordings of past shows. I hope the analysis serves the readers and me on what could be worth exploring in live electronic music. 

Here are three video recordings of my solo sets as a point of reference. 

The videos represent my performance practices in three periods in three cities I worked and lived: Philadelphia (2009-2014), Oberlin (2014-2016), and Detroit (2016-current). The oldest solo set video I could find is from 2011 in Seoul, but the above videos are unabridged and have direct outs from the house mixer. 

Performance Preparation

Practicality and flexibility matter in a set performance.  Venues have sound systems with varying designs, and sharing the stage with other artists doing a set is common. Therefore, I choose pieces according to the external limitations I cannot control. My gear is compact and travel-friendly to set up and strike quickly, regardless of the venue’s PA capacity. I plan 15 minutes or less to set up, get ready to go on stage, and carry an extra direct box and cables. 

The most efficient setup could be solo laptop performance. But I am not inclined to present in that format as the audience cannot see movements behind the computer screen. The gear placement reinforces the visual cues in my shows. I value establishing a connection between what I do on stage and what the audience hears. In the reference videos above, the laptop is on the right side of the table. Most sound-generating objects and body actions are in the center and have an unobstructed view. When possible, I place the front panel of electronic instruments observable to the audience. For example, the picture below is my setup in October 2022. I put the gear on a piano bench for the audience to see the fingers moving across the buttons and sliders. The laptop created sound, but it was tucked below the bench. I launched the SuperCollider patch before the show and did not need to touch or look at it when performing. Not shown well in the picture is a small three-channel mixer on the floor. Like the laptop, there was no need to touch the mixer after the sound check, and it did not need to be on the table along with the instruments.

The 2013 Set

The diagram below depicts the connection of the hardware used in the set. The three boxes in the diagram contain the no-input mixer patching method, a list of SuperCollider patches, and compositions incorporated in the set. SuperCollider is the sole software I have used in solo performances since the early 2000s. No-input mixer patching details differ from artist to artist, and it is worth documenting my preferred patching for comparison. I will use the diagram in the same format for the 2016 and 2020 sets.

Hardware choices depend on the repertoire. The title track of the performances in 2013 was Toccata, an improvisational piece featuring a wooden board, various acoustic objects, and a live processing SuperCollider patch. A combination of a contact microphone and a small diaphragm condenser mic captured sent audio signals in the air and the board. The condenser mic doubled as an audio input for other pieces like Retrace, Introvert, and Elegy. Retrace is my first SuperCollider composition incorporating an acoustic instrument. The solo set format allowed me the repeated performance of Retrace and gave me multiple chances to refine it.  The picture below, taken at a 2013 Indeterminacies series in Tennessee, is an example of a typical performance layout. 

The microphones were connected to an audio interface with four inputs and outputs. Audio inputs 3 and 4 allowed me to connect outputs from a no-input mixer. In 2013, the sounds of the no-input mixer and the synths took up a small portion of the show. I used them for the first time to create videos for the 100 Strange Sounds project and was not proficient in performing them. From 2013-14,  many objects I experimented with in 100 Strange Sounds became part of Toccata. It refined the piece composed in 2009 for four or more years.

Video projection was also part of a performance in 2013. Both Introvert and Elegy have accompanying videos, and I often used the laptop’s built-in camera to project the hand movement on the wooden board. The 2015 performance at New Music Gathering is an example of such a set. The on-stage live video reinforces the connection between what I do and what the audience hears, but not all venues can accommodate large-screen projection systems. Setting up a proper video meant extra tech time, a possible nuisance for tech people and other artists on the same show. The reduction in practicality led me to retire the video features from the set gradually.


The 2016 Set

I avoid unintentional silences between the pieces in a set performance. In 2013, I often played pre-recorded sounds while adjusting SuperCollider patches for the next piece. In 2016, all transitions became superpositions of the end of a piece and the beginning of the next one. The crossfade time got longer and smoother with more experience, blending multiple works. This approach stimulated new compositions combining two or more previously featured instruments.  Consequently, my set became a single long-form improvisation featuring all the instruments I could carry comfortably. The 2016 WOBC video recording serves as an example.

Out-of-town gigs outnumbered in-town opportunities when I lived in Oberlin. Traveling with a carry-on bag full of gear became burdensome, and thus I sought to develop a set with as few instruments as possible without degrading the quality. In 2015, I had an opportunity to perform on a double-decker tour bus. The setup time was short, and the performance space was small due to the particular nature of the gig. So  I chose to abandon the laptop, the instrument I am most skilled at, and performed with a no-input mixer and a monophonic synthesizer. The success and fun I had in the gig encouraged me to add more non-computer elements to the set. 

The 2020 Set

By 2016, I felt at home performing with a contact mic and found objects. But doing so felt less exciting and challenging. In contrast, my interest in drum machines and MIDI controllers grew.  The resulting pieces were Cobalt Vase and Page Turner’s Agony. By combining Cobalt Vase with no-input mixing, I composed Func Step Mode. These three pieces are currently the main ingredients of my solo set of electronics-only improvisation. The video made for La Escucha Como Acción’s COVID online performance series is an example.

The current set does not include visually expressive works like Toccata. Microphones and found objects are absent, limiting sonic and visual possibilities. But I gained mobility and a chance to showcase my skills on specific instruments in return. The set sends mono output and can work without an audio interface. The output choice is efficient but could be risky in a genre that values high-fidelity and multi-channel audio. But I identify the most with the sound of the current set. 

Findings from Analysis

Reviewing a decade of set performances was an opportunity to evaluate what I value most in live electroacoustic music. I value practicality and refinement. I accept that practicality gets priority over aesthetics in my music. Some pieces are no longer in the setlist because they involve more physical labor and are prone to technical errors. The longest surviving instrument over a decade, besides SuperCollider,  is a no-input mixer: it takes a short time to set up and is immune to software updates. This reliability led to more time spent with the mixer. A deliberate decision on one instrument is worth noting in technology-based performance, in which one can access an uncountable number of synthesizers and controllers. Currently, I feel proficient at performing a no-input mixer. I am developing a similar feeling toward Korg Volca Beats.  Efficiency affects aesthetic choices in my music.


I recommend designing, executing, and revising a solo set for electronic musicians. Preparing and practicing sets builds muscle memory and opportunities to overcome weaknesses. Compositions featured in a set get continuously refined with repeated performances. Combining and remixing works in a set often inspires new compositions. The refining process is a luxury for compositions written for others, but set performances demand it by nature.