- Jun 18, 2024
You are now a Creative Coder
- Estevan Carlos Benson
My journey through "creative coding" begins before the term existed. In the early 2000s, I studied a language known as CSound which is effectively the C language optimized for audio synthesis. It introduced me to the beauty of hearing math and programming logic that changes and evolves sounds. I knew at the time that this was likely an esoteric subject. Something that only my small cohort at a university would find interesting. As the decades progressed, I saw an increasing interest in creative coding but for the visual kind.
The concepts overlap (programming visual and sonic information). So I consider it all one family. Through this process of studying and teaching the subject I've seen a consistent response:
What is this and what can you do with it?
For the non-coder, this is a very abstract question. It can be harder to make sense of it all. For the person new to coding, it can feel frustrating. I want to answer that question and offer some guidance to those new to writing code for sound and music.
What is possible? A brief list:
Representing numbers and math: You can take different mathematical concepts and represent those calculations through sound and musical structure. Although we only hear frequencies within a certain range, we can use math to scale results into a perceptible range. This may open the door to sonic results you otherwise may not have planned yourself.
Physics and nature: With physics we can take what we understand through the observation of nature and turn the results (number values) into sound. For example, gravity and mass can be used to trigger musical notes
Conditions and Control: The artist John Cage once wrote a composition on handmade paper. For every random visual marking on the paper (a dark spec of pulp) he wrote a musical note on a staff. This became the composition. Through creative coding you could structure rules that define your musical results with the use of randomness. This doesn't mean every event is random (I don't recommend it). It can mean that only certain musical information could be random such as loudness, a filter, an oscillator, a sample, etc.
Probability: This is often confused with randomness and it's not the same. Through code you could define the likelihood for certain musical events to occur. Maybe an oscillator becomes brighter 50% of the time a note occurs. This could add variation and make it less repetitive.
Timed events: Music is a time-based medium. With creative coding you might want to define time-based rules that influence the outcomes. For example, you could define a meter that modulates a parameter on the downbeat and a different meter that modulates a different parameter on a separate downbeat.
"Why be a creative coder?" Here are my thoughts on that:
Performance: Creating conditional rules that respond to your musical performance can add the element of surprise or nuance your live performance may need. You should also keep in mind that this is not a product. This is something you can make yourself that is optimized for your performance goals. For example, maybe you want a specific sound to occur during a performance, but you only want it to happen sometimes when you play certain notes. It could be a sound that is specific to a performance piece.
Modulation: Depending on your software environment, modulating sounds or effects may be limited, vast, or unclear. Either way, through creative coding you may find a way to modulate parameters according to your very specific goals. You could set up a wavetable and modulate the phase distortion only when you play specific chords. Imagine creating a song where you know the chord progression and you plan out modulations according to that. You could also modulate parameters on the condition that other parameters change as well.
Tuning and Pitch: Modern music production emphasizes very precise pitch and tuning systems. This differs heavily from the analog world where it was very common for guitars and pianos to always be slightly out of tune in varied ways. Many of our favorite songs have slightly out of tune elements. You could use creative coding to express "natural" detuning. For example, you could write code than randomly detunes notes by a few cents, giving it a more characteristic feel.
Composition: Although many composers feel strongly that they should define all specific notes for their composition, the creative coder has the ability to write code that helps them generate notes. Depending on your principled position just remember: you wrote the code! So you should see it as an extension of your hand as a composer. With code you could define rules that generate notes. With the use of MIDI you could specify note events that occur when other notes happen first or create a condition that repeats specific notes with diminishing velocities.
This short list represents the way in which I imagine and brainstorm through my creative process of writing code for sound and music. I believe any combination of ideas here can lead an artist towards creating unique results for their compositions and performance.
Join our mailing list
Get the latest and greatest updates to your inbox!