Difference between revisions of "Daniel Smith Final Project Music 220a Fall 2008"

From CCRMA Wiki
Jump to: navigation, search
(Main Concept)
(The Process)
Line 33: Line 33:
  
 
I began this process by building purely in Java, using Eclipse as my tool. I created an "engine" that essentially is a program that allows the user to "Jam" and select one of four guitars with which to "Jam" that all sound different. Additionally, the engine allows users to write their own music using a "Write" option. They can write songs to files, which can actually be played back using the program. The user can play along, if he or she desires, while their original song is playing.
 
I began this process by building purely in Java, using Eclipse as my tool. I created an "engine" that essentially is a program that allows the user to "Jam" and select one of four guitars with which to "Jam" that all sound different. Additionally, the engine allows users to write their own music using a "Write" option. They can write songs to files, which can actually be played back using the program. The user can play along, if he or she desires, while their original song is playing.
 +
 +
After the main keytar "engine" was completed, I moved to working with ChucK to

Revision as of 00:29, 10 December 2008

Main Concept

The central idea for my final project, which I viewed as a sort of partial synthesis of the knowledge I gained over the course of Fall quarter 2008, was to turn a computer keyboard into a somewhat realistic guitar substitute with different guitar models and the ability to move sound between channels.

Essentially the project is a application for guitar simulation called: Java Keytar.

The Method

I aimed to create this "guitar simulator" as follows:

Strings Treating user clicks of the right-shift, enter, backslash, backspace, and F12 keys as string plucks of the E, A, D, G, and B strings respectively.

Frets The rows of keys, beginning with "Z, A, Q, 1, F1" are supposed to simulate the frets. So pressing any key in that row (Z, A, Q, 1, F1) is supposed to simulate pressing down either the E, A, D, G, B string respectively, at the first fret.

The Thought

Music 220a has essentially opened my eyes to the enormous economy of means that exists for creating music and working with sound through computers and technology on a whole.

For me, especially sparked by one of the later lectures, Music 220a raised the following question:


do all modern technologies dream of making music?


I conclude, with this assignment, that this assertion is indeed valid.

I began this quarter not knowing much about programming, computer music, or their connection - but somewhere in the quarter I started, not only learning the very basic foundations of programming and computer music, but seeing the connections that exist between their worlds.

The Process

I really began learning about programming ten weeks ago, simultaneously in two different classes - CS106a and Music 220a. For this final project I decided to synthesize my new knowledge of programming in Java and ChucK to allow Java to dream of creating music, and working with ChucK to really create the music, and the effect a user can have on the sound.


I began this process by building purely in Java, using Eclipse as my tool. I created an "engine" that essentially is a program that allows the user to "Jam" and select one of four guitars with which to "Jam" that all sound different. Additionally, the engine allows users to write their own music using a "Write" option. They can write songs to files, which can actually be played back using the program. The user can play along, if he or she desires, while their original song is playing.

After the main keytar "engine" was completed, I moved to working with ChucK to