Why I chose FoxDot:
I honestly started with clive because I’m a bit interested in C language and wanted to explore something with it. However, there was a lack of information on clive. The documentations on installing and composing music with it was not well done, making it hard to explore. So, I started looking at other options and found FoxDot quite similar to TidalCycles. It also had better documentations to help beginners get it started. (Although I had to change from clive to FoxDot, I still think this exploration was meaningful as it highlights the importance of documentation, especially in more non-common fields such as live coding.) Also, FoxDot uses SuperCollider to output sound, which made it more familiar for me.
What is FoxDot:
FoxDot is an open source live coding enviornment, designed specifically for live coding. It’s in Python, making it more intuitive for the users. (At the same time, after looking at other enviornments our classmates have been exploring, I think there are many more options that are easier and more intuitive.)
Many live coders liked FoxDot mostly because of the fact it was in Python. However, it has been explicitly announced that there will be no further developments/updates: only minor changes when issues are found.
Advantages and Disadvantages of FoxDot:
Personally, I think live coding environments that have higher technology and more reflection of physical music composing are harder for people like me (who don’t have experience in composing music) to understand and play around with. As somebody with a background in computer science, environments like FoxDot, where composition can be done in a more code-like manner, is much more approachable. While I was not able to get to the level of using it, FoxDot can be used along with Sonic Pi, making it more attractive for live coders.
The downside is that since it’s not being updated, there are so many issues that happen with installing and running it. There were many clashes with python and I had to manually edit multiple piles to make it running. Also, there’s a limited number of sounds in FoxDot’s sound library, which may limit the mood and style of music live coders can create.
Example Performance:
Here is a video of a live coding performance with FoxDot done in Momentum Tech Conference 2019, Karachi.
Short Performance:
Below is the code I prepared to show for our in class performance. I left out some parts by mistake, so hopefully this sounds better.
p1 >> play("x-o[--]")
p2 >> jbass(dur=3, sus=1)
progression = [0, 7, 2, 4]
rythm = P[0.5, 0.5, 0.25, 0.25, 0.25, 0.25]
bassline = P[progression].stutter(len(rhythm))
d1 >> pluck(bassline, dur=rhythm, amp=0.5)
d2 >> pluck(bassline, dur=rhythm, amp=0.8, echo=0.5, room=0.5)
melody = P[0,2,4,5,7]
d3 >> pads(melody, dur=0.5, oct=(4,5))
d4 >> scatter(melody)
d5 >> arpy(bassline, dur=rhythm)
p1.stop()
p2.stop()
d1.stop()
d2.stop()
d3.stop()
d4.stop()
d5.stop()