The Funky Finale: My Closing Statement in Waveform 11

Before breaking down my piece, here’s the MP3 and a couple screenshots of the final Waveform session in all its glory:

Without Folders Expanded
With folders expanded…

Introductory musings:

I quite enjoyed embarking in the direction of jazz/funk-infused electronic music last time around, and with this project I wanted to delve into that combination a little deeper. Crucially, for this project, I had access to my MIDI keyboard, which opened up a whole new realm of possibilities musically; in my opinion, as much as one can attempt to “humanize” melodies and harmonies drawn in MIDI form or played on a virtual keyboard, nothing quite sounds as organic as the dynamics and articulation one gets from playing on an actual keyboard. Musically, my chord progressions and melodies were thus all born out of endless noodling and improvisation on the keyboard – using this as a foundation, I moved into formulating ideas for my intro.

Reunited.

I boldly decided to open my piece with vocal harmonies that would introduce my key of F# minor (extended with a 7th and 9th) – I use the word ‘boldly’ here as I am decidedly not a singer by trade; this presented an interesting challenge with regard to maintaining consonance and, to put it bluntly, not starting the piece out on a really sonically poor note. Using the information I gathered about the iPhone mic at the very beginning of the course, I used a close-mic technique in recording to save myself some trouble with adjusting levels at the mixing stage, as well as to make it easier to gate any background noise. I recorded 5 degrees each of chords that I planned to use at some point in the piece, and cut the background noise out in each individual audio file with Audacity’s “noise reduction” feature, by taking a noise profile of the room I recorded in. Several takes later, this is the dry version of the opening harmony of the piece.

Capturing a noise profile in Audacity

This wasn’t, however, to be a piece at all dominated by vocals – I wanted to harness my harmonies to create an ambient pad sound whilst still retaining the human quality of my voice: effectively a vocoder-esque sound. This is the effect-laden intro you hear – I apply a phaser over 16 beats to allow it to take on a sweeping quality, gradually lifting the low-pass filter off to add to this. Each degree of the harmony moves outright left to right or vice versa over the four bars to create a sense of movement, shown in the panning automation curves below. It is This is accompanied by a fairly heavy reverb and delay on it to create an ambient spatial quality and dovetail into the following pad-dominated part of the intro effectively.

The vocal layers
Turning vocal harmonies into a synth-esque sound with a slew of effects
 Introduction Pt. II:
An example of the sidechaining to the kick

And that’s exactly what occurs next: the stacked vocals transition into a pad playing the same notes as well as an ambient rhythmic sound effect of a crowd at a party (courtesy of Splice, original sample of 110BPM slowed down by ~9.091% to reach 100BPM), in the second part of our introduction. These two elements sit firmly atop an introduction of our 100BPM, 4/4 pulse played by bass drum with the high end cut out (to create an “underwater” feeling). This is then joined by a secondary layer of the same chords (played in a different inversion) played by a keyboard/pad sound that I created in Waveform’s native 4OSC instrument with sine and triangle waves with a long sustain and release, to fill up the textures a bit. The second 4-bar phrase also sees the introduction of a sub bass playing a variation of the chords’ root notes, and a noise sweep to build up to the first major melodic portion of the piece. The most significant thing about this section sonically is the use of sidechain compression – every element but the kick is sidechained to the kick. This gives us an element of that dance music novelty and vitally contributes to the pulse and bounce of this section, effectively foreshadowing what is to come later in the piece.

The pad chords
The EQing of the “underwater kick”
 Section 2: Development of Funky Melodic Motifs, Grooves and a Bassline:

What follows is a release of tension, albeit not in the form of a “drop”; this, instead, is where I start to develop some of those jazzy motifs. The intensity, texture and bounce of the four-on-the-floor kick and stacked pads and bass cuts out for this section, switching to an airy, keyboard and pad-driven section where we get a clear sense of the F#m9-Em9 chord progression, complemented by a pitch-bent keyboard ostinato sitting on top of the pads. The chord-playing keys, whilst playing in unison are panned slightly left and right respectively to spread the mix out. I made the slightly cheesy choice here to include a sound effect of water being poured at the beginning of this eight-bar phrase – I am convinced there’s something metaphorical here about the piece “flowing”. The second half of the phrase sees the introduction of the bassline that underscores the groove that follows. We finally build up into the main melodic motif with this as well as another noise sweep (raw this time as opposed to sidechained).

The bassline sequenced in MIDI form

The second eight-bar phrase of this section is where we get the first listen to the main melodic motif of the piece (a product of keyboard improvisation). This is played by a Subtractive synth that I created built off one of the keyboard presets, increasing its glide and decay and reducing some of the bulkier spatial effects from the original. With regard to general sound design for this project, I made a preliminary promise to myself – I wanted to design any and every MIDI sound I used myself to some extent (i.e without using, say, an untouched Subtractive preset in its original form).

The main melodic motif, played into the MIDI keyboard utilizing both pitch bend and subtle dynamic changes

All of the melodic aspects of these phrases noticeably sit atop a light drum groove – it is deliberately rather soft and insignificant without occupying too much of the low and high frequencies, more intended as a topper of sorts. I made this choice to maintain the emphasis on the development of the keyboard phrase and basslines, two important features across the entire piece. This was built using samples input into Waveform’s native drum sampler, with high velocity sensitivity to humanize the dynamics, particularly on the hi-hat. I wanted this section for the most part to feel organic, to strike a sharper contrast with the more conventional electronically influenced parts of the piece. The signature reverb-laden snap ends the section and signals a transition to the hook/drop buildup.

The drum groove in question with “humanized” hats

Hook/Drop Buildup:

The hook buildup in question is instrumentally a rather sharp contrast to the section that precedes it; it’s probably most reminiscent of the wet, pad-laden, percussive part of the intro, this time combining my vocal harmonies and the pad to really thicken the texture. The pad and bass from that section are reintroduced and the effects on the vocals are rather different, mainly in that they are slightly less heavy and slightly more conventional and human. Gone are the dense, robotizing dynamics filters, instead creating a more breathy and open vocal sound. This is coupled by a new variation on the vocal harmonies: a more percussive, plosive sound, foreshadowing the synth pattern in the hook. There is a greater amount of reverb and chorusing, as well as a light sidechain to the bass drum on each quarter note to maintain emphasis on the buildup. For the first time, I opted for the gimmicky EDM bass drum speed up (by subdivisions of 2​) – it feels like a cop out and I’m disappointed in my lack of creativity here. So it goes. Finally, this time for real, the sidechained noise sweep builds into the hook section, as all instruments are cut out for the less-than-subtle transitioning “​Woo​!”.

The buildup shown in the session

The Hook:

the sharp articulation of the drop chords

Formulating the hook was an interesting process. So far, the pieces of the project I’d created were stylistically very different to one another – it was either building up to a texturally heavy, synth pad and lead-dominated drop, or a typical jazztronica-inspired funk break, posing quite the dilemma. Naturally, I opted for neither. In the spirit of creating contrast, I went directly against the wet, nebulous openness of the buildup and went for sharp, syncopated and stabby synth chords atop a simple quarter note drum groove with a thick snare. I wanted to create a shock factor by countering the texturally heavy elements earlier in the piece with a minimalistic and groovy drop. This is further set up by the bassline that provides an interesting rhythmic counterpoint to the lead chords, an homage to the infectious grooves of 60s-70s funk.

bass noodling to fill the space

I found that solely dry elements in the hook created a pretty dry atmosphere, though (realized how blindingly obvious this was as I wrote it). I needed at least one element to be differentiated from the rest of the drier ones to avoid the drop feeling too spatially boxed in – this is when I started improvising on the keys that play the main melodic motif. Whilst I originally intended for the keys in question to play no part in the drop because of how spacey they are, I found that they doubled pretty effectively as a synth lead, and would provide a bit of familiarity for the listener, making the transition between the preceding sections and the hook a little less abrupt.

This ended up being a pathway to me drizzling various more little, airy elements over the drop. Snippets of pads from earlier in the piece, a heavily reverberated woodblock pattern and more noodling on the keys were examples of this. One slightly jarring element that I came around to quite like was to was the detuned vocals that I low-passed to create a glitchy, error message-like effect.

In the second eight-bar phrase, the drop starts to use elements already introduced to thicken considerably. Pads and the vocal harmonies are reintroduced to counter the dry elements further, the main melodic motif is played twice with a slight variation on the second iteration, and the crowd sample and a quiet hat pattern lie at the back of the mix. Compression came in particularly handy here, preventing any individual elements in what is a rather busy hook dominating the mix.

More elements starting to stack up in the latter half of the hook
EQing on the stabby synths to leave space for the bass noodling

Bridge: Slow-down, change in groove, instrumentation and chord progression:

Here’s where things start to get *real* wacky. Segueing out of the hook, the vocal harmonies are sustained and we start to experience a major slow down in tempo (specifically, 100 to 65 in the matter of two bars). What I’ve attempted to create here is about four bars of rhythmic ambiguity and a sense of a ‘new beginning’ of sorts as we open up a new chord progression of F#m9-Em9-Bm-F#maj7. All percussive elements are stripped away for these eight bars as we go through the metric modulation.

The new four-chord progression sung by stacked vocal harmonies

A sweep then introduces us into a completely disparate style – eight bars of the new progression are played by synth pads and keys, and sung by the vocal harmonies. Underneath these however, is a smoother sub-bass line and a trap-influenced, punchy drum groove with snaps on the 2 and 4. This is stylistically very different from the funky elements sprinkled throughout the piece, standing out as a complete break from the rest of the piece whilst still retaining core elements. Significantly, the synth/piano lead that plays the main melody plays an interpolation of that same melody, adapted to fit the new chord progression and continuing to develop that motif. It is almost a call-and-response of sorts with the drop; two very different representations of what is fundamentally the same idea.

The new sub-bass line for the slowed-down section

We then proceed into a similar segue out, speeding back up to 100 over the course of what doubles as a buildup into the final hook. The bass drum speedup comes in handy here, as it clearly demonstrates the metric modulation back to 100BPM, smoothing the transition to our second and final hook.

Moving out of the bridge section with a metric modulation

Final Hook and Outro:

The second hook in many ways echoes the first, following the same structure with the same instrumental ad-libs albeit with a handful of subtle differences: firstly, there is a delayed entry of all of our low-frequency sounds, giving the impression of an extra bar that isn’t there. Secondly, sitting on top of the percussive effects is a repeating hi-hat phrase on a natural hi-hat sound, played on a MIDI keyboard and exported as an audio sample from Logic Pro – I avoided making the same mistake in experimentation that I did with my last Waveform project, in which I struggled greatly to make an organic sounding hi-hat phrase, as velocity manipulation didn’t seem to be enough to get my hats sounding human. Thirdly, the percussive, plosive vocal harmonies are reintroduced – I unfortunately had to merge the files as manipulating each individual wav file was both painstaking for myself, and my CPU. Finally, we have the noticeably high frequency of the sustained, repeated phrase on a new monophonic synth, high in glide, reverb and most importantly tremolo. These effects stop the repeating phrase from being too uniform, simultaneously giving us a sense of movement.

The effects on the additional lead in the final hook

Closing out the piece is a stacking of 10 layers of vocals in an ethereal tierce de picardie cadence (ending on F# major), the delay and reverb tails of which ring out to sustain that airy atmosphere built up towards the end of the hook, and indeed, throughout the piece at large.

The grand finish – effectively five separate layers of double tracked vocal and a final metric slow-down

Here’s the mp3 again, as scrolling can be a hassle:

Platformer Sounds in SuperCollider

Platformers are a genre of games that involve heavy use of climbing and jumping in order to progress. Examples include Super Mario Bros, Hollow Knight, VVVVVV.

~Inspiration~

Over Thanksgiving break, I played a lot of games… maybe a little too much! This project is heavily inspired by a few games. For example, I picked up Hollow Knight which is a fun yet frustrating single-player platformer game. The sounds of jumping, using items, ambient sounds, and swinging a nail followed me to my sleep. I thought that I could try replicating some of them for my final project.

Ambient Sounds

Snowy Environment

The first piece of the sound pack I started working on were the ambient sounds. These would be used to indicate the environment the current level of the game. I began by creating a snowy feel using the LFNoise1 Ugen in a SynthDef.

 

 

 

At first, I had trouble configuring the audio signal to work with the envelope. At first, I only had the attack and release time defined for the percussive envelope. This caused the audio rate to be released linearly, which I did not want. Instead, I wanted the sound to be at the same sound level until the end where it should level off. To remedy this problem, I used the curve argument of Env and set it to 100 instead of the default -4.

Here’s the resulting sound clip:

Rainy Environment

Moving on to the next ambient sound I created, I decided to introduce a rainy environment. I used a similar approach to creating the instrument used for the snowy environment. Instead of using a low pass filter, I opted to use a high pass filter instead. I also changed the frequency to more accurately capture the sound of hard rainfall.

 

 

 

After that, I applied the reverb effect to it using the Pfx class.

Background Music

For the background music, I wanted to experiment with some orchestral sounds. It was pretty difficult trying to get a convincing SynthDef for strings, so I looked at sccode for ideas. I found that someone made some code that mapped samples to midi notes in the link here so I used that as the basis for the granular SynthDef which uses samples provided by peastman. It uses the buffer to load the instruments. Here’s the code that maps the instrument samples to MIDI notes. It’s a long block of code so you’ll have to look at the image in another tab to view it.

Now that the instrument has been defined, I decided that I want the music to have some chromatic notes to produce an unnerving sound. Something that would be played during a final boss fight. I configured it to use the default TempoClock at 60 bpm and I kept it simple with a 4/4 time signature. It is mainly in E major, but as I mentioned, there’s some chromatic notes like natural Cs and Ds. Here’s the resulting clip.

Walking

Moving on to the sounds that would be triggered by events, I started by creating the walking sound. I looked back at the sound_fx.scd file to follow this piece of advice given:

Wise words

I recorded some sounds from a game and put them into ocenaudio and Audacity to use their FFT features and here were the results from ocenaudio, highlighting only the portion of a single footstep sound.

ocenaudio footstep FFT.

I noticed that frequencies around 1000hz and below were the most prominent, so the frequency of the footstep should probably be emphasized around there. The audio recording includes pretty loud ambient sounds, so that probably explains the higher frequencies.

I attempted to replicate this sound using a SinOsc Ugen and a Line to generate the signal. I used the Line for the frequency argument of the SinOsc because it allows me to have more flexibility knowing that a footstep does not have a constant frequency. I configured the envelope to start at 300 and end at 1, resulting in this footstep sound which I ran through an infinite Ptpar.

SynthDef(\walking, {
	var sig;
	var line = Line.kr(200, 1, 0.02, doneAction: 2);
	sig = SinOsc.ar(line);

	Out.ar([0,1], sig * 0.6);
}).add;

~soundFootstep = Pbind(
	\instrument, \walking,
	\dur, Pseq([0.3],1)
);

(
Ptpar([
	0, Ppar([~soundFootstep], 1)
], inf).play;
)

Jumping

For the jump sound effect, I wanted to have a bubbly type of sound. I used a similar approach to the footstep SynthDef, but I made the Line rise in frequency instead of descend. Also, I made the envelope and Line sustain significantly longer.

ocenaudio jump FFT

I took note of the FFT of the jump sound from the game, but it didn’t result in the type of sound I wanted. It was really harsh so I modified the frequencies a bit resulting in this sound clip

SynthDef(\jumping, {|time = 0.25|
var sig;
var env = EnvGen.kr(Env.perc(0.01, time), doneAction: 2);
var line = Line.kr(100, 200, time, doneAction: 2);
sig = SinOsc.ar(line);

Out.ar([0,1], sig * 0.8 * env);
}).add;


~soundJump = Pbind(
\instrument, \jumping,
\dur, Pseq([2],1)
);


(
Ptpar([
0, Ppar([~soundJump], 1)
], inf).play;

)

Landing

I had a GENIUS idea of continuing to use the Line class to create my signals. You’ll never guess how I achieved the landing sound effect. Well, you might. I just swapped the start and end frequencies of the line. It ended up making an okay good landing sound, which sounds like this

I tweaked a little more and changed the end frequency to be lower at 10, which I think sounds a bit better.

SynthDef(\landing, {|time=0.1|
var sig;
var env = EnvGen.kr(Env.perc(0.01, time), doneAction: 2);
var line = Line.kr(200, 10, time, doneAction: 2);
sig = SinOsc.ar(line);

Out.ar([0,1], sig * env);
}).add;


~soundLand = Pbind(
\instrument, \landing,
\dur, Pseq([2],1)
);


(
Ptpar([
0, Ppar([~soundLand], 1)
], inf).play;

)

Picking up an item

When I brainstormed what kind of sound to give the item pickup, I thought of Stardew Valley and its sounds, specifically the harvesting. I used this as an excuse to take a break from homework to play the game for research purposes. The sound of picking up items sounded pretty simple. Here’s what I came up with using this code

SynthDef(\pickup, {|freq|
var osc, sig, line;
line = Line.kr(100, 400, 0.05, doneAction: 2);
osc = SinOsc.ar(line);
sig = osc * EnvGen.ar(Env.perc(0.03, 0.75, curve: \cubed), doneAction: 2);
Out.ar([0,1], sig * osc * 0.8);

}
).add;

~soundPickup = Pbind(
\instrument, \pickup,
\dur, Pseq([1],1)
);

(
Ptpar([
0, Ppar([~soundPickup], 1)
], inf).play;

)

Throwing away an item

For the final sound that I created for this project, I made something to pair with picking up an item. I wanted it to have a somber tone that elicits an image of a frown. The disappointment of the item being thrown emanating from itself. As sad as the fact that this class is ending. Anyways, here’s the sound!

SynthDef(\throw, {|freq|
var osc, sig, line;
line = Line.kr(400, 50, 0.2, doneAction: 2);
osc = SinOsc.ar(line);
sig = osc * EnvGen.ar(Env.perc(0.03, 0.75, curve: \cubed), doneAction: 2);
Out.ar([0,1], sig * osc * 0.8);

}
).add;

~soundThrow = Pbind(
\instrument, \throw,
\dur, Pseq([1],1)
);

(
Ptpar([
0, Ppar([~soundThrow], 1)
], inf).play;

)

Reflection

Doing this project has made me more appreciative of the sound engineering of every game I play. I now find myself analyzing the different sounds that the developers choose to incorporate and sit in thought how they made that. There’s surely some, but not many, that use programming languages like SuperCollider to synthesize such sounds. Exploring new concepts like buffers has been pretty challenging, but it has shown me that there’s a wide range of choices available with SuperCollider.

Thanks for reading my writeup. Hope you enjoyed!

Final Project: Waveform Supremacy and a Splash of SuperCollider

OVERVIEW

The Final Project for CPSC 035 that I completed alongside Ethan Kopf, my partner, is a 3 and a half minute song using MIDI, samples, and even a SuperCollider-generated .wav sample that culminate in a song with lyrics I wrote. It was actually much easier to collaborate on a Waveform project than I thought, being able to email or text the ZIP file whenever necessary. We also tried following the requirements of Waveform Project 2 when creating this song, in order to ensure that we made full use of all we learned about frequency filters and effects plug-ins, along with concepts like gain, mixing, and mastering.

BEGINNING THE PROJECT

We started out by consulting on what type of song we wanted to create, and I had an idea of some kind of base for lyrics we could use in the song. A few days later, I typed them up on a Google Doc. Here they are:

Lyrics

VERSE 1:

When you were falling down, I was there for you, I was there for you

When you were at your lowest point, who was there to guide you back home?

And now, when I’m in the same place, falling down in this deep abyss

Are you gonna be there for me? Are you gonna be there for me?

BRIDGE:

Tired of this trick,

I’m just a doormat to you, I see it now

Tired of being a fool,

When you don’t care about me like that

Why-why-why

Couldn’t you just say that you don’t care about me like that

I’m tired of being a fool, thinking I could get you to love me back

CHORUS:

Instead of leading me on

You don’t return my frequency

All that I gave, there’s nothing to receive

Why do I keep going back when there’s nothing here for me?

I should just move on

From this one-sided love (one-sided love!)

One-sided love (one-sided love)

I’m moving on from this one-sided love

VERSE 2:

I see how you look at the others

I know you would never see me

In that same way

Just tell me what I’m doing wrong

Tell me what I’m doing wrong

What should I change for you? To put me at their level

Oh I don’t know I don’t care anymore

But why do you still make me feel this way?

 

The song included two verses, one bridge, and one chorus.

 

GROUP PROJECT WORK

Final DAW look of the song (1/2)
The Waveform workspace final (2/2)

The Waveform project was started with a starting track that was more of a chilled, laid-back vibe, which Ethan put together really well. He sent it to me and I got to work adding a Drum Sample MIDI along with a step clip, something I loved using in Waveform project 2. Ethan had a lot of samples on his computer that he was able to load into the project, which sounded really good together. This first 40 second “demo” was then extended by both of us on Waveform with MIDI and effects to create the 3 minute 30 second song that it is now.

The change in pattern of the step clip can be seen after the first few measures of just the three consecutive maraca sounds.

For the drum sampler, I tweaked the envelopes and the length of the kick and snare in order to make it not reach the higher frequencies and be delivered with more of an “oomph.” The step clip was really helpful in also doing similar tweaks to the maracas of the drum sampler used, and I was able to make a fun intro supplemented by percussion with three maraca shakes that progress to a full rhythmic beat throughout the sound. For the MIDIs, the chords were decided by Ethan and went together really well, and he later added a more high-pitched “alien-like” MIDI that I used the Phaser plug-in on to drive that effect more. Reverb was used on so many tracks. The reverb I used on the drums, especially messing around with room size and dampness to expand the hit of the drums, and using the 4-band equalizer to emphasize the snare drums of the percussion.

Intro vox with choral plug-in.

I also made an intro vox meant to be quiet and blend in with the background but provide an “intro” to the song. It was coupled with the chorus effect to add that “background” rather than “lead” feel to this particular vox.

The SuperCollider-generated wav used.

In the middle, using an SCD file heavily influenced by PSET 3 and the recording code of PSET 2 in SuperCollider, I generated the .wav file “HighAccompaniment.wav” using MIDICPS and a sine wave oscillator synth, and the tempoclock of 1 that uses the measure system to start at measure 1. Pbinds and Pfx were used to create an “echo” effect in the code as well. It repeated 4 times and played 4 different notes at a slightly off-putting beat to the song, so that the other synths mask its sound but it is able to carry throughout the transition of the verse 1 to the bridge. I liked how it sounded with the rest of the Waveform track, and this aspect of the song was able to show the interdisciplinarity of computer music and all that we learned in this class.

Recording code.
Echo FX synth to private bus, which using Pfx we applied to the wav being generated.
Pbind! Which is then used with Ptpar to generate the wav.

Furthermore, when doing the final mix, I included a lot of compressors, especially on the vocals which needed EQ and compressing in order to make the vocals stand out but not clip the sound. Ethan and I had actually recorded our parts separately, but using the drum beat as a metronome guide when recording. We did close-mouth recording. The 4-band equaliser was helpful in emphasizing the lower notes and cutting off the sometimes “loudness” of high notes when people sing. This was important, especially when the Reverb plug-in was applied to the vox. All of these effect plug-ins were really important to make sure the song was soft around the edges and also worked. The fade out and mastering was done by Ethan.

The MP3 is here:

Waveform Final Project: Masks

With this final composition, my main composition goal was to create a bittersweet piece that I myself would return to if I ever feel a little down in the future. From a technical perspective, I aimed to utilize all the skills I had acquired from the Supercollider module into my song.

Currently, my default “simp song” is Pressure by Draper.

This song’s balance between sadness and motivation works wonders with encouraging me to carry on in tough times. Musically, I’d pinpoint the reason behind its effectiveness to the fullness of it’s sound. Before taking CPSC035, I never noticed all the harmonies and pads in the background that fill in this song’s blank space; I always just heard the lead, bass, and percussion. Though I am still unable to pinpoint the exact number of tracks and their respective notes throughout the song (although I suppose that’s also sign of a good pad), I certainly planned to have ample padding in my musical composition. Another aspect of this song that I wanted to carry over to my song was the tranquil break between powerful drives.

With respect to the more technical side of this song, there are a few things I learned throughout the SuperCollider module (some are SuperCollider related, others are just me pondering about Waveform in the shower):

  1. You don’t have to find the perfect sample for what you’re looking for. I specifically struggled with this in my first two Waveform Projects, spending hours trying to find just the right Kick, Snare, and Hihats, before being left dissatisfied an just using the 808 and 909 drum kit samples instead. Yet in SuperCollider, the fact that I was able to program base and snare sounds from just simple waves a few effects proved to me that the sample only has to be close to what is desired, after which using an abundance of effects is completely acceptable
  2. Use automation curves for apply effects to certain notes. In my last waveform project, I really struggled with the applications of automation curves because I was never able to quite figure out how to automate effects parameters. Turns out, I have to first drag it into the effects chain before being able to select the specific parameter of automation (I thought you had to make the automation curve first, then map it to a parameter). Now with the ability to automate effects parameters, I was able to selectively apply effects to certain notes. For example, if I wanted to add reverb to only the last notes of a musical phrase, I could use an automation curve to turn the reverb’s wet level down to 0 for all notes except the last note.
  3. Use automation curves to give sounds more character. One really cool thing we learned in SuperCollider is how we could use oscillators to modulate certain parameters on an effect. Because of this, I also aimed to use automation curves to mimic the oscillator effect on some of my parameter plugins
  4. Envelopes: To be completely honest, I didn’t really have a full understanding of how envelopes functioned, and what the difference between adsr and perc envelopes were. Yet through Supercollider, the whole concept of treating an envelope like a time-based function that modifies its input signal really helped me understand. The most helpful was the assignment where we had to create our own subtractive synth: while having to juggle the whole envelope difference between adsr and perc was really frustrating, it undoubtedly helped me understand envelopes in general

The first thing I knew I needed to do in this song was to separate my different percussive instruments onto different tracks. On last waveform song, I decided to use just the multisampler as an easy way to get by with a genre of music that usually had a repetitive bass, so I did not expect myself to do any percussive automation. However, I eventually ran into the problem, albeit too late, that using the multisampler meant that any plugin or effect I wanted to add to one instrument would have to be added to the rest of the percussive instruments. Thus, this time I created separate tracks for the kick, snare, hihat, and claves, allowing me to also set their own filters and automation tracks so that the percussion would have more life.

The 2nd step in my song was to find minor chord progression that would set the tone of the song. The chord progression I ended up going with was c minor -> g minor -> Ab major -> Bb major, which follows the i-v-VI-VII progression. Right away, I wanted to test the capabilities of using automation curves on more than just pan and volume, so I decided to have incorporate a bass drop immediately in measure 10. Yet more than just a gradual buildup in sound, I also wanted have a gradual buildup shift in the EQ. In order to apply this to both my Viola and Low Pad, I used a bus that both the channels fed into, and applied a 4-band EQ with automation in the bus.

When thinking back to what made the bass drops in Draper’s Pressure so effective, I noticed that the main contrast was the amount and level of padding . Yet, since I already used a padding in my buildup, I thought, “Meh, I’ll add another Pad.” Because the point of this padding was to be almost like the lead post-drop, I had placed in the sweet-spot of frequencies that our ears are most sensitive, which is to say around 400-800 Hz. However, having both the Lead and the pad be the same instrument was quite a problem, because the pad had to be adsr but having such a powerful sustaining lead was actually kind of painful to listen to. Thus, in order to emphasize the attack of the lead even more than just adjusting the adsr levels, I added another track built from 4OSC, which had sine and triangle waves within a percussive envelope, repeating the same notes as the pad to give a more distinctive character to the lead.

Despite the many parts of my liquid drums composition that I disliked, one aspect I wanted to keep was the high-pitched secondary melody complementing the lead. Since the doubling of my pad with my lead led to a more boring lead, having these bells as a secondary melody complemented very well throughout the chorus. In this case, however, I enjoyed the sound having the secondary melody being centered.

With both the 4OSC and the high pitch adding character to the low pad, I decided to use another approach to add character to the lo pad: automation (that I described in point 4 in the envelope). I chose to automate the 4-Band equalizer in similar fashion to what I did with the bus during the build-up, but this one was solely on the lo pad (without the viola). I first tried a linear oscillation, but I soon realized that such an oscillation was not good because frequencies are not a linear in nature (the whole 1/wavelength thing), so curvature was necessary for the intended effect. I also incorporated a pan automation that creates something that resembled a little bit like the Doppler Effect.

As mentioned early, I also really wanted this song to incorporate a rest in the middle of the chorus. Though the rest I had incorporated in my last song was alright, I was adamant about being more meticulous about the fade and the build-up beyond just one decrescendo and one crescendo. My central misconception was that quiet did not necessarily mean boring; there was still room for fun plugin automation and effects in the rest. The idea I eventually came up with was to increase the volume of my  Lo pad up to the beginning of each measure, only to have it fade out immediately while also using the hihat to slowly fade out, similar to a delay.

The most challenging part for me was definitely the 2nd bass drop; I wanted to make this bass drop even more grand than the first, so one heartbreaking compromise I decided to make was to decrease the overall volume of first bass drop just a bit to give more room for the second bass drop amplitudes. From the juxtaposition between the first bass drop/ chorus and the rest, I noticed that there was certainty a complementary juxtaposition between silence and sound; since juxtapositions run both ways, I decided that I’d add a beat of silence just before the drop to creative an even more dramatic emphasis on my second drop. In addition to this, I also added drums immediately at the drop, using a percussive drum beat that resembled that of dubstep and hip-hop (since dubstep always has the strongest drops). This section is also where I decided to add panning to create even more fullness to the room. For my high secondary melody, I had each note pan between completely left and completely right. Finally to add even more volume to my sound, this was the only section that I incorporated a dedicated low bass track.

Below is a screenshot of my entire Waveform, and the mp3. I decided to name this song Mask: just as many people go to a mask-like facade during difficult times, I will go to this song.

Final Reflection thoughts:

Overall, I am really proud of this piece; to me, what’s most important was that I could say I really did show my best work here; the largest problem I had previously with filling in silence behind a melody was solved because of the pads I used throughout the song, and at no point did I, as a listener, feel like I was bored. I have yet to have another down-in-the-dumps type of mood since creating this song, but I know that I’ll at least give it a listen when the time comes: just hopefully not too close to finals. As far as further questions and improvements, one that already comes to mind is this issue I commonly have with inconsistent sound levels of Sine wave sounds: when experimenting with pure sine waves I could never get the track to play at a consistent level, and adding more tracks to it when only made the sine wave more and more distorted and quiet. Yet another issue I had was how sometimes there’d be popping and cracking despite the fact that I’m not redlining and that my sound envelopes were not attacking too fast. For improvements, I’d next try to be able to add more audio samples to my tracks that I record, whether that be just a piano or percussive sound effects. When peering at some of the pre-loaded projects on waveform, I noticed that almost none use Waveform MIDI to create sounds, but instead use Waveform for its plugins and for mixing.

 

Randomly Generated Lofi in SuperCollider

Intro/Ideas:

My original goal for this project was to create a (semi-)randomly generated classical piece in SuperCollider. However, as I began coding/trying to figure out how to use randomness, I decided to create a lofi-type piece instead because it’s more specific, (in my opinion) compositionally simpler, and there’s more opportunity for different SynthDefs.

Rewinding Memories on Spotify
“Rewinding Memories”, the piece I was most influenced by

I listened to a few random lofi songs from the Spotify playlist “lofi hip hop music” to get a better grasp of the chords, the structure, etc. Songs I listened to (with notes I wrote down):

  • “Rewinding Memories” by Refeeld and Project AER: low/pulsing drum, higher clap-type around 0:36, bass, guitar around 0:36, shimmering sound around 0:57
  • “Until The Morning Comes” by softy, no one’s perfect: nice acoustic guitar
  • “Put” by kudo
  • “Under Your Skin” by BluntOne and Baen Mow: interesting sound around 1:50
  • “Morning Dreams” by Mondo Loops

After listening to the songs and playing around on the piano, I decided to only use 7th and 9th chords and to never have the base of a chord be the leading tone (7th note in the scale). I was also hesitant about the V chord because it’s so dominant (and the lofi I listened to was very calm/didn’t really have the typical tonic-subdominant-dominant chord progression), but I ultimately decided to include it with the caveat that it could not occur more than once within the progression. I also came up with a few other rules…

At this point I realized something — it’s hard to balance randomness and having a piece that sounds good! A fully random piece would sound terrible, but I also didn’t want it to sound too contrived (i.e. have the rules be so rigid that the piece barely changed with each iteration/generation).  The chord rules (above) were definitely one of the more contrived sections.

Code!

Next, I started actually coding. I randomly generated a key — using rrand(1, 12) — and a tempo — using rrand(80, 135)/100.

Making Pbinds (generating notes & rhythms)

I decided to start by coding the notes/rhythms for all the different parts (e.g. bass, chords, melody, harmony, percussion). For the chord progression, I just used the .rand, if statements, while loops, and lists. This part wasn’t too bad — I had a few lines to randomly generate which chords would go in the ~chords variable, and then a few more lines for edge cases (ex. if one chord was repeated three times). For the bass (variable called ~bass), I created a ~n_bass (bass notes) variable and a ~r_bass (bass rhythm) variable to later use to create a Pbind. I randomly generated a slow rhythm for the bass (i.e. only quarter notes and slower) using a few lines heavily involving .rand, and then added the chord notes. to ~n_bass. I coded the piano chords (~pc) similarly, with a ~n_pc for notes and a ~r_pc for rhythm. One interesting thing I found out was that 3.rand randomly gives you 0, 1, or 2, but 3.0.rand gives you a random real number from 0 to 3 — this was messing me up because I was multiplying a variable by decimals at one point, but wanted to do (that variable).rand. To fix this, I used .round.

Afterwards, I created the melody (~mel1) Pbind (with the associated variables ~r_mel1 and ~r_mel1) — for this, my rules were that it would have 2-5 notes per measure and be all 8th notes or slower. I also wanted to create a melody’ (~mel1b) that was basically the same as the original melody but more active — i.e. with some added notes (2-4/measure) and a more active rhythm. I also ran into a problem here because I wanted to use .insert but it only works for Lists, so I had to go back to all my initializations and change the Arrays (the automatic class when you do something like ~variable = [1, 4, 0]; ) to Lists.

The following is an example recording of what I had at this point — bass, chords, and melody (so far, with a very basic Synth that I pulled from a previous project; no effects and no percussion).

 

Text in post window
Post window

The above picture is an example of what I had in my post window (not corresponding with the above recording): the key (+ 12 would be 12 semitones up from C, so still C); the chords (the progression is 3-3-0-5 (so IV-IV-I-vi), and the fifth note represents the inversion (here, since it’s 0, the chords are all in root position); the melody notes, and the harmony notes.

Making Synths

For the bass, I used PMOsc.ar and applied a low-pass filter. I wanted to have three other distinct melodic sounds: one for the chords, one for the melody, and one for the harmony. For the chords, I wanted the sound to be relatively muted/not too twangy (like the beginning of “Morning Dreams” or around 0:40 in “Under Your Skin”), so I mixed Formant.ar and SinOsc.ar, and then applied a low-pass filter at 400 and a high-pass filter at 200. For the melody, I used the same SynthDef as for the chords, but I changed the envelope, filter, and reverb settings. Lastly, I’d really liked the acoustic guitar in “Rewinding Memories”, so I used a mixture of SinOsc.ar and Pluck.ar to create a guitar-like SynthDef.

For the percussion, I also wanted to emulate the sounds in the songs I had listened to. I created a kick based off of the one in “Rewinding Memories” (see picture below).

Code for "kick" SynthDef
Code for “kick” SynthDef

I struggled for a long time on the higher, snare-type sound. I really wanted it to sound like the higher percussion in “Rewinding Memories” around 0:45 (which I realize probably isn’t a snare, but I called it a snare for lack of a better word), but mine ended up sounding pretty different. Overall, I was the happiest with my kick and my guitar sounds.

Other Synths

I created a “compression” SynthDef using Compander.ar, and a “dynamic” SynthDef that (per its name) takes a Pbind and changes its dynamic level.

Percussion Pbinds

After creating the percussion synths, I coded the rhythms similarly to how I did the bass — I didn’t want the drums to be too active (because the lofi beats were all pretty mellow), so I restricted the rhythms to 8th notes or slower. However, I did include the possibility for one 16th or 32nd in the kick (see picture).

In the picture to the left, there is a 3/5 probability that there is a 16th note or 32nd note — i.e. that we randomly choose one of the notes in ~r_kick and split it into a 16th or 32nd note and another duration (that when added to the 16th or 32nd note yields the duration of the original note we split).

The following is an example of what I had at this point: chords, kick, snare, bass, and melody.

Ordering/Structure:

I didn’t really know how to use randomness in the structure while still maintaining a semblance of a regular song progression, so this part also had a more rigid structure: I just completely wrote out two different possibilities (one starting with the chords, and one starting with the melody/bass), and then used .rand to randomly determine which one to use each time. The songs I listened to tended to start quietly, with just one or a few sounds, and then build, and then would suddenly drop out, build again, and then slowly fade out.

Option 1: starting with chords

Option 2: starting with melody/bass

Editing/Progression of Recordings

Note: if you’re going to listen to one, listen to recording 13 (my favorite of the ones below)! I also like the second halves of both 11 and 14.

Recording 7:

 

Recording 8: added a pan to the guitar/harmony (which comes in around 0:50)
note — needs more reverb/notes need to last longer

 

Recording 10: added quieter dynamics to the beginning/end, added compression around this point (might have been after this recording, not sure)

 

Recording 11 part 1: edited bass length
note — chords sound too gritty/full, especially during middle section — they’re detracting from the other instruments

Recording 11 part 2: I liked the harmony (technically melody 2) in this one, which comes in around 50 seconds to the end, or 30 seconds into this recording.

 

Recording 12: edited dynamics, added code to randomly remove 0-2 notes from each chord; I didn’t like the melody of this one as much, but I liked the chord progression

 

Recording 13: added more editing on the chords; one of my favorites!

 

Recording 14: just another example (split into 2 because too long)

 

Closing thoughts:

Like I brought up earlier, this project was definitely about striking a balance between true randomness and creating a piece that sounded good. I definitely think that choosing a lofi piece (rather than sticking with a more traditional/classical genre) made it easier to have randomness, since there was more freedom for the melodies and the chord progressions. Overall, the piece is far from random — it has my style/traces all over it in the choices that I made (for example, the rules for the chords, or the rhythm durations for each instrument).

Extensions

There were a few things I wanted to do that I either couldn’t figure out or ran out of time for/decided not to prioritize:

  • using Markov chains: I was debating whether or not to use Markov chains (specifically, ShannonFinger, which is part of MathLib) from the beginning. My initial reluctance was because ShannonFinger is based off of some sort of data that you input, so whatever the product turned out to be would be very similar to the data I chose (and I didn’t want that — I wanted something entirely new/more unique). However, if I had more time, I think it could be beneficial (melodically) to use ShannonFinger for the melody and the harmony to make it sound more like real music — the only problem is that I would have to figure out how to use that while still keeping the notes primarily in that measure’s chords.
  • fade effect: I wanted to figure out how to make the volume of a Synth fade without having to create a near-identical Synth where I edited the \amp. I tried creating a SynthDef (in fact, this is where my “dynamic” SynthDef originated), but couldn’t figure out how to change the argument in the midst of applying the effect to a sound (i.e. Pseq didn’t work like it does in Pbind). I also tried to figure out if I could apply an FX synth to the middle of another synth (nope), and even tried using CmdPeriod.run to completely break off the sound (but that threw errors).
  • figuring out more randomness in terms of structure of the piece
  • continue to clean up the sound of the instruments
  • opening & closing ambience: a lot of the lofi pieces I listened to had atmospheric noises (air, creaking doors, etc.) in the beginnings and ends that I really liked. A SynthDef to make a creaking door sound or a rain sound would be an interesting project
    • in a similar vein, some of the pieces I heard had sort of “shimmering” sounds that would be interesting to try to replicate in SuperCollider

“Antiphon” – a Waveform MIDI piece inspired by 2020’s racial equality protests

Project Write-up – Homework 4 (Waveform Project 2: MIDI) – “Antiphon”

Homework 4 (Waveform Project 2: MIDI) – “Antiphon”
a Waveform MIDI piece inspired by 2020’s racial equality protests
by Mark D. Williams
2020

As someone coming from the world of Logic Pro X, Waveform’s implementation of MIDI differs from Logic’s (and from my previous use of it). I effectively had to learn a new way to use a function I thought I was reasonably familiar with. Nonetheless, I put myself up to the test with this piece. (Additionally, I wanted to challenge myself, so I used Lowpass and Highpass filters as my EQ.)

I had many ideas for my MIDI piece, but I decided I wanted to create a piece based around a repeated but evolving melody. I familiarized myself with Waveform’s MIDI input and tested out Waveform’s MIDI capabilities, by inputting a few test melodies. I spelled out a few words in musical notes (A-G) to test out the Waveform’s MIDI input and the sounds of its default synths. There’s not much you can spell with just A-G, so one of the sounds I tested it out with was the musical notes spelling out the word “CABBAGE”.
It played back the sound, and sounded like the notes “C-A-B-B-A-G-E” sounded less like musical gibberish, and more like the melody of a song. An anthem.

And from that “CABBAGE” seed, an idea germinated, and an entire piece blossomed.

I shifted the notes up a few semitones, and immediately started working with this now-“D-B-C#-C#-B-A-F#” melody. The concept of a perpetually building and evolving melody (gaining more and more harmonies as it continues) resembled a crowd gaining more and more voices as a movement evolves. Not just an anthem; an antiphon. After that, I immediately knew where I was going.

I created a piece of music inspired by the Black Lives Matter movement and racial equality protests of 2020. The title of “Antiphon” means “a verse or song to be chanted or sung in response,” which is what I was going for with the feeling of the piece.

I tried to implement the style of 2010s electronic-inspired (and big room) pop. I specifically wanted to emulate the sounds and musical style of the year 2013, but bringing it into 2020—similar to how one hashtag from 2013 (#BlackLivesMatter) evolved into something greater and has been brought into 2020. In 2020, the fight for racial equality and justice is still ongoing, and is far from truly becoming a reality.
I wanted to make a piece that felt like it could belong in both 2013 and 2020—as the fight for racial equality is just as relevant today in 2020 as it was when the hashtag #BlackLivesMatter was born in 2013.

I used those staples of early/mid-2010s electronic-inspired pop: synth stabs, a repeating melody while harmonies are added (building and evolving the melody), that brief moment where the beat is stripped-back and slightly quieter right before the drop, those digital woodblocks, the big boom/whoosh riser at the drop, etc.
I wanted to utilize a grand piano sound at a specific moment in my piece, so I downloaded a VST plugin to use within Waveform: a piano plugin by Versil Studios called “VS Upright 1”. 

 

I gave the piece a synth-stab opening, building and adding onto itself each 2 measures, becoming increasingly powerful.
The first 16 bars, with synths rising in pitch being perpetually added, represent the increasing and rising tensions leading up to our time. The repetitive synth background goes from sounding like a conquest-like trumpet fanfare to a complex modern synth beat—complicated (and brought into modern times) by additional layers rising in pitch, intensity and tension. Meanwhile, the true melody, the titular “antiphon”, slowly goes from being quiet to becoming more and more audible, ringing out against the sounds nearly drowning it out. That melody (the “antiphon”) is played on a 4OSC synth called “Centuries Ago”—fittingly, as this fight, which truly began centuries ago, is still ongoing today.

At measure 25, two synths are panned left and right, respectively. I wanted it to have a slight “call-and-response” feel—feeling both like a protest chant, or like a heated argument.
I used panning and alterations on the melody to musically represent an argument between two hypothetical sides (or in this case, synths). The synth panned to the right (a more muted 4OSC synth) sticks with the original descending melody and keep the melody headed down like before (keeping things the way they were and always have been), while the synth panned to the left is trying to have the melody ascend and bringing it up (trying to change the tune and elevate the (musical) conversation).

Measure 49 cuts out all synths entirely, leaving behind just a stripped-back, muted piano solo. That moment starts with a dissonant crash of notes, and is an emotional, angst-filled piano solo, consisting of all of the past melodies at once, colliding together in one single moment of complex and conflicting harmonies (and feelings) all played (and felt) at once. …Muted-sounding, and played entirely on the lower half of the piano, the solo sounds like it’s drowning—completely below the (middle) C.

The differing melody of the ending measure—definitively upward-moving, yet still feeling unfinished—signifies both the hopeful turn things have taken with things looking up, yet also the still unfinished fight for equality.
The synth echo after the final flourish is played on a futuristic-sounding 4OSC synth called “The Lights”—it lingers on after the final measure, as the lights have not gone out on the prospect of a bright future.

Here’s the full piece, “Antiphon”! Hope you enjoy it.

List of Tracks and their Different Instruments, Filters, and Plugins, etc.:

Track Instrument (4OSC / Subtractive) Filters, Plugins, Automation, etc.
lead 1.1 4OSC Basic Poly
  • + lowpass filter
  • + reverb
lead 1.2 4OSC Stab Synth doubling the above but with automated volume at different times

  • + lowpass filter
  • + Chorus effect
lead 2 a modified* 4OSC Basic Poly
  • + Chorus effect
  • + lowpass filter
lead 3 a modified* 4OSC Basic Poly
  • + Chorus effect
  • + lowpass filter
lead 4 4OSC Flute WMF
  • + lowpass filter
  • + reverb
lead 5 4OSC Centuries Ago
  • + lowpass filter
  • + reverb
bass 6 4OSC Pick Bass WMF
  • + lowpass filter
  • + reverb
bass 7 4OSC Pick Bass WMF, modified to be able to play multiple notes at once
  • + lowpass filter
  • + reverb
“DigitalWoodblock” 4OSC Digital Woodblock
  • + highpass filter
  • + reverb
bass 8.1 a modified* 4OSC Pick Bass WMF
  • panned +0.9 Right, forming a call-and-response from one ear to the other
  • + Chorus effect
  • + reverb
lead 8.2 a modified* Subtractive Classic PWM JH
  • panned -0.8 Left, forming a call-and-response from one ear to the other
  • + Chorus effect
  • + reverb
“chord fade SynthBrass*” a modified* 4OSC Synth Brass WMF
  • + a lot of reverb
  • volume automation, to completely fade out by a certain point
lead – “hear our antiphon” 4OSC Centuries Ago
  • + lowpass filter
  • + reverb
“lead – antiphon” 4OSC Basic Poly
  • + lowpass filter
  • + reverb
“lead – antiphon 2” a modified* 4OSC Basic Poly
  • + lowpass filter
  • + reverb
leadX 4OSC Strings ‘16 WMF
  • + lowpass filter (+ lowpass automation)
  • + Chorus effect
  • + reverb
leadX 2 4OSC Dirtier
  • + lowpass filter
  • + Chorus effect
  • + reverb
piano 1 downloaded VST plugin: “VS Upright 1”
  • + lowpass filter (+ lowpass automation)
  • + reverb
piano 2 downloaded VST plugin: “VS Upright 1”, modified*
  • + lowpass filter
  • + reverb
  • + compressor
“fadeout TheLights” 4OSC The Lights, a really weird but cool synth
  • volume automation at fade-out
  • + lowpass filter
  • + reverb
big boom — (sample): https://freesound.org/people/unfa/sounds/189779/
  • + Pitch shifter (–1 semitone)
  • aux bus: (aux send)
impact whoosh — (sample): https://freesound.org/people/chriskalos/sounds/172779/
  • + Pitch shifter (–1 semitone)
  • + reverb
  • aux bus: (aux send)
BUS: two samples aux bus of “big boom” and “impact whoosh” tracks
  • aux bus: (aux return)
  • + reverb

 

CREATION and Process LOG:

A Mostly-complete Log of my entire process:

Version 1:

  • Wanted to have a synth-stab-like melody, building and adding onto itself each 2 measures, becoming increasingly powerful.
  • Wanted part of it to have a slight “call-and-response” feel, like a protest chant
  • I’ll figure out how to make the leads sound like synth-stabs.
  • Currently listening through the 4OSC options for different sounds. For different things that might fit the vibe, I like the 4OSC options “Basic Poly”, “Flute WMF”, “Pick Bass WMF”, “Stab Synth WMF”, and “The Lights”.
    • 4OSC’s “The Lights” is really interesting. It plays a descending pattern of “[2 semitones above]—[1 semitone above]—[the actual note]” for every note entered, and echoes that whole pattern even after it fades out and dies down. So it makes for some dissonant (and often ill-fitting) note additions.
      So unless you removed “4OSC The Lights’s” echo or its descending pick-up it plays before each note, you’d only want to use notes where 2 semitones above (a whole step) would also sound good. (So, if in a major key, it might be best to only input the 1st, 2nd, 4th, 5th, and/or 6th notes into “The Lights”, and in a minor key, only the 1st, 3rd, 4th, 6th, and/or 7th notes.)
  • The countermelody I labelled “hear our antiphon” – I’ll probably add some reverb to it, and try and make it sound a bit like a piano as well, possibly.
    • 4OSC options I like for it: “Centuries Ago”, “Charming”, “Pan”, “Solid Lead”, and “Storyteller”.
    • 4OSC’s “Digital Woodblock” is also cool. Has a very 2010s feel.

Version 2:

  • (Coming up with ideas, making those ideas happen, putting them into the music)

Version 3:

  • (Coming up with ideas, making those ideas happen, putting them into the music)
  • I’ll finagle with what synth my “leadX” track should be, but this is fine at the moment.

Version 4:

  • (Coming up with ideas, making those ideas happen, putting them into the music)
  • Oh boy, what synth do I use on my “piano1” track?

Version 5:

  • I downloaded a VST Piano plugin, Versil Studios’ “Upright 1”: https://vis.versilstudios.com/upright-1.html. Not sure if you’d need to download it if you’re looking at the Waveform file, but all good.
  • Turned the velocity up to 127 on the notes in the “piano Upright1” track in an attempt to try to prevent the notes’ start times from lagging behind the beat.

Version 6:

  • Okay, since it sounds like the region with the VST Piano plugin is lagging slightly behind the beat (about a 1/16th note late), I shifted the MIDI clip with that plugin backwards a tiny bit (by “-0 | 0 | 060”, or -1/16th of a beat, earlier)
  • Added the Subtractive instrument “Classic PWM JH” to the call-and-response bass at Measure 25

Version 7:

  • volume automation
  • Wanted an audible impact at m.17, so I found a sample: “Big Boom” by unfa on Freesound. https://freesound.org/people/unfa/sounds/189779/
  • There was this annoying clicking everytime the 4OSC bass preset “Dirtier” plays a note, so I threw a Lowpass filter on it WITHIN 4OSC.

Version 8:

  • added a Lowpass filter on the VST Piano to make it sound less bright
    • Eh, never mind.
  • For the ending measure, I moved what I had down an octave but added a quieter version back on top of it in the higher key.

Version 9:

  • YESSS, I figured it out! If you want to use an instrument that only allows one note to be heard at once (like 4OSC: Pick Bass WMF) but have it play multiple notes so you don’t have to have multiple different tracks for it, go into “Global” on that instrument and change “Mode: Mono” to “Poly”!
  • Added some extra harmony notes in the call-and-response section—more and more voices are joining in.
  • Made the harmonies simpler in the first loop of the complex “piano1” breakdown.
  • Reorganizing and renaming tracks a tiny bit.
  • Pairing up the “boom” with a more “fwhoosh”-sounding sample, “Impact” by chriskalos on Freesound: https://freesound.org/people/chriskalos/sounds/172779/.

Version 10:

  • Doubled the melody/harmony with 4OSC “Digital Woodblock” at m.17. 
  • Had the idea to stretch out the brief lead-up to the impact of the “fwoosh” audio sample (making the pre-impact twice as long using Waveform’s “Elastique” function).

Version 11:

  • Made everything drop out for the beginning of the piano moment at m.49
  • Countermelody to piano

Version 12:

  • Added this cool fading chord hit at m.25 (to try to transition more smoothly). It’s a Bm7add2 chord, with a modified 4OSC “Synth Brass WMF” as its instrument, reverb, and volume automation for it to fade into silence.
  • Tweaked m.49 piano entrance
  • it’s filter/plugin time.
    • EQ’d out some high frequencies of “piano Upright1”
  • Made the ascending vs. descending melody “musical argument” between the right-panned and left-panned synths more evident

Version 13:

  • Made the melody of the high piano part in the bridge lead into / transition into the high note of the “antiphon” melody as it returns
  • upped the velocity on the last three notes
  • Okay, now it’s really filter/plugin time. Adding them to various tracks

Version 14:

  • set master volume to -10
  • Filter/plugin time continued: 
    • added Lowpass frequency automation on lead1.1 for when the piano solo ends
    • added Lowpass frequency automation on piano1 for when the other instruments come back in
    • reverb on the leadX “4OSC Dirtier” melodies

Version 15

  • Filtering and plugins.
  • Finally figured out what synth sound to use for “leadX” — the 4OSC option “Strings ‘16 WMF”, with a significant lowpass filter!

Version 16:

  • Added a Bsus4 chord at m.9 and m.17 in that background “chord fade” Synth Brass lead.
  • Filtering and plugins (a lot).
  • Finalizing!

Version 17:

  • Tweaks and changes (volume, reverb levels)
  • Done!

“Revolve Around You” (a love song from Mars to Earth) – entirely out of samples + my own recordings

Homework 3 (Waveform Project 1) – “Revolve Around You”
a love song from Mars to Earth (made entirely out of samples and my own recordings)
created by and lyrics written by Mark D. Williams
2020

In the library SSLIB, within the folder “Prime Loops”, in a sub-folder titled “Snooth Keys” (and yes, the folder is spelled “sNooth” and not “sMooth”), and finally within a sub-folder called “Smooth Key Loops” (back to “sMooth”, I guess), I found three samples that spawned and inspired an entire piece in my mind:
“Bpm085_JazzyVamp_Gm_PL_1”, “Bpm085_FunkyVamp_Gm_PL_3”, and “Bpm095_AfterParty_Gm_PL_3”.

I heard those three samples and immediately had an idea. 

I began to build an instrumental around those samples, and those instrumentals called to mind an idea of a slightly-jazzy, slightly-cheesy, showtune-esque love song, in 85 BPM in G minor. I wasn’t originally planning on adding lyrics, but those small few samples had immediately inspired me.
In my opinion, I think it’s cool when pieces are able to obscure or shroud the feelings and emotions of the lyrics behind an overarching metaphor: so Space became the theme behind my first Waveform project, entitled “Revolve Around You”. 

So, in addition to the song being an attempted confession of love from the song’s singer to the subject of their affection (from the view of a hypothetical character, not me!), the lyrics would also tell a story: a love song from a personified version of the planet Mars who has feelings for his close friend, the planet Earth.
It’s written from the point of view of Mars, an awkward and aloof nerd but a genuinely sincere friend and idealistic dreamer and aspiring explorer. Mars has developed feelings for Earth—becoming completely flustered (as the Red Planet’s face “goes red”) whenever Earth floats by—and is failing to find the words to tell his true feelings to a close friend he cares deeply about (and wouldn’t want to ruin his friendship with).
Meanwhile, Earth is silently struggling with very real feelings of depression (the Blue Planet feeling “blue”). Earth, like many Earthlings in real life, is afraid of being alone—both emotionally, and in the universe at large. Mars feels a similar way (wanting to know if there’s anyone else “out there” in space), and as an idealistic adventurer, wants to explore and see what’s out there as well. Both have unknowingly going through similar hardships and feeling similar feelings as the other (and, unbeknownst to either, both harboring feelings for each other as well).
While Earth is struggling to find the words reach out for help, Mars notices and reaches out to Earth, and opens up to them—not about his romantic feelings for them, but instead about his similar experiences with feelings of depression. It’s only in both reaching out on their silent struggles with mental health that they’re able to push past and deal with some of their anxiety, mention what’s been on both of their minds, and realize that their feelings are reciprocated—and it’s actually Earth who confesses their feelings to Mars!
They both mean a lot to (and inspire) each other: Mars admires Earth’s perseverance in the face of being continually worn out by and having their resources drained by Life, while Earth is inspired by Mars’s ambition and ability to remain optimistic even when Mars is dealing with struggles of his own.

 

So, anyway, the contents of the piece:
It starts off with the ethereal reverb-adjusted sounds of Waveform’s “Afloat Pad” sample (with a name fitting for the track’s space theme), as two voices (a melody and a harmony) ask each other “Can you hear me?” and “Are you out there?”.

I used the quiet, stripped-back percussion of Waveform’s “Ghostly Beat” drum sample.

The celestial sounds of Waveform’s “Afloat Pad” sample transport the listener into outer space.

I even used my own voice and instruments to recreate other instrument sounds I wouldn’t have access to otherwise—while I love using MIDI, I avoided using MIDI entirely for this project!
That “trumpet” sound? That’s actually my voice (doing my best trumpet impression), with reverb and a low-pass filter. That plucked instrument (creating a syncopated 4:3 rhythm against the main 4/4 time signature) playing in a descending pattern? It sounds somewhat like a mandolin, but it’s actually a sample of me playing my violin pizzicato, holding it and plucking the strings like a ukelele!

 

I was somewhat inspired by the spacey sounds (and frequent usage of overarching metaphors) of musician Louie Zong, some inspiration from the soulful keyboard-heavy tunes of Ray Charles, and added a few musical/lyrical references to “Help!” by the Beatles, “Just the Two of Us” by Bill Withers and Grover Washington, and “Giant Steps” by John Coltrane (with the reference to “Help!” fitting with the theme of asking for help, and the reference to “Giant Steps” pairing well with Neil Armstrong’s famous quote “one small step for [a] man, one giant leap for mankind”.)

 

Also, the title “Revolve Around You” has an octuple meaning I’m pretty proud of!

  • (1.) If you’re enamored/infatuated with someone, your THOUGHTS often “revolve around” that person metaphorically.
  • (2.) You might also be PHYSICALLY “revolving around” that person, in hanging out with them a lot)
  • (3.) The SONG itself “revolves around” the person it’s being sung to, given that the song is entirely about them.
  • (4.) CELESTIAL BODIES in space literally revolve around each other, fitting with the space metaphor (and the concept of the song being from “Mars” to “Earth”).
  • (5.) For millennia, humans believed that the planets and Sun (e.g. including Mars) all revolved around the Earth (and right now, “Mars” is revolving around “Earth” too).
  • the initials of the title are “RAY”, alluding to:
    • (6.) a literal “RAY” of sunshine (because space)
    • (7.) a metaphorical “RAY” of sunshine (which Earth is to Mars, and possibly vice versa).
    • (8.) and, this soulful keyboard-heavy tune was partially inspired by the works of RAY Charles!

So if you haven’t noticed, I’m a fan of wordplay, and just about all the lyrics have at least some space-related secondary meaning. An example of part of one of the verses I wrote:

“Houston, we have a problem
Like the sun you shine bright, with the light in your sol/soul
–our systems cross paths, I’m in your orbit, and I’m gravitated towards it
My mind goes missing, spinning-out-of-Mission-Control”

…with a bunch of layers incorporated into it (which I’m pretty proud of):

  • There’s the famous quote (which I found out was actually “Houston, we’ve had a problem”!) from the astronauts of Apollo 13 upon encountering a problem on the moon. Here, it’s the singer (“Mars”) having a bit of turmoil over these feelings for the song’s subject (“Earth”).
  • There’s a fun bit of harmonic dissonance specifically on the word “problem” (signifying that there’s, well, a problem).
    • That line is Mars’s internal dialogue, and the problem is him being completely head-over-heels with Earth.
  • “Sol” is an alternate name for the Sun (giving “light in your sol/soul” more meaning), and “soul” combined with the next line’s “our systems” forms the phrase “Solar Systems”!!!
  • a fun rhyme between “your orbit” and “gravitated towards it”
  • and combining “spinning out of control” (especially given Mars is literally spinning, as all planets do) + “Mission Control” (the HQ back home that any spacefarers report to). 

…And that’s just in those 4 lines alone.
The lyrics have too many space-related references and subtle second meanings to list here, so the full lyrics (and analysis and exploration of those lyrics) can be found here: https://docs.google.com/document/d/1CDaMBHUhmoduwrt0rV9CfumN7leKxytOaiDq3GF3XvQ/view
Personally, the lines “terror forming” (“terraforming”) and “you’ve got your own Life, / while I’ve got no Life at all (a pun given that it’s from Mars to Earth) are my favorites that I ended up writing.

I also designed characters of the song’s protagonists, “Earth” and “Mars”, made a drawing of them on paper, and digitized the drawing in Adobe Photoshop + Adobe Animate.
Side note: I put a lot into those humanized character designs of Earth and Mars! Tried to give them each their own personality in their design as well. I tried to make Earth look like an average of all of humanity, so their design is generally ambiguous on purpose. Mars has a signature “alien” antenna headband (he claims he “wears it ironically”, but he really just likes the style), also subtly references Mars’s fascination with Earth having “Life”. (Also, both designs incorporate the two planets’ alchemical symbols — Mars’s is on his shirt, while Earth has theirs on their shirt but incorporating a lowercase “e”.) …Honestly, I’m genuinely pretty proud of these character designs! Like, I’m genuinely considering making character designs for the rest of the planets (…and the sun, and the moon, and the dwarf planets, and the asteroids, and th— oh no I’m going to end up inadvertently making a whole animated series accidentally, aren’t I).

All-in-all, this piece became a passion project for me! Thankfully not all at once, the piece’s Waveform file ended up having 82 tracks (well, in the file there are 117 tracks, but 35 of them aren’t in use and only contain previous recordings I didn’t use), and overall clocks in at about 6 minutes and 29 seconds long. …Yeah. …While as a perfectionist it always feels like there’s more to improve, I gave it my all and I’m actually genuinely proud of this piece (and, as a punthusiast, proud of some of the lyrics as well). Here it is; hope you enjoy it!

 

Creation Log:

Overview:

  • Initially, to paint a visual and aural picture, I started with listening to countless samples as the foundation to my computer music piece
  • After hearing numerous samples, I was immediately inspired to create a celestial sound
  • This evolved both lyrically and musically into a personified relationship between Earth and Mars
  • Through this process of teaching and discovery, I had to do a “trial and error” process of mixing different samples and realized that it was crucial to have samples (with similar tempos) that “vibe” well with each other.
  • In the process of creating, listening, and, repeating, I ended up discarding samples that I loved and was initially committed to using. This was one of the hardest, but best lessons learned—to be a successful creator, it’s necessary to be flexible and allow the music to evolve.
  • Some of my creative senses better tuned after this project was incorporating both hearing and listening–hearing the sounds and listening with critical thinking to create.
  • So, my successful pattern turned out to be: create, listen, keep, listen, let go, listen, shift, and repeat.

 

A Mostly-complete Log of my entire process:

Session 1:

  • One of the samples I wanted to use was in 90 BPM. The other two or three were 85 BPM, so I used 85 as the piece’s BPM instead of 90.
  • one of the main samples (JazzyVamp) was in G minor, and one of the two main samples (FunkyVamp) was in C minor. I ended up going with G minor for the piece.
  • However, I found that the FunkyVamp sample actually sounded quite good when played in G minor and then briefly modulated to its original C minor!
  • using the Waveform sample “Ghostly Beat” as main percussion and using Waveform sample “Analog Clap Beat 2” as additional percussion
    • I want the main percussion to feel light, so I threw a HIGHpass filter of around 1500 Hz on the main percussion sample “Ghostly Beat” (so only the light & loose hi-hats are heard, and the hard kick drum and trap-beat–esque claps are muted)
    • I chose to use “Analog Clap Beat 2” in parts of the verses because of its slightly-swung feel. However, I wanted to create a sound resembling light brush percussion for those parts, so I threw a LOWpass filter of around 1500 Hz on “Analog Clap Beat 2” (so the higher pitches are muffled so you’re only left with the brush-sounding lower pitches of the hi-hats)
  • using the Waveform sample “Afloat Pad” (a spacey evolving synth) as ambience. It still has pitches to it, so used Waveform to auto-pitch it down –5 semitones to match the piece’s G minor.
    • It seems like it ends / cuts off pretty abruptly, though. (I’ll fix it!)

Session 2:

  • CONCEPT IDEA: slightly swing-y love song with overarching space metaphor
  • decided not to play “Afloat Pad” during the verses (it’s a stagnant ambient chord that felt odd on top of the verses’ current chord progression), but instead to just use it during an intro and outro (and possible bridge)
  • duplicated the “JazzyVamp” section to form the first half of a Verse 2

Session 3:

  • CONCEPT IDEA: what if it’s a love song from Mars to Earth, but like, also functions as a regular song
  • duplicated the “FunkyVamp” section to form the second half of a Verse 2
  • idea! What if I used the “JazzyVamp” sample on top of the second iteration of the FunkyVamp section, but re-pitched to fit the sequence (once in G minor, once briefly modulated to C minor)?
    • It sounds odd if the “JazzyVamp” notes hit on the downbeat.
    • What if they hit on the offbeat (the “and” of “1-and 2-and 3-and 4-and…”)? Did it!

Session 4:

  • a big update!:
  • Added a syncopated 4:3 rhythm of a plucked instrument in a descending pattern (F-D-C-Bb, then later G-F-C-Bb) to add on the “FunkyVamp” half of the verses. It sounds somewhat like a mandolin, but it’s actually a sample of me playing my violin pizzicato, holding it and plucking the strings like a ukelele! (While I love using MIDI, I avoided using MIDI entirely for this project!)
    • Realized it sounded good if I harmonized the second half of the recording with a displaced duplicated version of the first half of the recording. Calling this sample I recorded “Viomandolin”.
  • Added some echoing spacey background vocals (with a syncopated 4:3 rhythm) which kinda sound like they’re rotating or revolving around a few notes. One vocal—the “ah-ah-ah-ah”-sounding one—hovers around a pattern of E-F-E-F (and then Eb-F), and the other—the “ya-da-da-da”-sounding one—has a pattern of A-Bb-A-G.

Session 5:

  • idea for an outro! Two samples that work well together (when pitched to be in the same key): “Bpm090_Bm7_Lucky_Chords_FX_4” (a mellow backing guitar part) and “Bpm090_Cm7_Gentle_Chords_FX_6” (a mellow melody on guitar). While they don’t have exactly the same chord progression, putting them together makes an interesting sound.
    • “Gentle_Chords” could loop one more time than “Lucky_Chords”, and bring back in the ambient “Afloat Pad” and self-recorded “Viomandolin” sample.
  • working on writing lyrics
  • figured out some words to go on top of the ambient “Afloat Pad” intro: “(Can you hear me?) (Are you out there?) (Can you hear me?)”
  • That trumpet sound? That’s actually my voice (doing my best trumpet impression), with reverb and a low-pass filter.

Session 6:

  • added a quiet echoey harmony to the first “(Can you hear me?) (Are you out there?) (Can you hear me?)”. Added automation to make the two pan around the soundspace.
    • It starts off with the ethereal sounds of two questions that us humans on Earth often ask and broadcast into outer space, hoping for some response from some other form of life (a response that has not yet come).
    • It’s left ambiguous whether the words “Can you hear me?” and “Are you out there?” are spoken by song’s main singer (“Mars”) or the song’s subject (“Earth”). In fact, it very well may be both asking themselves this about the other person (unbeknownst to each other), as a faint higher harmony part can be heard as the words pan around the ether.

Session 7:

  • lyrics idea: “I know you’ve got your own Life / while I’ve got no Life at all”
    • I’m honestly proud of that: While the singer is saying they don’t have “a life”, while the one they’re serenading has “a life” of their own, it’s a pun — there’s no Life on Mars (that we know of), while Earth is the only planet we know of with Life.
    • recorded those lines, and gave the words “own life” a powerful wide range of harmonies backing them up, while the words “no life at all” have a dense, dissonant, barren landscape of harmonies behind them as the instrumental completely cuts out (reflecting the words themselves).

Session 8:

  • recorded lyric: “Houston, we have a problem”
    • brief harmonic dissonance on the word “problem” (because, well, it’s signifying a “problem”)
  • made the instrumental completely cut out during the line “no life at all”, leaving a dense, dissonant, barren landscape of harmonies completely isolated for a second.
  • used Waveform’s “chords” feature to track the song’s chord progression.

Session 9:

  • figuring out how more of the music will go
  • recording lyrics, listening over, adjusting mixing
  • working on fixing the peaking from the numerous harmonies on the line “own life”
  • added a bridge that connects back to the intro and outro, using the “Are you out there / Can you hear me” motif but in a different way. It’s that “Rule of Three”: it often works well doing something three times but making the third time slightly different—then you’ve often got a cool thing on your hands!

Session 10:

  • recording lyrics, listening over, adjusting mixing
  • Oh my gosh, I just realized that the ambient “Afloat Pad” sample isn’t supposed to (or, didn’t originally) end / cut out so abruptly. It’s a result of Waveform trying to use Auto-Tempo to adjust this tempo-less sample to the project’s 85 BPM. It retimes the sample to be slower, but cuts itself off at its original length. Fixed!

Session 11:

  • As my Bass sample, I used “gminor-funk-bassgroove-94bpm”, a bass sample by GRD-music- on freesound.org: https://freesound.org/people/GRD-music-/sounds/412842/
    • slowed down by a factor of 85/94 to get it to be 85 BPM
  • added “ohhh” harmony branching off from “next dooo[ohhh]r” and continuing sustained afterwards all the way into “[ohhh]wn life”

Session 12:

  • added a vocal bass on the line “in your orbit, and I’m gravitating towards it” with a descending pattern that sounds like it’s gravitating towards one note
  • re-recording some “meh” deliveries of some lines

Session 13:

  • wrapping up!
  • I want to keep the echo delay of the last sound in the export, but it seems like the export will cut itself off when the original sound ends. To prevent this, I’ve added a blank “silence” sound so that I can easily decide when the export ends / cuts off. I used the sample “Silence- stereo and high quality” by kwahmah_02 on freesound.org: https://freesound.org/people/kwahmah_02/sounds/320807/

My Second Attempt At Waveform

While I usually prefer using a drum sampler to lay down the base of my track, I decided to do things differently and used the subtractive instead. 

An overall view of my project

Using the chords marker, I created a four bar progression. In order to select the chords, I used Waveform’s Suggestions tab within chord options. All of my tracks stuck to the chosen chord progression. 

Suggestions Tab

In all the tracks, instead of manually selecting the MIDI notes, I decided to use a pattern generator. For the base track I picked a chord pattern and set the style to Deadmau5 plucks. My inspiration for the project was Swedish House music. The track does have properties of SH music, however I feel that it lacks the speed and is a slowed down version. This problem could have been improved by using a better instrument type for the subtractive, however the best I could find in the given preset was Bass n Lead, so I decided to stick with it. 

 

Subtractive

 

Chord Pattern Generator

Similarly for the other tracks making use of a subtractive, I once again used a pattern generator. However it was different each time ranging from Bass-line, Arpeggio and Melody. 


In order to create a continuous rhythm at the back of the track I used the micro-drum sampler. Using the step clip, I layered a few drum samples, and rendered the clip for repeated use. 

Rendered Clip
Step-Clip

I decided to use reverb on the chords, because while listening to ‘rave’ music I realised that the start of the track always has music which sounds like it’s being produced from far away. Since I was starting off with the chords and wanted a linear progression for them throughout the track I decided to use reverb on the whole track. 

 

For the bassline, I used a delay, setting the length to 150ms. I wanted the bassline to ‘tick’ instead of ‘buzzing’. Hence, I made the delay shorter, instead of having a long delay. 

Delay settings

In comes EQ. In the Waveform Artisan Plugins, I found a plugin labelled as EQ. While this was not a plugin designed to give a technical EQ experience, it allowed me to efficiently filter the drums. I set the treble high, to ensure that while the drums stayed in the background they still created an encapsulating atmosphere for the listener. 

EQ settings

This is an mp3 version of my project:

 

Waveform Part 2: MIDI Unlocked

My last project, what began as an attempt to create a drum and bass (DnB) piece turned into a prematurely-ended orchestral piece. This time, with the freedom to use MIDI and a few other sound samples I found online, I was determined not to be derailed and actually make a drum and bass piece.

Inspirations

My piece was mainly inspired by two pieces:

“Albion Prelude” by Fatkids was the like the pie to my pizza. Like other DnB pieces, this song places its emphasis on a repetitive percussion to drive the song forward, while it’s melodies and harmonies are all highly reverbed to create a dreamy environment. With a difference percussion pattern, also aimed to create a song that had the percussion serve as the driving force and ambient harmonies creating a calming ambience.

From The Glitch Mob’s “The Clouds Breathe for You,” I took the inspiration of using a high-pitched synthetic bell sound as the melody in juxtaposition to the the low frequency bass and kicks.

Drums

Besides not having learned how to use the MIDI interface on Waveform 11, I was also limited on my last project because of the lack of samples I had access to. Last time, I only searched through freesound.org and an Orchestral sound pack I searched for online. This time, was also able to sample sounds from looperman.com, samplefocus.com, and numerous GitHub repositories. With the exception of the open hi-hat, kick, and snare,  I was able to use the rest of the 808 samples that came with Waveform 11’s drum sampler within my piece: the kick I settled on came from samplefocus.com, while the snare and the open hi hat came from tidalcycle’s Dirt Samples repository on GitHub. As with many other DnB pieces, the drum beat I created was modelled after the Amen Break, originally created by the American soul group the Winstons for their single “Color me Father.” All percussion was panned dead center, as the drums are the emphasis of DnB music. I wanted to add reverb to the open high-hat and claves to add space and room to the song, yet I could not figure out how to apply effects to only one sample in the drum sampler. Thus, I settled adding reverb to the entire sample and cutting shore the kick, snare, and closed high-hat sounds to compensate for the added reverb. A potential solution may have been to use different tracks for each percussion, thus I will try this method on my next song if there is indeed no way to add plugins to individual samples. I also had issues assigning individual dynamics for each note: though I used the velocity bars to change volume for other tracks, the drum sample track’s velocity become much more confusing due to inconsistencies of which velocity bar was mapped to which percussion instrument. Because of the multi-sample nature of the drum sampler, I also couldn’t utilize other plugins because they’d alter the sound of all percussion rather than just one.

Below is a picture of my drums MIDI sample. Each pitch, in descending pitch order, represented the maracas, open hi-hat, closed hi-hat, snare, and kick.

During the break in the percussion, I also played a little bit with panning automation: when fading, I used the automation curve to pan the drums from ear to ear to emphasize the dispersal effect. During the rise, I had the percussion pan from left to right before coming back to center when the beat picked back up. Below is a picture of my drum sample and its automation track during the break.

High Bell Sounds

The sound of high bells were supposed to be the melody of the song. However, I was unfortunately unable to find a bell sample high enough. When I tried using a sampler that would take a regular bell sample and pitch shift, it resulted in an unsatisfactory timbre and no longer sounded like a bell. As such, I used the saw wave in subtractive to artificially create the sound of the bell to the best of my abilities. I had planned for the bells to slowly fade in, as well as have the bells pan closer to the middle every time they repeated. However, I ran into some issues with distortion. I was able to fix this by changing the subtractive wave pattern from saw to triangle, but this did result in having two tracks of the melody. When applying reverb, I put both of these tracks into an audio bus so as to apply the same reverb to both. Though I decided to add separate compressor filters to each one, I also could have just added a compressor plugin to the bus as well. Using the equalizer, I was able to get cleaner bell sounds by essentially removing the lower frequency wavelengths that I couldn’t quite remove in the Subtractive Plugin.

When comparing the sound output of the bells on different speakers, my headphones picked up the highs much better than my computer speaker. However, when adjusting it to the appropriate balance for computer speakers, the highs them overpowered the DnB on headphones. I settled on mixing to the sound output on my headphones. I am still unsure of exactly how to resolve this issue, as compromising between the two volumes would mean that it sound underwhelming on headphones yet overpowering on computer speakers, leaving both unsatisfied.

The bells are also where I added a delay plugin for an echo effect. However, I only wanted the first few bell melodies to have delay and the main melodies without; luckily, the previous issue I had with panning, which I resolved by creating two tracks, also facilitated the separation of the delay plugin, as I could just add the delay plugin to the first track and not the second. At first, I tried to time the delay to be in beat with the song; however, I unexpectedly liked the off-beat delay even more and decided to keep it.

Below are the tracks for the two high bell sounds, along with the audio bus

Choir & Violin Accompaniment

The choir and violin were the harmony of my song, and I chose these two because of their soft timbre that would contrast the punchy and fast-paced drums. Using a high pass filter and a compressor, I was able to clean up the sound of choir. This was also where I wanted to play the most with panning, as I planned to have different pitches come from different areas in the room. Yet in practice, shifting the source of the harmony was a terrible idea because I distracted from the melody too much. In addition, my harmony had a point of very fast progression, and quickly changing the pan of the sound during that progression was especially confusing as a listener. As such, I stuck with keeping the pan of the harmony in the center. When mixing I realized that the choir and the violin were very similar sounding, so I tried to use differing equalizer filters to try to get both of their unique timbre while still adding more to the harmony. Though this helped to a certain extent, I also do think it’d also have interesting to try using another instrument, perhaps the viola, rather than trying to use filters to force a difference.

Bass

The bass was my favorite yet my most frustrating part of this song to work on. As with my last song, I also use the 4OSC to create my two bass tracks. As I felt like my last track’s bass didn’t have enough character to it, this time I decided to have two basses, one to act more as an accompaniment, track name called BoopBass because it was single hit bass notes, and served as the bass pad, track name Full Bass. I added a low pass filter to BoopBass and an equalizer to to Full Bass just to be save that there were no high-pitched imperfection even though I didn’t seem to hear any difference in my headphones. The first half of the song only had the BoopBass, and I had intended for the bass pad to come in during a drum solo and slowly rise up as the melody returned. Yet, there always seemed to be an inconsistency in the gain of the full bass, with one note playing louder/ softer than the last and also inconsistently so through each play. Since I did not notice the problem when soloing the track, I thought perhaps it was during to the sound wave destructively interfering with other wavelengths, yet that still doesn’t justify why the varying sound levels would be inconsistent with each playback.

Yet another issue I ran into with the bass was the track bass line’s difference in volume when played on different audio devices, just like with the aforementioned bell issue. On my computer’s speakers, the bass was essentially inaudible at low levels, yet when I increased its volume while mixing, the sound would then become painfully overwhelming when listening through headphones. I once again settled on the volume level that would be comfortable with headphones.

Final Product and Concluding Thoughts

Below is my final song. I decided to name it “Edgeless,” after the edgeless effect that I tried to create with the repetitive drum beat and mimicking a large room’s reverb through almost all of my tracks.

In general, I’d say this track was overall a success. I was successfully able to create a DnB song that had the driving percussion, deep bass, and high melody that I set out as my goals from the very beginning. Compared to the two songs that I took inspiration from, there is definitely still a lot of work to do:

  • I could add more variation into my drums. Although much of DnB is indeed repetitive, I felt that my song could have been improved by adding some more automation and a few measures of a different drum pattern. The only real change I implemented was a few measures of rest in the middle. Next project, I will try to add more variation through automation, but first I’ll learn how to add plugins to each individual sound sample in the drum sampler. If this is impossible, I will likely proceed by assigning a track to each percussion instrument instead
  • More use of filters. For this project, I largely relied on the equalizer, compressor, and reverb. For my next project, I’d like to incorporate especially a pitch shifter: this was a technique used in “Albion Prelude,” and I can’t wait to try it on my own music.
  • Perhaps add some vocals? I recently ordered a microphone and I’m hoping that the microphone allow me to use my own voice in my sounds as well. Now that I know how to use filters and other plugins, I may also be able to compensate with a poor audio recording by using filters to create a cleaner sound
  • More FX: There were some measures in the song that sounded very dry, and rather than relying on reverb to fill that sound, I really want to try using more sound effects. Often times, I am dissuaded from using FX because it’s almost impossible to find “the right one.” However, I may sample some FX before starting my next piece, so this way I can perhaps create a song that tailors to the FX that I have on hand
  • Use more bus: when reviewing my final work, I saw had a lot of the same plugins for many of my tracks. On future projects, I’d wish to use more audio buses to both make my production process more efficient as well as better balanced.

 

 

 

 

 

 

 

 

Last Weekend: My Second Struggle with Waveform and (First) Struggle with MIDI

Brainstorming/Samples/MIDI

 

To start out, I had a general mood/vibe in mind—something more upbeat and hard-hitting than my last, more mellow piece. I began with how I began last time, sifting through SSLIB samples and loops. As much as I tried to branch out and try different genres and categories of samples (including dubstep), I still gravitated back towards my favorite R&B realm guitars. I guess some things never really change.

 

After marking up all the samples and choosing a prominent guitar sample I wanted to base the entire track around, I started to look at what MIDI instruments would fit well with the overall vibe. I started with the beat, and used the 808s drum sampler (except for the snare, for which I used the better sounding 909s) to construct a beat that fit the general rhythms and cadences of the guitar loop. At first, it took a LONG time to figure out how to use the QWERTY keyboard, as I don’t have an actual keyboard, but once I did, it was pretty easy to record in a deconstructed way. I then ran into another challenge where I didn’t realize that plug-ins had no effect on the sampler and its pre-determined sounds, which made for a very confusing hour as I struggled and began to question my own hearing. I then went through the Subtractive and 4OSC libraries and selected my favorite sounds to fill out the rest of the track. Eventually, I ended up with 1 Subtractive bass, 1 Subtractive ambient pad, and 1 4OSC synth-y bass that fit well with the beat and the lead guitar.

My practically illegible notes with samples and structure

With my main sounds in mind, I now began to map out a plan/structure for my song. Whereas in my last track, I built into a climax and gradually stripped everything down, for this track, I wanted to start with high energy and intensity, then strip it down into a “distorted,” “underwater” section that was shifted down in both tempo, pitch, and with a low-pass filter, and then end with a punch with a high-energy section that brought together elements from both the beginning and the middle.

My overall project!

Recording Sound

 

This was, as usual, my favorite step of the process. Again, I had no professional microphones or studio setup, so I still used my phone and the Voice Record Pro app. This time, I ventured out of my room to my entryway hallway, and even my bathroom! While this led to the possibilities of more sound, it also led to the greater possibility of background noise, random interruptions, and awkward interactions with people passing by as you kneel on the ground, holding your microphone to your entryway door hinge.

 

This time, I went in with some sounds in mind. I had two percussive sounds in mind that I thought would add texture to the beat I had already constructed—namely tapping a paper cup against a table to simulate a wood block, and shaking a Ibuprofen bottle (a bottle that seems to come up a lot in these projects) to simulate a shaker. I also had more atmospheric ones for the slower, “underwater” section, including literal water, or more specifically the spraying of my shower head. I also recorded some vocal licks that I planned on pitching and filtering to create cool effects (those were a late-night addition, so I had to record in our computer lab, which, while isolated and not disruptive to anyone else, had background noise from the air conditioner). 

 

There were some unplanned sounds that I eventually grouped together to form transitions, or brief breaks in the beat, namely the sound of my entryway door hinge squeaking open and shut, and then slamming against the door frame, and also the sound of my popping open my suitemate’s San Pellegrino soda, pouring out, and letting fizz. To add to the “drink” sequence specifically, I later found a champagne pop sound on an online sound database, as, unfortunately, we do not have a champagne bottle in our suite.

 

Back by popular demand, here are the original, untouched recordings I made, along with some helpful video reenactments (there are some that I did not want to do twice just for video, namely opening the soda).

The soda that I popped open, poured and fizzed.

Waveform: MIDI, Plug-Ins, Automation

 

As usual, I had to pitch shift and tempo shift my recorded sounds to make them fit together. But more daunting was editing my MIDI recordings. I eventually did figure out how to quantize, and in some cases, manually adjust each note to be rhythmically consistent. I also had to adjust velocities (especially in the synth MIDI instruments) to make them sound more natural and less plodding. 

 

With my samples and MIDI clips ready, it was time to apply plug-ins and automation to bring them together. I stuck with the usual plug-ins: HP/LP (I used low-pass EXTENSIVELY in the middle, “underwater” section), chorus, reverb, delay, compressor, and EQ. And as for automation, I created tracks/curves for volume, pan, pitch shift, and a lot with the low-pass filter, especially when transitioning between the normal/high-energy and “underwater” sections. I also learned how to manipulate the tempo curve for a ritardando (and whatever the opposite of that is) effect to transition between the high-energy and “underwater” section. Again, I’ll outline the piece by its main building blocks.

The extremely helpful tempo curve at the top that created a ritardando effect
Hard to see, but the automation curve for the low-pass filter during the transition from the “underwater” back to the high energy section

Sound Effects

As I mentioned, these were mostly for transitions this time around. I used them sparsely, but when they did show up, some of them were, at times, the only track that was playing. At the beginning, since I didn’t want the high-energy beat and guitar just to drone on, I added “breaks” every so often to ease the tension and to add some spontaneity to the piece. Essentially, I took out most of the tracks and left a bar blank for a sound effect, whether it be door hinges creaking and then slamming close, or a drink popping open, pouring, fizzing, then popping again (the sequence doesn’t make sense). I added reverb, chorus, compression, and (as for every track, so I won’t mention it any more beyond this) EQ plugins to add more dimension to the rather flat iPhone recordings. I especially had to work on the door slam and champagne pop having that, well, pop to really punctuate the break in the beat. Besides these transitional sounds, I also had a shower, water sound effect constantly looping (fittingly) throughout the “underwater” section, to which I applied a low-pass filter, of course, and reverb to give it more weight. 

The sound effect transition/breaks

Beat

As I said before, I assembled the main beat from its deconstructed parts (snare, kick, tom, and hi-hats), and had to find out the hard way that you cannot add plug-ins to a drum sampler. Nevertheless, I made the adjustments I could, whether it be cutting off the snare sample in the 909s sampler (the 808s snare just sounded so…flavorless) to make it more crisp, or panning the hi-hats a little bit to the right to create space in the center for the kick and snare. And as I said before, I added percussive recorded samples to provide texture to the sampler and give it a more human feel (which even changing velocities couldn’t achieve), including the plastic cup pitched up, compressed, chorused, and low-pass filtered to mimic a wood block, and the Ibuprofen bottle compressed, filtered, and slightly tempo-shifted to mimic a shaker.

The main drum sampler beat

For the “underwater” portion, I used a sampled beat that had roughly similar cadences as the beat I had constructed myself. I did this partially out of laziness, but mainly because the texture of the sampled beat was far more suitable for the “murkiness” of the section than the sampler that I had access to. As for all the other parts of the “underwater” section, I used a low-pass filter ESPECIALLY heavily on the beat to really drive home the murkiness. I experimented with dynamics filters, but none were noticeable with such a heavy low-pass filter, so I saw no point in adding it just for the sake of adding one. 

 

Lead/Main Accompaniment

The constant undercurrent throughout the entire track is a punchy, high-energy guitar loop. Throughout the entire song, I applied chorus and compressor to give it that extra punch and kick. Midway through, in the underwater section, it undergoes a complete transformation as I applied a heavy low-pass filter (just as with the beat).

 

The guitar track is accompanied, in the first high-energy section, only by a MIDI bass track, to which I applied a chorus plug-in to give it more depth and airiness. But in the second, “underwater” section, I needed more tracks to fill in a lot of the empty space created by the slower tempo, and low-pass filter. I did so with an atmospheric, ocean-y (water theme continues!) pad that oscillates and rises and falls, which is extenuated by a delay plug-in. I also added a 4OSC synth bass to add more texture, which I had to apply a heavy low-pass filter to, so it was not too overpowering. When I transitioned back into high-energy, and introduced these two tracks from the “underwater” section in a new context, I had to change the Subtractive pad to be more beefy and hold its own amongst everything else going on.

 

Miscellaneous Accompaniment

There’s really only one random element that pops up once in a while, and that’s my vocal tracks. There is one quick lick that serves the same transitional purpose as the door slamming shut and the bottle pop, during a break in the beat during the first high-energy section (this one I left intentionally a little out of tune and off beat, just for the ~quirkiness~). Then, there is another more repeated vocal lick (a two-part harmony in fifths) that I pitched up significantly, and scattered throughout to fill in some empty spaces. To both vocal clips, I applied a low-pass filter, reverb, chorus, and EQ plugins to reduce background noise and make less “human” into a more mysterious type of sound. Both vocal tracks I fed into a main vocal effects bus, so I didn’t have to go through and add/change these plugins for every single clip and transition. I had to do some figuring out (with help from Iris in class) to learn to actually use a bus, but now that I know, I will definitely be using it far more in the future, as it would’ve saved me a lot more time in this project had I applied it earlier as well.

 

Mixing and Mastering/Final Product

 

I paid far more attention to the mixing component of this track than I did to my previous piece, partly because we’ve learned more, but also because there are far more tracks and transitions that all need to be balanced and reined in. I found that EQ’ing as I went through each track definitely made it so I didn’t have to do as much work from a broader standpoint at the end. I did find that going into the “mixer” layout/view in Waveform really helped me to visualize and easily make adjustments as I listened through. This did backfire, as when I tried to switch back to the normal view, everything had shifted and the tracks were super skinny that I couldn’t click on them, and then the side plug-in tab was no longer there, and so on. A whole mess.

The wonderful mixer view before everything got messed up

But anyway, this time, I tried listening through with headphones, without headphones, and through a Bluetooth (yuck) speaker, to try and account for different listening experiences. I also listened at different volumes to hear the different tracks in action. I then exported the track and dragged it into a new project to make adjustments as a whole (which honestly, besides some light EQ’ing, were not that much at all). I also found that the audio that plays within the project can be vastly different from the audio that comes out after exporting. For example, the pill track, which was prominent in the project, became way duller and quieter after exporting, which I had to re-export several times to try and fix (it still, for some reason, isn’t as loud as I want it to be!). Another example is in the “underwater” section, as I automate the low-pass filter, the murky beat, at the end as it is about to transition back into the high-energy section, starts blasting and slightly blowing out the headphones, something that I did not hear at all in the project, and again, had to re-export to fix (and still could not get rid of all of it).

 

But overall, I generally satisfied with out it all turned out. There were a lot of moving parts and structural sections, and I’m proud of how I was able to, for the most part, pull it all together. If I had more time, I would have made a few more adjustments, both to the track and my overall process:

1) import sampled sounds to create my own drum sampler with more unique sounds that I have more control over (and can actually apply plugins to)

2) employ buses more, just for convenience sake

3) flesh out my ending, especially the transition back into the high-energy section more, so it doesn’t end as suddenly (although I keep on going back and forth on whether I like the sudden end – I do feel like it has its pros and cons)

4) figure out the balance between the lead and beat mixing-wise more, as I feel like I may have overcompensated a little bit with this project (as last project, I had problems with the beat overpowering my lead), and struggled with the balance this time again between the guitar and beat

5) experiment with more changes and variety in chord progression, so it isn’t just the same progression over and over again (this would require me to rely less on samples)

 

Here is my final track, which I’ve named “Last Weekend,” because, listening through, I think I may have inadvertently mapped out the progression of a typical Friday night on a college campus in the song: