︎What I’m Working On︎Roxanne Harris︎What I’m Working On︎Roxanne Harris︎What I’m Working On︎Roxanne Harris
Roxanne Harris performing live coding with Sonic Pi. Image by Justin Berry, 2022.
What I’m Working On
Roxanne Harris
Live coding entered my life in September of last year, mainly due to the fact that I am doing Computer Science and Music as a double major. I needed to do two separate theses. Instead of doing twice the work, I wanted to find one topic that I could approach from different angles.
There are only two computer music people at Yale. One is Scott Petersen. He teaches algorithmic composition, algorithmic music, and heuristics. I took his class dealing with sound synthesis and sound design, and learned about the program SuperCollider. That’s when I got my first exposure to using code that would make music. At the time, I wasn’t aware that people used that as an aspect of performance. It felt really niche back then; it still does. I didn’t see a community around it, or if there was one, it wasn’t where I was at. When I was figuring out how to structure my thesis, I re-encountered it, and spent the whole last semester studying. I chose Sonic Pi as my environment of choice for music-making. It was very technical. Starting this semester, I thought: Let me just make music!
I grew up surrounded by music. My parents immigrated from Jamaica to Queens, New York. They brought over a lot of their CDs—reggae, reggaetón—with them. My dad has these speakers in the basement. In the third grade, a new marching band course was introduced. They brought in instruments to rent. I picked the saxophone. It was golden, had a good shape, and had the coolest sound. I almost couldn’t play it, because my hands were really, really small. I thought that it sounded the most human. It was the most expressive. The way that you can bend the notes, and the range of frequencies that it can occupy. In pop music, especially at that time, if a saxophone is featured, it has a very strong sound, a very distinct part. I liked how saxophonists were the main character of a song. It’s not that I need to be the center of attention, but I care about having a voice, being present, and being perceived clearly.
When I first brought it home, my parents thought I was crazy. They couldn’t blow into it, but somehow, I knew how. I had an intuition about it. I didn’t have to be taught.
I’m always influenced by what is around me. When I was younger and people asked what I wanted to do when I grew up, I’d say: I want to be a professional Formula One race car driver, a video game designer, a tester, a professional track star, and a professional musician. I thought that I could do it all, and I don’t think that’s impossible! Except for Formula One, I think I’m not going to be able to do that. That came from my dad. Video games, too, are a key point of relation with my family. When my hands were big enough to hold the controller, my older brother gave me one so that I could play. It’s one of the only ways we interact consistently. This has made me want to create more experiences that bring people together. In terms of computer science, video games planted that seed. There’s so much that goes into creating one—sound, storytelling, script. But to make it all happen, someone had to program it. For the longest time, I wanted to do computer science only to make video games. As I got older, it became less about video games and more about interactive, immersive experiences.
Over time, everything got fused closer and closer together. Everything I do co-exists, each part is integral, part of the other’s processes. I use programming as a method of controlling music, and I use musical terms, abstractions, and ideas to inform how it organizes the code. All this didn’t come together truly until my junior year. I took a class called “The Fundamentals of Music Technology” with Konrad Kaczmarek which was vital in expanding my idea of music, to the extent that I walk around and hear the ambient sound of the street, the light changing, a car going by. I started to think about how important it was to gain a new vocabulary, and have a new language to open up the strict different definitions of things, and learn words like “soundscape.”
Everything I do co-exists, each part is integral, part of the other’s processes.︎Everything I do co-exists, each part is integral, part of the other’s processes.︎
I’ve been really getting into thinking about aspects of performance other than the sound, such as working projections. This comes from dance videos, too—not just listening to music in a void. Things that are reactive and living, not just static images. Another effort aspect of preparing for a music performance is going through code that I wrote in practice, or even bringing in old code: Doing a lot of refactoring. Condensing ideas, reorganizing things, getting it to be a lot more. It’s about making it a lot more manageable, because a musical performance is a limited time. Reducing the lines of code and the effort needed is crucial: Whether I want to chop it up into eighths or sixteenths, or play on every quarter note, or offset things. I try to organize my code in a way that makes it as easy as possible for me to just have the idea, and then know what to do. Even if I don’t know what it’s going to sound like, I can express and experiment with the idea as fast as possible, then go on to the next idea. I optimize my code writing to allow me to be very expressive. To help me improvise, while knowing that I have some things that work. Being able to switch ideas seamlessly and keep going. That’s the code prep. There’s the source material prep, and there is the code prep.
The first and foremost thing I want to do is do the music. Even if the visuals don’t work, or something goes wrong, the music is the focus. I practice a lot on my own time, writing code, having new ideas for songs. I’m really into slicing and dicing existing songs. The most important thing is making sure that you have good source material. It will take you very far. I’m building a library to have on hand. Right now, I love Kendrick Lamar’s “DNA” track from his DAMN album, and Beyoncé’s “Pray You Catch Me” from Lemonade. I have some Chicago footwork music in there, like “Blue Moon Tree.” I want a library that’s ready to go at a moment’s notice, so that if I want to switch up a song or vibe—if I’m not feeling something, or just want to experiment—I can do it. I can either switch or combine songs, mix them up, and mix different parts.
I optimize my code writing to allow me to be very expressive.︎I optimize my code writing to allow me to be very expressive.︎
I listen to popular music: Hip hop, rap, R&B, real slow stuff, pop. I love to go out and dance, and know the music that’s playing. Sometimes I like old classics like Calvin Harris and EDM. Listening to music on different streaming platforms has different implications. Spotify is a lot more mainstream, because of the way that the algorithm works, the way the content is displayed, and whether I can save it. On SoundCloud, there’s a lot more variety. It’s closer to the metal, with people doing remixes, mash-ups, and weird, weird stuff. I already started that in high school. Back then, too, I started binge watching dance videos on YouTube. Anything and everything, not only hip hop, but also floor work, ballet, contemporary competitions, underground competitions, raw footage. A lot of my music discovery process was through that. I follow choreographers, too. This is my connection with dance—the association and memory that it creates with the music. Oftentimes, I would have the experience where I heard a song in a different context without the dance visuals, and I would not like it. Then I would see the video, and love it. Not only is this how I get my music, and the context in which I’m getting it, but it’s also re-emphasizing this idea of re-contextualized vision. As I grow more as an artist, I try to emphasize that aspect of recontextualization and deconstructing something, and building it back up.
Still from Live Coding Practice Session w/ Sonic Pi, Roxanne Harris, 2022.
For my Computing and the Arts performance at CCAM in April, at the Motion Capture Leeds Studio, the music video I used was Kendrick Lamar’s “Element.” I chose that because it’s very lush, expressive, and playful. As well as Sonic Pi, I used Max/MSP, a visual programming language, to control the visuals. In terms of making things react to the sound—whether it’s the volume, a detail, or to trigger a sample, bass drum, or hi hat—I want something to happen. Sonic Pi can’t do all of that, so I established a communication with Max/MSP. I could skip around the music video in the same way I was skipping around the sound. I wanted to dynamically apply video effects based on the sound events. So, I’m skipping around the music video, I’m using commands I’m sending through Sonic Pi, and I am also sending for an RGB effect, which splits the red, green, and blue into different planes (if you’re ever worn 3D glasses, that’s what that looks like). I also used a pixelated effect, which randomly changes the resolution of the screen, making it weird and shaky.
I wanted to project all of this onto a six-panel projection in the Leeds Motion Capture Studio. The day of the performance, I wrote two patches. I wrote the entire Max/MSP patch, then I wrote a patch in Isadora, which is another visual programming language, more specialized for projection design. So I had three programs running: Sonic Pi for the music, Max/MSP for the visuals, and Isadora for the projection. In terms of getting Sonic Pi and Max talking over the network, I had to get the IP address of the Leeds Studio computer. I was still getting all this combined as the event was starting. People were walking in, the projectors were on, and I’m still in the process of connecting everything up. In a way, I perform twice. Setting up is part of the aesthetic. I was thinking, That’s great! And I was also like, Oh my God, I hope this works!
Stills from Live Coding w/ Sonic Pi @ CCAM Blended Reality Studio Fellow Showing, Roxanne Harris, 2022.
I realized that later on that I had left my charger for the computer in a classroom. I had to bike really fast to go get it, come back, plug it in, and still be adjusting code. It was really hectic. Even in the video of the performance, you can hear the battery-low sound. And I’m making gestures toward Konrad Kaczmarek, asking him to plug it in. Then I change the music, and just leave—and I let that run like a live process. I go over to the back, get my charger, come back, plug it in, keep going, rolling with it. People are telling me that they loved that, I guess because it was all part of the aesthetic.
As an artist, I want people to dance. I want people to feel something. I like to have people in motion. Doing something of that nature requires a little bit more prep than I was able to do for this one. For the Thursday performance on May 5th, I definitely want to play dance music, things that will make people dance. I don’t mind the exhibition-type things and the soundscape stuff, but I want to be in the dance scene. In the future, I see myself playing, live deejaying and live coding at places with freestyle competitions. I want to collaborate with dancers and movement artists in those spaces to make cool stuff.
Still from alsoknownasrox + s4y | Emergent Pathways w/ BKVoltage Lab @ Starr Bar, Roxanne Harris, 2022.
I’m not devoid of any anxieties. There’s a degree of acceptance in that: When you’re improvising, anything can really happen. You’re dealing with so many different programs that you have to be ready for the unexpected. That has given me a lot of peace and power. In performances, sometimes there are pauses. People think that’s part of it, but it’s really me making an error in the code. I’m stopping, and I have to pick back up and keep going, push through. I think this is really helpful and liberating. To be able to do that affirms that I show off my skills. Everything I’m doing is truly improvised, and coming from me. It feels very me. I’ve definitely regained a lot of agency in my creative practice and artistically through this process. There’s nothing like it, during a performance, when you’re improvising and you land on something really, really good and you let that play. You just rock out. That—in and of itself—that little part that you made up, could be a whole song, it could be someone’s whole thing. And you came up with it, through your process. There’s nothing like that feeling.