Composition Project Video: https://youtu.be/q6csr5kvDCk

Visual Code:

Sound Code:

Code – Part 1.

Code – Part 2.

I found this composition project particularly challenging, especially since we had to create a sound piece that evolves like a song while simultaneously developing visuals. Visuals, in particular, have always been a struggle for me. I think I got a bit blindsided by my motivation to create something that looked cool rather than ensuring it aligned with the overall vibe and tone of my sound.

In terms of the sound, the process was incredibly draining. I had structured the first section as the initial verse and the second section as the buildup, intending to include a transition between the two and then a beat drop after the buildup. However, I hit a wall—I was completely burnt out and couldn’t figure out a smooth way to transition between them. Eventually, I decided to make the second section the beat drop instead. That still left me struggling to find the right transition, though, because while the first and second sections felt similar in some ways, I also found them to be vastly different. I would just stare at my screen for hours, unsure of how to bridge them. Lines I initially planned to use for the transition ended up working better as supplementary elements for either section. In the end, I found that gradually fading out sounds one by one and then reintegrating and layering them into the second section was the best solution.

I knew that sound was my stronger suit, so I definitely put more time and effort into it. Looking back, I wish I had managed my time better so I could have balanced both the sound and visuals more equally. I also think the transition could still be improved—right now, when all the sounds in the second part are introduced, the superhoover sound is too overpowering, which diminishes the effect of a transition. Despite the challenges, I always find coding music really fun. That said, with all the midterm assignments piling up, I’m glad we’re getting a break from coding this week!

Ryoichi Kurokawa’s work is impactful because of his unique melding and play with seemingly binary elements to create a hyperreality that transcends conventional sensory experiences. The intermixing of music and visuals through “synaesthesia” creates a transformative experience that works to challenge our traditional perceptions of art and reality. By blending auditory and visual stimuli, Kurokawa encouranges viewers to explore a new dimension of sensory perception which we are typically not used to. This interplay of opposites is also evident in Kurokawa’s exploration of the intersection between technology and nature, as well as the use of computer tech to express artistic intent. In this way, a new genre is created that showcases “unique digital naturalism” whereby Ryoichi essentially creates a new visual language to bridge gaps between the organic and synthetic. The reason why I found this so intriguing and impactful was because it redefines the boundaries of artistic expression, demonstrating how digital technology can be used not just as a tool for creative expression but as an extension of nature itself. I interpreted his work to challenge the notion that technology and nature exist in opposition and instead reveal their potential to exist in harmony which in and of itself engenders new immersive aesthetic experiences.

About Strudel:

Strudel is a version of Tidal Cycles that was initiated by Alex McLean and Felix Roos and developed in 2022. It’s a web browser based platform (hence does not require internal, external software installation unlike Tidal Cycles) that primarily focuses on musical composition and sound synthesis and used to create algorithmic music patterns. It’s a beginner friendly platform, written in JavaScript through pattern-based programming which makes it easy to parse. This pattern-based syntax enables users to define musical elements: rhythms, melodies, effects, using simple text-based patterns. Essentially, music is described using structured symbols and sequences rather than utilizing traditional sheet music, or necessitating complex programming.

Live coding with Strudel is different from conventional performance art. It has no associations with generative art but rather places a central focus on music. This artistic performance is embodied through code projection with Strudel itself allowing for instant feedback, enabling for a seamless and fluid performance and further enhancing live coding culture. Moreover, it’s innovative as a cultural expression for one of 2 interrelated reasons. Strudel allows for democratization of music creation. By lowering the technical barriers that demarcate coding, this performance act is made more accessible to a greater range of audience that embody diverse backgrounds. Moreover, Strudel as a platform, also contributes to the ethos of live coding which accentuates transparency and shared knowledge. This is profound as it reflects the prominent cultural shift toward openness and collective growth in digital arts where code itself materializes as a means of creative exchange. Platforms like Strudel therefore promote live coding to be a more inclusive and participatory artistic practice.

Live Coding Demo and Process:

live coding demo!

Overall, I’m incredibly satisfied with the final result. What I have come to realize is the immense joy and fulfillment derived from the process of experimentation and exploration in creating an ever-evolving sonic experience! Given my stronger affinity for sound over visual elements, this journey has been particularly enjoyable. Initially, I felt overwhelmed by the unfamiliar notations, but after reviewing the workshop documentation—First Sounds, First Notes, First Effects, and Pattern Effects—I began integrating new functions to observe firsthand how the sounds would transform. This process involved considerable trial and error—duplicating and adjusting code, fine-tuning numerical values, and mix-matching sound effects, all while combining them with varying parameters. Once I established an initial piano melody, I proceeded to build upon it by layering additional musical elements: 2) drum beat, 3) main melody, 4) supporting guitar melody. The outcome surpassed my expectations, and I am genuinely pleased with how it has all come together.

Time taken – 2.5-3 hours!!!

I completely agree with the idea that microtiming variations introduce distinct rhythmic personalities. These subtle shifts in timing do more than just alter the beat – they create a sense of unpredictability and individuality that draws the listener in. When musicians deviate from that perfectly regular pulse in ways we don’t expect, it disrupts our habitual listening patterns and heightens our awareness of that present music. Rather than passively absorbing this mundane, steady, and predictable beat, we are able to become more engaged, actively tuning in to the nuances of timing and expression in avid anticipation. This heightened attention makes the experience more immersive and enjoyable, which is what enables us to connect with the music on a deeper level than we might with rigid, quantized rhythms. And, this is precisely why Afrobeats feels so infectious and alive. The way the rhythms play off each other creates this rolling, hypnotic groove that doesn’t just immerse listeners through sound but actually compels a visceral bodily response.

live coding makes software strange

This particular quote from the reading was especially captivating as it illuminates upon the expansive possibilities of coding that goes beyond the rigid, structured nature many associate with programming. It reframes coding as a more fluid, flexible and expressive act akin to playing a musical instrument. It highlights programming as not just a (behind the scene) tool for solving problems but as a more dynamic, performative practice that blurs the line between technical precision and artistic expression.

In this sense, live coding is impactful as it challenges our ‘traditional’, one-dimensional understanding of programming. It deconstructs widely perpetuated understandings of coding to be a linear act of instructing machines to perform and produce specific, predetermined outcomes and instead propels a multidimensional perspective on what programming can be. This is why I think Live Coding as a class perfectly embodies the essence of Interactive Media as a major; it showcases its interdisciplinary nature as a blend of the sciences and arts.