What I love the most about Live Music Coding is that once I start jamming and catch the tone, I have the feeling of relaxation; from that point, I do not want to stop it and time just passes away. I also love that it is easy to reach – imagine you have every kind of instrument in your home and every hardware to do any kind of effect you could imagine; the rest of it is up to you. The most important thing is that it is live! I am listening to what I code at the same time – I have never felt my brain so alive!
My name is Egehan Gunduz. I work remotely as a Software Engineer at Metrobi, a Boston-based B2B wholesale delivery start-up. In Metrobi, the team is international – the business may easily become global, and deliveries are made for local businesses, so supporting them fulfill my needs in terms of ethics. My journey is now continuing in Dublin, where I am doing an MSc in International Business Management.
I grew up in a small town in Turkey named Isparta, and then moved to Istanbul to study computer engineering in Istanbul. During my university years, I did an Erasmus Program in The Netherlands and an internship in Cork, Ireland. In 2016, I came to Dublin for a summer and fell in love with the city. I promised myself that I would come back and live in Dublin.
Outside of my job, I love Live Music Coding. My passion started when I was trying to find a topic for my graduation thesis. Some of my professors published their proposals for students; that’s when I discovered music information retrieval (it can be thought of as the combination of music and data science). During the research, I was looking for what people could accomplish with it – Spotify, Shazam, and all the others have already done their best in the industry, and I was going to make the small Spotify prototype for my thesis. Then, I wanted to move one step ahead of that. In 2018, I read a blog about live music coding and how it could affect the music industry. I have always looked for new ways to improve myself to connect emotions, music, and technology, so I was really interested in music information retrieval and how music could affect our daily life. People were writing simple codes and producing songs of any kind without using any instrument or spending any money on recording. Electronic music already made its revolution, and live music coding may be the next step for bedroom music producers.
The process of live music coding is similar to creating music with a real-life instrument. For example, when you touch a guitar string, it is already tuned to give some specific sound. When we start learning any instrument, we are instructed to make a specific sound. To do so, we simply put our hands on specific points or use our breath. Imagine if we instead give these instruction series to computers. On a deep level, these instructions are the representation of mathematical expressions so that the computer can understand what we want to play. When you write a single line of code, you run the code and it starts to give the sound exactly how it is programmed. However, we want some changes during the song so that we will not get boring. Here, algorithms and sequential instructions help us. You can play do-re-mi-fa-sol-la-si in almost any instrument; in the computer, these are represented by a number from 0 to 6 (it goes much deeper than this, but those are the basics of Live Music Coding).
I use SuperCollider for my Live Music Coding, which I use for real-time audio synthesis (thanks to its creator James McCartney). There are a lot of languages written in the industry, and I commonly use FoxDot written in Python syntax. SuperCollider must be working at the same time because it is the tool that converts the sound to your speakers.
Here’s a YouTube link to show an example of live music coding in action:
I generally listen to electronic music and use this genre in my live music coding – it has some limitations and has not reached its full potential, however. In FoxDot coding language, it sounds more like electronic music. There is also another tool named SonicPi, where you can play the guitar and even make country music if you want. Since connecting an external microphone or any other hardware and playing pre-recorded sounds is possible, you can even mix your best movie quote with your best song in a minute.
One of my favourite experiences was when I volunteered at a coding camp in Turkey under the Linux Open Source foundation to teach live music coding with Python. At that time, I had never been a teacher before. There was a 13-year-old guy in the course who never wrote a single line of code in his life and did not know what music essentially is (except for listening to movie themes). He was playing video games during his free time but when we showed him some samples in the class, he decided to code the Star Wars intro theme and he did it without any hesitation! Then, I realized that music is so universal that everyone can be a part of it – for me, I was so proud of incorporating this 13-year-old guy into live music coding. Sharing is the best!
In addition to live music coding, I also code visuals in real-time. There are some rare people in the world who use algorithmic composition for audiovisuals. I would like to connect these two and show people that coding is doable for any kind of person. In the long run, live coding will be my self-expression. I would like to add visuality as much as possible and even connect with the real world. Writing my own language with Sema and apply artificial intelligence to the sounds for better quality is one of my other goals.
I do see similiarites between live music coding and my job as a Software Engineer. Since I am coming from a tech background, it was easy for me to understand the logic behind music coding and get familiar with it very quickly. Composing music helps me to empty my mind, and doing it by code helps me to improve my coding skills. Vice versa, coding in my job gives me extra knowledge about technology, and this indirectly reflects my live coding skills and my usage of the tools. I am looking for opportunities that I could connect tech and live music coding together.
My advice to anyone interested in Live Music Coding is to look at FoxDot, which has Pythonic syntax and is easy to learn. For people more experienced at coding, you can look at TidalCycles, SonicPi, and Hydra if you want visuality. If someone would like to have a look at it on a deeper level, they should look at SuperCollider (where you can even code your own instruments) and Sema (where you can write your own live music coding language). Personally, I see that it is my mission to help people to spread live music coding. Besides, it is open-source, so everyone interested in it can download and start producing!
There is always more than tech. The common bond in all of us is to have emotions. I think music is the best way to address people’s emotions – it is so common that it does not matter which nationality you come from, or your age, gender, and beliefs. It is universal and everyone listens. Music is your chance to tell your story.