The reading highlights the common nature between Live Coding and other art forms citing structure, rhythmic patterns, and sequence as key aspects. Initially, I held the assumption that music created through live coding might be overly repetitive or adhere to a rigid, machine-like formula. However, I’ve come to realize that the randomness introduced by computers can open up new possibilities and territories, particularly when used deliberately by the performer. Given that both repetition and chaos are essential elements in composition, Live Coding could serve as an ideal medium for achieving a harmonious balance between these two aspects.

The author also explores Live Coding as a practice resistant to hierarchical control, suggesting that it cannot be easily owned by established practitioners or institutions. Reflecting on this, I wonder if the independent nature of this movement could lead to excessive decentralization, making it challenging to keep track of its development. The proliferation of many similar live coding tools, each developing independently, may result in a situation where artists might not unify their power but instead fragment into individual parts. I believe a centralized platform offers advantages, providing a concise and focused space for artists and consumers to connect easily.

I’m particularly drawn to the part where the author talks about the “pluriversal capacity of live coding” to resist any kind of strict classification or explanation. I find creative coding to be this vast and ever-changing realm that keeps reinventing itself with new software and open tools. Defining it becomes a puzzle because it doesn’t have a fixed identity or purpose – it can be everything one wants it to be. The absence of a set functionality is what makes it so thrilling.

The concept of liveliness in live coding strongly resonates with me. There’s a captivating communal nature to it as individuals interact with each other in real-time through code, and this dynamic connection extends beyond the online realm, manifesting in physical spaces. It’s truly fascinating to witness this transition from the virtual to the tangible world.

While coding communities, in general, are bustling and lively, the interaction is often relegated to users with nicknames utilizing servers and Discord channels. The physical aspect seems to be missing, and there’s a prevalent notion of coding in isolation. The idea of people coming together and meeting face-to-face adds another layer to the concepts of authorship and visibility. Live Coding thus challenges the conventional narrative of coding as an inherently solitary and digital pursuit.

We add the words ‘more’ (or ‘less’) earlier than the adjective. Let’s use the one-syllable adjectives ‘quiet’ and ‘small’ as our start line. The comparative types of these words are ‘quiet’ and ‘smaller.’ To make the comparative form of Product Operating Model one-syllable adjectives, we simply must add the suffix ‘-er’. The comparative form of adjectives compares two issues or folks. For example, we will use them to compare two pairs of sneakers, two residences or even our two greatest associates.

Why Is ‘-ed’ Generally Pronounced At The End Of A Word?

A synonym, or word with the identical which means less software, is used within the sentence. To make these guidelines a bit extra digestible (since there are quite a few!), we’ll compare Phoenix, Arizona and New York City. An straightforward approach to keep in mind when to make use of nevertheless is to look at the adverb never, which is used to switch time or information.

General Guidelines For Comparative Adjectives

What is an example of LESS

In English there are various ways to explain rules and obligations. Here is a description of tips on how to express obligation and how and when to make use of modal verbs. Cleaning the floor is my least favorite kind of house responsibilities.

  • We’ve additionally dug deep into totally different comparative adjective examples to practice some of these tricky spelling rules.
  • In an analogous way to comparatives, there are two ways to make use of superlatives.
  • Now that you’ve read about how they work, do this enjoyable quiz to follow.

Words From Taylor Swift Songs (merriam’s Version)

Because Less appears just like CSS, learning it’s a breeze. Less only makes a quantity of convenient additions to the CSS language, which is considered one of the reasons it might be learned so quickly. Create a HTML file named “easy.html”, having the following knowledge. Less is used when talking about issues which might be uncountable or have no plural.

With long adjectives (two or more syllables), we add the words ‘more’ or ‘less’ earlier than the adjective. In an identical approach to comparatives, there are two ways to make use of superlatives. When you want to say that one individual or thing is superior to all others in that group, you should use ‘the most’. When you need to say that one particular person or factor is inferior to all others in that group, you should use ‘the least’. With one-syllable adjectives like ‘large’ and secure,’ we only must add the letter ‘r’ to make the comparative type. In this article, we’ll take a deeper have a glance at the utilization of comparative adjectives and more importantly, the spelling rules for various kinds of comparative adjectives.

You can’t merely demand that a company turn into extra inventive, agile, or product-focused overnight. Culture transformation is a fancy journey requiring a more nuanced method. What does a profitable cultural transformation look like? That’s why we wished to create one thing tangible, something that may be implemented somewhat than just mentioned. As with comparatives, if an adjective ends in a vowel and consonant (e.g. sad) you should double the ultimate consonant.

Can we say that traffic in New York is ‘more terrible’ than visitors in Phoenix? This is because horrible is already an excessive adjective, so something can’t be roughly horrible. Less and least are used for singular nouns, whereas fewer and fewest are used for plural nouns. English lecturers and grammarians will say that “may care much less” is mistaken as a outcome of it ought to mean the other of “could not care less.” Logically, if you may care less, it means you do care some. But in informal speech people typically use “might care much less” to mean they don’t care at all.

Nevertheless is a conjunctive adverb and can be utilized to combine two impartial clauses into one sentence. As of Less three.5, you might also use mixins and rulesets as maps of values. It would not be significant typically – a length multiplied by a size gives an space and css doesn’t assist specifying areas. Less will function on numbers as they’re and assign explicitly stated unit sort to the end result.

The adverbs at the beginning of each compound word additionally offer hints. None in nonetheless is used to describe quantities of one thing, and never in nevertheless modifies details or time. The only one difference is that it is saved with “.less” extension. “Less” is the irregular comparative and “least” is the corresponding superlative. We’ll explain what makes them irregular and how to use these words appropriately. Stack Exchange community consists of 183 Q&A communities including Stack Overflow, the most important, most trusted online community for developers to be taught, share their information, and build their careers.

As grawity’s glorious reply signifies, it’s a means of giving an instruction to the much less pager. In this specific case, using the handbook and tutorial of GNU Parallel, it makes studying the examples easy. As you’ll be able to see in the first instance, if an adjective ends in a vowel and consonant (e.g. big) you have to double the final consonant. Now let’s give consideration to the small print of the way to create each of these adjectives.

What is an example of LESS

Here are four examples of tips on how to use nevertheless in a sentence. Here are 4 examples of how to use nonetheless in a sentence. Nonetheless may also be used to check with a sure quantity of something, which is sensible because it starts with the adverb none, which suggests “no amount” of one thing. Here, we’ll provide you with some recommendations on how to bear in mind the difference between nonetheless and nonetheless in your writing. You can import a .less file, and all the variables in it will be available.

The clue could appear inside the identical sentence as the word to which it refers, or it may comply with in a preceding sentence. Because most of your vocabulary is gained through studying, it’s important that you just have the power to recognize and benefit from context clues. Every transformation is a journey fraught with difficulties. We regularly advise shoppers on the necessity to adapt their constructions, mindsets, and cultures, however we understand that they may be skeptical. There’s nothing more irritating than trying to improve and seeing things get worse. It’s typically easier to revert to acquainted, even ineffective, strategies.We understand that organizational change is a gradual process.

Less refers to a relatively smaller amount, quantity, or degree and can be utilized in this sense as an adverb, adjective, or noun. Less has several other senses as an adverb, adjective, noun, and a preposition. Unfortunately, we can’t use comparatives with all adjectives.

Transform Your Business With AI Software Development Solutions https://www.globalcloudteam.com/ — be successful, be the first!

Group Members: Aalya, Alia, Xinyue, Yeji

 

Final Presentation

https://drive.google.com/file/d/14vo1y2KyfkNQ7snYH1QXRpyS5YRDYc8a/view

 

Video Link

 

Inspiration

The initial inspiration for our final project was different for the audio and the visuals. For the audio, we were inspired by our previous beat drop assignment and had a small segment that we wanted to use for the final and built on that. For the visuals, we wanted to have a colorful yet minimalistic output and so we started off with a colorful circle with black squiggly lines, and decided to create variations of it. 

 

Who did what:

  • Tidal: Aalya and Xinyue
  • Hydra: Alia and Yeji

 

Project Progress

Tidal Process

For this project, we used a similar approach in developing our sounds. This began by laying out a few different audio samples and listening to them. Then we pieced together what sounds we thought fit best and that eventually turned into a specific theme for our performance. Once we set the foundation, it was then easier to break down the performance into a few main parts:

  1. Intro
  2. Verse
  3. Pre-Chorus / Build Up
  4. Chorus / Beat Drop
  5. Bridge / Transition to outro
  6. Outro

 

The next step in the music creating process was to figure out the intensity of the beats, and how we wanted specific parts to sound. How do we manipulate the sounds to have a more effective build up & beat drop, how do we make sure that the transitions are smooth and that the sounds aren’t choppy, etc… These are all questions that came up when we were in the brainstorming process.  

 

Some of the more prominent melodies found in our music consisted of:

 jux rev $ every 1 (slow 2) $ struct "t(3,8) t(5,8)" $ n "<0 1>" # s "supercomparator" # gain 0.9 # krush 1.3 # room 1.1

As well as creating different variations from it such as:

jux rev $ every 1 (slow 2) $ struct "t(3,8)" $ n "1" # s "supercomparator" # gain 0.9 # krush 1.3 # room 1.1 # up "-2 1 0"  # pan (fast 4 sine) # leslie 8struct "t*4" $ n "1" # s "supercomparator" # gain 1.3 # krush 1.3 # room 1.1 # up "-2 1 0"  # pan (fast 4 sine) # lpf (slow 4 (1000*sine + 100))  n "f'min ~ [df'maj ef'maj] f'min ~ ~ ~ ~" # s "superpiano" # gain 0.8 # room 2 

Next, it was just a matter of developing the sounds further. For example, we had a specific melody that we particularly wanted to stand out, so in order to support it, we layered sounds and effects onto it until it developed into something we liked. That was the case for all the music parts. It was all about balance and smooth transitions, forming a cohesive auditory piece that also complimented and went well with the visuals. 

 

Hydra Process

We started with a spinning colorful image (based on a color theme that we like) bounded by a circle shape. We then added noise to have moving squiggly lines at the center and decided to have that as our starting visual.

Alia and Yeji then started to experiment with this visual separately on different outputs and had all screens rendered so we can see them all at the same time and decide on what we like and what we don’t. 

At first it was purely based on visuals and finding ones we liked before coordinating with Aalya and Xinyue to match the visuals to the beats in the audio. 

We then started testing out taking different outputs as sources, adding functions to them, and playing around to make sure that the visuals are coherent when changed and the differences are not too drastic but also enough to match the beat change.

Next, we looked at the separate visuals one by one and deleted the ones we weren’t all agreeing on and left the ones we liked. By that time, Aalya and Xinyue were more or less done with the audios and we all had something to work with and put together.

This was more of a trial and error situation where we would improvise as they play the audios, see what matches, and basically map them to one another. Here, we also worked with the cc values to add onto the variations such as increasing the number of circles or blobs on the screen with the beat or creating pulsing effects. 

We wanted the visuals to match up the build up of the audio. To do this, we tried to build up the complexity of the visuals from a simple circle to an oval, a kaleid, a fluid pattern, a zoomed out effect, a fast butterfly effect, ultimately transitioning into the drop visual. To keep the style consistent throughout the composition, we stuck to the same color scheme presented inside the circle from the very beginning. As the beat built up, we used a more intense, saturated color scheme, along with cc values that matched the faster beat. 

now_drop = ()=> src(o0).modulate(noise(()=>cc[4]*5,()=>cc[0]*3)).rotate(()=>cc[4]*5+1, 0.9).repeatX(()=>-ccActual[1]+4).repeatY(()=>-ccActual[1]+4).blend(o0).color(()=>cc[4]*10,5,2)

now_drop().out(o1)

render(o1)

For the outro, we toned down the saturation back to its default, and silenced the cc values as we silenced each melody and beat, returning the visuals back to its original state. We further smoothed out the noise of the circle to indicate the proximity to the ending

src(o0).mult(osc(0,0,()=>Math.sin(time/1.5)+2 ) ).diff(noise(2,.4).brightness(0.1).contrast(1).mult(osc(9,0,13.95).rotate( ()=>time/2 )).rotate( ()=>time/2).mult( shape(100,()=>cc[2]*1,0.2).scale(1,.6,1) ).out(o0)

render(o0)

 

Evaluation and Challenges

The main challenge that we encountered in the development process of the performance was coordinating a time that worked for everyone and making sure that our ideas were communicated with each other to ensure that everyone was on the same page.

 

Another issue we had was that the cc values were not reflected properly, or in the same way for everyone, which resulted in inconsistent visual outputs that were not in sync with the audio for some of us while they were for others.

 

When Aalya and Xinyue were working on the music, although it was fast coming up with different beats, it took some time to put the pieces together into a complete and cohesive composition.

  

An aspect that worked very well was the distribution of work. Every part of the project was taken care of so that we had balanced visual and sound elements.

 

Overall, this project made us bond together as a group and fostered creativity. Combining our work to create something new was a rewarding experience, and with everyone  being on the same page and working towards the same goal, it was even more rewarding. For our final performance, we accomplished something that we all could be proud of and were satisfied with the progress we had made. Everyone was in good spirits throughout the process, which helped to create an atmosphere of trust, collaboration, and creativity. This project allowed us to use our individual strengths for the collective benefit and gave us an opportunity to learn from each other in a fun environment.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Overview

The process of creating our final performance was a very hectic but rewarding experience! We had a lot of fun working together and combining all our ideas to create one cohesive piece. We experienced several challenges along the way, such as difficulty matching the visuals with the sounds, and also combining the buildups with the beat drops in a way that makes sense, but we got there in the end! We found it hard to split the work into sections and then each working on our sections, so our approach to creating our final piece was to work on everything together. For example, Louis took charge of creating the music, so Shengyang and Debbie would support Louis during this process and offer feedback instead of working on other things (Debbie took charge of Hydra and midi while Shengyang took charge of p5.js). This definitely prolonged the process of creating the final performance, but we found that working this way made the final result feel more cohesive. If we could work on this project again, we would first choose a theme so that we’d be able to split the work into sections and successfully combine our work to make a cohesive piece. Overall, we are very proud of how far we have come! It was an amazing experience working with the team, everyone in the class, and Professor Aaron! We learned a lot of skills that we will continue to use in the future!

 

Debbie’s part:

For our final performance, I focused mainly on creating visuals (with Shengyang) and tying the whole piece together. Initially, I created the following visual with p5.js. 

I really liked this visual because I liked how the size of the hole in the centre could be manipulated to mimic the vibrations on a speaker, or even a beating heart. But my issue with it was that I found it difficult visualising what I could do with the visual other than changing the size of the hole. I tried changing the shapes from squares to something else or combining them with the hydra, but nothing felt right. I wanted to create a visual that could be used throughout the whole piece and changed in unique but cohesive ways. So, a week before the performance, I decided to change the visuals from this to the following:

What I loved about this visual is that the code was so straightforward, and little changes to it could change the visual in huge ways that still remained cohesive. This visual was made completely with Hydra. Here is a snippet of the code:

 

osc(215, 0.1, 20)
.modulate(
  osc(2, -0.3, 100)
  .rotate(15)
)
.color(0.9, 0.0, 0.9 )
.modulate(
  osc(6, -0.1 )
  .rotate(9)
)
.add(
  osc(10, -0.9, 900 )
  .color(1,0,1)
)
.mult(
  shape(900, (()=>cc[1]/4), 0.5)
  .luma()
    .repeatX(()=>cc[3]*100)
    .repeatY(()=>cc[3]*100)
  .colorama(10)
)
.modulate(
  osc(9, -0.3, 900)
  .rotate(()=>cc[0])
)
.out(o0)

Louis’ part:

Like Drum Circle, I basically take charge of the music part of our final work. This is because personally speaking, I am more enthusiastic about making music and have also accumulated some experience creating music via Tidal. In the process of making this final piece, I was inspired by other works, including some works on Garageband (very brilliant works they are but are quite difficult to be realized by using Tidal), the beat-box videos Aaron recommended we watch, and of course our own works (namely the Drum Circle). For me, the most critical parts of this work are the two drops. We spend a lot of time making the two drops to have a good effect of carrying on the top and starting the follow-ups. Take the second drop as an example, we crossed-use the two main melodies (one is the main motif of the main work, and the other one is the melody played at the end. By doing this, I believe we have managed to tie the previous content together and enhance the rhythm of the drop section very effectively (based on the reaction of the audience during the live performance, this section should be quite successful).

I want to thank my two lovely teammates Shengyang and Debbie, they gave a lot of useful advice on how to make the melody as well as make the whole structure of the music part make sense. I also want to thank Aaron for providing great suggestions on improving especially the first drop (at first we have a 16-shot 808 which makes itself more like the drop part than the real one).

Without their help, I won’t be able to realize this work alone.

 

Shenyang’s part:

In the final project, I am mainly responsible for the production of the p5.js part. I was also involved in some musical improvements and a part of the abandoned visuals. I will mainly talk about the p5.js part we realized and put in the final performance. First, we used laser beams, which are realized in p5.js. This effect is added to the top layer of the original hydra section in the second half of the show. This is a screenshot of a combination of the laser beams from p5 and hydra.

The laser beam effect is actually inspired by the MV of A L I E N S by Coldplay that Louis showed us, you can find the MV here, and the laser beam appears at about 2:30. This is the laser beam in the MV:

I used a class to store the location and direction of each beam:

 

 class RayLP {
  constructor(x, y, startAngle) {
    this.originX = x;
    this.originY = y;
    this.distance = 0;
    this.angle = startAngle;
    this.stillOnScreen = true;
    this.speed = 1;
    this.length = p2.floor(p2.random(8,17));
    this.color = p2.random(0,1);
  }
  move() {
    this.distance = this.distance + this.speed;
    this.speed = this.speed + this.distance / 350 + ccActual[9];
  }
  check() {
    this.stillOnScreen = (this.distance < width / 2);
  }
  destroy() {
    delete(this);
  }
  show() {
    p2.push();// remember the fill and stroke before
    if(this.color > 0.5){
    p2.stroke(220,65,255, 180 - this.distance);}//, 255 - this.distance * 2);}
     else{p2.stroke(139,0,50);}
    p2.strokeWeight(9);
      if (this.stillOnScreen) {
      for (var i = 0; i < this.length; i++) {
        var x = this.originX + (this.distance + i *2) * p2.cos(this.angle);
        var y = this.originY + (this.distance + i *2) * p2.sin(this.angle);
        var xTo = this.originX + (this.distance + i * 10 ) * p2.cos(this.angle);
        var yTo = this.originY + (this.distance + i * 10 ) * p2.sin(this.angle);
        p2.line(x,y,xTo,yTo);
      }
    }
    else{this.destroy();}
    p2.pop();  //restore fill and stroke
  }
}

And in the p5 draw function, each frame the program will show and check, and push new laser beams into a list. We finally changed the color/stroke to dark purple and dark red just like the background. After building the hydra function on the laser beam effect, it can twist like the background dots, which makes the effect less abrupt.

Notably, I had some silly errors in my p5 code, and Omar gave me some very inspiring advice. Thanks a lot for that! Also, there was no delete(this) part in the class code at the beginning, which doesn’t cause any obvious problems in the p5 editor. But when migrated to hydra, whether used in Atom or in Flok, it quickly fills up memory. This can make the platform stuck or slow to respond.

I was also in charge of realizing the visuals for the surprise Merry Christmas session at the end. This is migrated from the Examples of p5.js that can be found here.

The syntax for declaring classes this way doesn’t seem to be very acceptable in hydra, so I’ve replaced it with a more common way of writing it that is acceptable to the hydra.

I really enjoyed the class, very intellectually stimulating. Thank you so much to professor Aaron, my teammates, and my lovely classmates! I will miss you guys!

You can find videos of our performances here:

Last but not least:

once $ s “xmas” # gain 1.2 # room 1.5

 

 

Looking back at our final performance composition, we’re not really sure how this thing came together! Like the previous projects, we would bring in different sounds to our work sessions and visuals that we previously played around with and try to make something out of them. Perhaps one of the defining moments of this performance was the buildup exercise as this is when the creepy, scratchy visuals came together with the glowing orb from our drum circle project.
So, this was the starting point for this composition, the chalkboard-like scratchy visual which inspired us to do something kind of creepy and menacing, while involving some kind of grace and elegance.

Sounds
Eadin and Sarah were mainly working together on sound. Although the visuals kind of dictated the creepy vibe, we wanted to maintain our interest in using ambient sounds like what you hear at the beginning of the piece. Later on, instead of staying scratchy and heavy, the piece involves some piano melodies (some of which we spent ages trying to fit by looking through different scales and picking specific notes). However, a lot of the sounds came through by experimentation and live editing. Finally, we made sure that our piece also included a more positive, colorful sound in an attempt to make it sound more complete and wholesome.

Code Snippets

ambient = stack[
    slow 4 $ n (scale "<minor>" $ "{<g> <fs gs>}" - 5)  # s "supercomparator"  #lpf 500 #shape 0.3 #gain 1.1,
    slow 4 $ n (scale "<minor>" $ "{<g> <fs gs>}" - 5)  # s "superfm"  #lpf 500 #shape 0.3 #gain 1.1,
    slow 4 $ ccv "0 10" # ccn 0 # s "midi"
    ]


//piano buildup

first_piano_ever = every 2 (fast 2) $ fast 2 $ stack [n (scale "<minor>" $ "<f d <e a> cs>") # s "superpiano" #lpf 600 #shape 0.3 #room 0.3 #sustain 3, ccv "<20 32 <23 44 22 25 50> 60>" # ccn 2 # s "midi"]
first_piano_ever_v1 = every 2 (fast 2) $ fast 2 $ stack [n (scale "<minor>" $ "<f d <e a e*2 a> cs>(2,9)") # s "superpiano" #lpf 600 #shape 0.3 #room 0.3 #sustain 3, fast 2 $ ccv "<20 32 <23 44 22 25 50> 60>(2,9)" # ccn 2 # s "midi"]
first_piano_ever_v2 = every 2 (fast 2) $ fast 2 $ stack [n (scale "<minor>" $ "<f d <e a e*2 a> cs>(5,9)") # s "superpiano" #lpf 900 #shape 0.2 #room 0.2 #sustain 1 #gain 1.1, fast 5 $ ccv "<20 32 <23 44 25*2 50> 60>(5,9)" # ccn 2 # s "midi"]
first_piano_ever_v3 = fast 4 $ stack [n (scale "<minor>" $ "<f d e cs>(4,8)") # s "superpiano" #lpf 900 #shape 0.2 #room 0.2 #sustain 1 #gain 1.1 , fast 4 $ ccv "<20 32 23 60>(4,8)" # ccn 2 # s "midi"]
first_piano_ever_v4 = fast 8 $ stack [n (scale "<minor>" $ "<f d e cs>(2,8)") # s "superpiano" #lpf 900 #shape 0.2 #room 0.2 #sustain 1 #gain 1.3, fast 4 $ ccv "<20 32 23 60>(2,8)" # ccn 2 # s "midi"]


//drum buildup
d2 $ qtrigger 2 $ seqP [
(0, 4, fast 4 $ ccv "0" # ccn 0 # s "midi"),
(0, 16, fast 1 $ "~ bd [bd ~] bd*2"),
(2, 16, fast 1 $ "[bd, hh, bd, sd]"),
(4, 16, fast 1 $ "[~bd, hh*8, bd(3,8), sd]"),
(0, 8, fast 1 $ ccv "0 0 0 10" # ccn 4  # s "midi"),
(8, 16, fast 2 $ "[~bd, hh*8, bd(6,8,3), sd]"),
(8, 16, fast 2 $ ccv "0 0 0 10" # ccn 4 # s "midi"),
(9, 16, fast 2 $ "[~bd*4]"),
(10, 16, fast 2 $ "[~bd*4(5,8)]"),
(12, 16, fast 2 $ "[~bd*4(5,8), hh*8, bd, sd]"),
(10.5, 11, fast 2 $ n "as a f a" # s "superpiano" # lpf 900 #shape 0.3),
(10.5, 11, fast 2 $ ccv "90 70 50 70" # ccn 2 # s "midi"),
(12, 12.5, fast 2 $ n "as a f a" # s "superpiano" # lpf 900 #shape 0.3),
(12, 12.5, fast 2 $ ccv "90 70 50 70" # ccn 2 # s "midi"),
(13, 15, fast 1 $ n "as a f a as a bs a" # s "superpiano" # lpf 900 #shape 0.7 # gain 1.2),
(15, 16, fast 2 $ n "as a f a as a bs a" # s "superpiano" # lpf 900 #shape 0.9 # gain 1.4),
(13, 15, fast 1 $ n "190 170 150 270 190 720 120 270" # ccn 2 # s "midi"),
(15, 16, fast 2 $ n "190 170 150 270 190 270 120 270" # ccn 2 # s "midi"),
(12, 16, slow 2 $ s "made:3(50,8)" # gain (slow 2 (range 0 1.25 saw)) # speed (slow 2 (range 0.8 3.5 saw)) # cut 1 # lpf 900 #rel 0.5)
] #shape 0.3 #room 0.3 #size 0.6 #gain 1.4

 

Visuals
The visuals were Omar’s work, with the main inspiration for the audio composition being his creation. Most of what you see in the performance were derivates of this first visual layered with different elements, including the glowing orb that we used in our drum circle and looked at in class. After Omar put together the visuals, we would meet together and test out audiovisual interactions that we felt could be effective for the audience || Eadin and Sarah had my back for a good week and a half while I was working on capstone so just a big props to them for making awesome music that inspired and motivated me to make fitting visuals. Visuals were inconsistent because of our attempt to exploit glitches (by not hiding p5) in making a very pleasing visual. Some of the visual quality had to be sacrificed for reliability during the performance. Our last visual also didn’t show in the performance because I had toyed a bit with variables before the performance. But I think it was alright regardless, we learned to improvise.

Code Snippets

lightning = () =>
{
  return(
  src(o1).mult(src(s0).add(noteLine(),0.8).add(noteLineThin(),0.8)).blend(o0,0.3).modulate(o1, 0.03)
    ) //lightning light
}
flash = () =>
{
  return(
  src(o1).diff(o0).mult(src(s0).add(noteLine(),0.8).add(noteLineThin(),0.8)).modulate(o1,0.03) //lightning
    )
}
flashH = () =>
{
  return(
  src(o1).mult(src(s0).add(noteLine(),0.8).add(noteLineThin(),0.8)).modulate(o1,0.03).diff(o0) //lightning with flash
}
flashGH = () =>
{
  return(
    src(o1).mult(src(s0).add(noteLine(),0.0).add(noteLineThin(),0.0)).blend(o0,0.3).modulate(o1, 0.03)
  //lightning with flash HEAVY
    )
}


tissue = () =>
{
  p1.colorMode(p1.RGB);
  p1.noFill();
  p1.stroke(255, 0.1);
  xoff += 0.02;
  yoff = xoff;
  for (let i = 0; i < 10; i++)
  {
    p1.push();
    _x = p1.noise(xoff)*p1.width;
    _y = p1.noise(2*yoff)*p1.height;
    _r = p1.random(3);
    _hyp = p1.sqrt(p1.pow(width/2, 2) + p1.pow(height/2, 2));
    _d = p1.map(p1.dist(_x, _y, p1.width/2, p1.height/2), 0, _hyp, 0.05, 1);
    //only first shape gets bold on drums
    if(i == 0 && p1.frameCount%4==0)
    {
      _s = 50 + 10*ccActual[4] + 50*ccActual[1];
      p1.stroke(255, ccActual[4]/4 + 10*_d);
    }
    else
    { 
      _s = 50;
      p1.strokeWeight(1);
      p1.stroke(255, 10*_d);
    }
    //circle
    if (_r < 1)
      p1.rect(_x, _y, _s, _s); 
    //square
    else if(_r < 2)
      p1.circle(_x, _y, _s); 
    //triangle
    else
    {
      _angle = p1.random(0, 2*p1.PI);
      _angle2 = p1.random(0, 2*p1.PI);
      _angle3 = p1.random(0, 2*p1.PI);
      p1.triangle(_x+_s*p1.cos(_angle), _y+_s*p1.sin(_angle), _x+_s*p1.cos(_angle2), _y+_s*p1.sin(_angle2), _x+_s*p1.cos(_angle3), _y+_s*p1.sin(_angle3))
    }
    p1.pop();
    yoff += 0.05;
  }
}

 

Explaining some Creative Choices
combining Hydra diff coupled with a blend or modulate to have a lasting flash effect of the light on the canvas when the light pops into a random position. This is better achieved with instantaneous/discrete change of light positions than continuous movement.
modulating slightly with the light orb gives a 3-dimensional quality to the movement of the light, which nicely translates the drum impact.
the piano tiles were recycled from the composition project. The visual looked a little too round and symmetrical so we opted for more asymmetry by making the tiles on both ends of the canvas different sizes. Part of it was also that Sarah liked the smaller tiles and Eadin the bigger ones. So we chose to pick both and it worked well visually.

 

More Notes on Final Performance / Reflection
In terms of the final performance, we didn’t notice that the tidal code constantly disappeared (aka. the zoom-out thing). What we have learned here is that while performing it’s important to ensure what’s actually going on on the main screen. In addition, while doing it on stage, our pace was a bit slower than practicing, because once you miss the opportunity to trigger something you have to wait for, say, the next 2 or 4 cycles. We think there’s definitely value in improvisation. The point is how we can find a balance between following a strict plan and improvisation and this is something that we continuously experimented with as we practiced for the final performance.

The 8bit Orchestra was an incredible experience, it was so exciting to put together a lot of creative energy and come up with a piece that stuck with us to the point that we were humming it every day leading up to the performance. Moreover, seeing everyone’s work come together, from our two-minute, nervous performances in class to our algorave was an amazing reminder of our progress and the time we all spent together.

 

 

Below is a video of our performance:

 

<3