Justin Franklin December 2016

My Experiences, Accomplishments and Goals With Music Technology

I can remember associating music with technology ever since I was a child. My father is a musician, and I grew up with music equipment around the house, mostly amplifiers and rack effects modules. As PCs became more popular, then came software. I remember using some of this software to create music. I would assemble the stock loops that came with the program to create little songs. That was when I was nine years old, and now i’m older, but not much has changed. I’m consumed with producing music and software related to music by technological means.

During my time at Parkland, I had taken some music recording classes, one basic and one advanced. At the time that I took these classes they were being taught by Mark Rubel, then owner of Pogo Studios in downtown Champaign. Classes were on site at this studio, and I was able to have a lot of time to get hands on experience with recording techniques and learn about equipment. I also learned a lot about sound and how it is synthesized.

When I began taking music seriously,I didn’t have professional software or hardware to produce it. I would produce songs using demo software and freeware. Some of these were really just very simple loopers, that would loop .wav files. I would loop a series of .wavs, write the loop to a master .wav file and then repeat the process, compounding .wav files and producing the effect that I had produced it in a DAW, when I really hadn’t. The base .wav files that I used were synthesized by me in various freeware and demo software synthesizers. Instead of drum samples I had a folder of .wav files of analog style kick drums and snares, that I had synthesized using freeware synthesizers. I still use these sounds frequently and they can be heard in the music I make within my portfolio/ website.

I also used a tape recorder to record various sounds around the house and outside, which I then would use as if they were percussion instruments by means of a sampler. Once again I do this frequently in my music.

Over the years, As i’ve grown more and more passionate about creating music electronically, I’ve used a lot of different software. I’ve used Fruity Loops, Ableton, Reason, Pro Tools, SunVox, as well as SuperCollider to create music, instruments and digital effects processors. The more I became interested in music by electronic means, the more I realized how constricting some of the software was, and began learning SuperCollider as a means of creating my own things. SuperCollider, is a program that uses a programming language to design musical instruments, compositions or signal processing. I created many different synthesizers using SuperCollider and would control them using MIDI via a hardware synthesizer I owned at the time. I also created a granulizer using SuperCollider that I used to chop up audio that can be heard specifically in my song “untitled”.


Another program I’ve used is Synth Edit. It is a freeware program that allows the user to link together smaller audio processing “pieces” to create virtual synthesizers and effects, that can easily be imported as VST instruments into a DAW. In concept it is very similar to a program like Max/MSP or Reaktor. I’ve created my own virtual synthesizers and effects with Synth Edit and they can be heard within the songs on my portfolio/ website.

Today I still use many of these programs for different reasons, but I’ve focused my attention to other things. One thing I’m focused on are hardware instruments. I’ve began collecting many hardware instruments, and sequencing them using a hardware MIDI sequencer. I also use hardware effects to control their sounds. I have specific fascinations with hardware instruments, such as how they may be designed and how they produce their unique sounds. All hardware synthesizers, sequencers, samplers and drum machines are unique and how they achieve their unique qualities is interesting. I’m also interested in how these instruments have been marketed throughout the decades, and some of the trends that have come and gone. Some of my use of electronic hardware instruments can be heard in my portfolio. Specifically my song “Computers From Heaven” which can be accessed on the homepage of my portfolio/ website. The drum section here is a sequence I programmed into a drum machine and recorded it onto the computer. Once on the computer I time shifted it to fit the song I was working on which tuned up the pitch a bit.

-"Computers From Heaven"

Another aspect of music in which I’ve been investing my time in, is creating music related software. I have taken an interest in JavaScript and using it to create musical games and applications. I’m especially interested in this because it gives someone that may be using these a more interactive and immediate understanding of higher music concepts, without necessarily knowing much about music to begin with. Creating programs about music, for others to use is a way of sharing my passion for music, and helping others understand more about it. Examples of the programs i’ve created are available on my portfolio/ website and are further discussed in upcoming paragraphs.

In my future, I would hope to do many things such as create electronic musical instruments that could be used as educational tools for both children and adults to learn more about music, as well as develop software that achieves this too. I am deeply invested in dedicating myself to music, how it functions, and how technology helps us understand it more and more as it develops.

I would like to take this time to provide a detailed description of what you will find in my portfolio. My portfolio is an online web site named www.elephantstereo.com. This is a website that I created from the ground up, using absolutely no template. It uses HTML, CSS, Javascript, JQuery, the P5JS library, and the P5 Sound library. Please make sure that JavaScript is enabled in your browser, and that you are not using Internet Explorer. Google Chrome or Safari is recommended. Firefox may have trouble loading MP3 files. This domain existed to host my music to the interested public, but I have recreated it from scratch for this exact purpose: to operate as my portfolio for this application. Everything within this website has been coded by me.

On the Homepage, the first page you will arrive at, should be a black and white picture of me. On the left side of the screen is a yellowish and purple box. This box should have a list of three song titles, and at the bottom says: “Elephant Stereo Julian Years”. This little box is a music player that I have created and programmed using Javascript, P5JS (Processing 5 Java Script) and the P5 sound Library. This one specifically provides an opportunity to listen to some of the latest music I’ve created. Later, as you look through the website, you will find other pages that feature a similar music player, and that will give you chance to hear some of the music I was making at that time. This music player concept is an important accomplishment for me. It consists of about 200 lines of P5JS code, which is important in comparison to other music players found on the web today. Only recently has there been a standardized music player for the internet, with the release of HTML5. Although it is efficient at playing one audio file, playing a playlist of audio can be tricky. Many developers have created music players, and music playlist players using Javascript, although using many lines of Javascript, as well as HTML, and CSS too. Typically one would use HTML as a skeletal framework, then use Javascript to program the functionality and CSS for the visual design. By using P5JS to approach the music player as a ultra simplistic video game, I’ve created a far more efficient concept. The music player appears to use links for the the song names which you click, and the song plays, but that is actually not the case at all. It uses an object made of text and constantly calculates the distance between the coordinates of the mouse with the coordinates of the text object. If the distance becomes small enough, it knows the mouse must be over it and it changes color. If the mouse is clicked during this state then the appropriate .wav file is played, depending on what song title the mouse is over. Although this music player is created on an HTML canvas using Javascript and libraries, the functionality exists outside of HTML, and results in a much leaner more efficient and useful style of music player.

At the top of the Website there is a navigation bar. Click “About” for a quick biography about me. Click “Programming” for some examples of software that I have programmed. If you click “Programming” it will lead you to a page that has two links on it, “Mouse Bubbles” and “Auto Drum”. Clicking one of these will bring up a new tab or window with the program running inside of it. Click “Mouse Bubbles” and play the game and I will describe it to you. Make sure your volume is on, but not too loud.

Mouse Bubbles is a game I created, that creates music for you. A blank bright yellow field should be visible. If you click anywhere within this field, a bubble of random size will appear, and begin to bounce around the field. You can create as many bubbles as you want. You will notice that when these bubbles collide, they produce sound. Every time a bubble collides with another, it changes the music that plays. Bubbles can be pushed around with your mouse cursor, and if you have too many, you can click the word RESET. This resets the amount of bubbles to zero, but the music will still play. Moving the cursor along the X axis changes the value of the cutoff rate of the filter applied to oscillators producing the sound. To stop the game just click out of the tab or window, and return to my web site.

This game is created using Javascript, and uses animation and newtonian physics to achieve the effect of bubbles moving and bouncing off of one another. When a collision between two bubbles takes place, a function is called. This function activates two oscillators, one serving as a soprano voice, the other as a bass voice. The collision function also provides the oscillators each with their own set of notes to play, as well rhythm information. These sets of notes and rhythms are randomly chosen from a “pool” of strings of note values and rhythms that I have programmed. For example a set of notes might look like this: [60, 64, 67, 69]. This is MIDI notation for C, E, G, A. While a set to represent rhythm looks like this: [0,0,1,1]. This means to rest for the first beat; rest for the second beat; trigger the first note in the note set for the third beat; trigger the next note in the note set for the fourth beat. The outcome would be: rest,rest,C,E,rest,rest,G,A, then loop. Since both types of sets, rhythmic and note value, are chosen at random by the computer, they can produce interesting outcomes, for example by pairing a rhythm set that has three active beats and five beats altogether like [0,1,1,0,1], with a note set that has four values like [60, 64, 67, 69]. This produces: rest, C, E, rest, G | rest, A, C, rest, E | rest, G, A, rest, C | rest, E, G, rest, A | then loop. This method conjures more varied and advanced “melodies”, in a simple way.

I created this software with the intention of getting people that are not aware of the possibilities of combining music and technology, to become more interested in it. Also I hope maybe it could be used by composers, that are lacking inspiration. Maybe they could use it to trigger an idea, and create their masterpiece.

On the “programming” page of my portfolio/ website, is a second link to another program called Auto Drum. When you click the link, another window or tab is summoned which contains the program. Visually Auto Drum is a pink box. Every time you click the box, a tribal rhythm plays. When it is clicked again it changes and changes. Mechanically this program is very similar to my Mouse Bubble program, however instead of using two different oscillators, this program uses a handful of samples of percussion instruments. The samples are triggered according to some sets of rhythm values, programmed by me, and are randomly chosen and grouped together. Once again, I believe this would be a great program for someone lacking inspiration in creating and exploring new rhythms. It could be possibly useful for someone wanting to practice new rhythms and expand their rhythmic knowledge.

For the past two years I’ve been attending Parkland College as a full-time student, pursuing an associates degree in music. Studying music theory, and music history has given me a much better understanding of how music is written and understood. Its given me some of the tools I need in order to not only create better music, but better understand how to create programs that will communicate with people better. As a music student I have learned a lot about music, but I still have many questions. How can music be better implemented in our society? How can people learn more about music and how its written? What are the best ways for people to interact with music? Where is music going as technology progresses? Transferring into the U of I would allow me to continue studying the potentials of music and technology. It would provide me with a solid education of all things related to music, and a chance for me to build a career from this knowledge. My future career is a career that I hope to be full of creativity, ingenuity, and education concerning both music and technology.

Below are some screenshots of Virtual Instruments and Effects I've created in Synth Edit.

This is a basic drum machine/sample player that takes loaded samples and allows the user to pitch shifts them.

This is an effect that mangles incoming audio by modulating it with an oscillator, whose pitch and waveform can be adjusted.

This is a virtual synthesizer I made, that I use fairly frequently. It's been a while since I created this but it looks like it uses 3 oscillators, one of them employing a phase distortion technique, which are all routed to a filter before being output.

This is another digital synthesizer I created. It uses two oscillators, which can be set to different waveforms. Three envelope generators that are routed to the overall amplitude, the cutoff rate of the filter, and the amount of resonance of the filter. It produces classic Roland TB-303 type sounds.