Difference between revisions of "PLOrk2009/AdrianKwokFinalProject"

From CSWiki
Jump to: navigation, search
(How to Play)
Line 16: Line 16:
 
=== How to Play ===
 
=== How to Play ===
  
To run Dark Matter open both the Chuck and Processing files and run both (you need to download [http://chuck.cs.princeton.edu/ Chuck], the [http://audicle.cs.princeton.edu/ MiniAudicle] and [http://processing.org/ Processing]). Ensure that the virtual machine is running if you are having problems running the Chuck file. Once the Processing file is running you should see a screen like [http://www.princeton.edu/~akwok/Picture_8.png this]. Note that this doesn't necessarily mean everything is good to go, the GUI could run without the sound component.
+
To run Dark Matter open both the Chuck and Processing files and run both (you need to download [http://chuck.cs.princeton.edu/ Chuck], the [http://audicle.cs.princeton.edu/ MiniAudicle] and [http://processing.org/ Processing]). Ensure that the virtual machine is running if you are having problems running the Chuck file. Once the Processing file is running you should see a screen like [http://www.princeton.edu/~akwok/Picture@208.png this]. Note that this doesn't necessarily mean everything is good to go, the GUI could run without the sound component.
  
 
To start Dark Matter you have to click one of the two instruments. There are two choices, a clarinet and a flute. The buttons labeled as such naturally control the instrument playing. Dark Matter will not produce sound until one of these instruments is initially selected.
 
To start Dark Matter you have to click one of the two instruments. There are two choices, a clarinet and a flute. The buttons labeled as such naturally control the instrument playing. Dark Matter will not produce sound until one of these instruments is initially selected.
 
   
 
   
Click a random spot on the grid. A cool pattern like [http://www.princeton.edu/~akwok/Picture%209.png this] should appear. Now observe that there is a cool scrollbar-like thing under the grid on the left side. This bar controls the style of the pattern that appears on the screen (technical language we call this an "explosion" in Dark Matter speak yo). Play with the various options, you should get different gradient patterns like [http://www.princeton.edu/~akwok/Picture_10 this]. Notice that the sound changes whenever you change the makeup of the screen. What is happening in the background is whenever you click, the program is immediately recalculating the total "darkness" of the screen and adjusting the frequencies of the 3 sound sources accordingly. They will converge on the same value when the screen is perfectly white.
+
Click a random spot on the grid. A cool pattern like [http://www.princeton.edu/~akwok/Picture%209.png this] should appear. Now observe that there is a cool scrollbar-like thing under the grid on the left side. This bar controls the style of the pattern that appears on the screen (technical language we call this an "explosion" in Dark Matter speak yo). Play with the various options, you should get different gradient patterns like [http://www.princeton.edu/~akwok/Picture%2010 this]. Notice that the sound changes whenever you change the makeup of the screen. What is happening in the background is whenever you click, the program is immediately recalculating the total "darkness" of the screen and adjusting the frequencies of the 3 sound sources accordingly. They will converge on the same value when the screen is perfectly white.
  
If you can't wait to see what that sounds like, there's a cool option with the button labeled "white" that will set the entire screen to [http://www.princeton.edu/~akwok/Picture_1.png white]. The button labeled "black" naturally changes the entire screen back to black. Sometimes for pieces it's more musically [http://www.princeton.edu/~akwok/Picture_2.png appropriate] to start with a white screen, to make this change just set the screen to white before picking your initial instrument. Say we started with a white screen and made some [http://www.princeton.edu/~akwok/Picture_3 patterns] of different styles. Now we decide we want to make the entire screen lighter. We can do so by clicking the "lighter" [http://www.princeton.edu/~akwok/Picture_4 button]. The same sort of thing can be done with making the screen darker.
+
If you can't wait to see what that sounds like, there's a cool option with the button labeled "white" that will set the entire screen to [http://www.princeton.edu/~akwok/Picture@201.png white]. The button labeled "black" naturally changes the entire screen back to black. Sometimes for pieces it's more musically [http://www.princeton.edu/~akwok/Picture@202.png appropriate] to start with a white screen, to make this change just set the screen to white before picking your initial instrument. Say we started with a white screen and made some [http://www.princeton.edu/~akwok/Picture@203 patterns] of different styles. Now we decide we want to make the entire screen lighter. We can do so by clicking the "lighter" [http://www.princeton.edu/~akwok/Picture@204 button]. The same sort of thing can be done with making the screen darker.
  
Overall the instrument is more interesting when the screen is more [http://www.princeton.edu/~akwok/Picture_5 complicated] because squares will cycle through colors, that is, white squares will become darker until they are black and then turn white again, so where you click really affects the sound given the layout of the grid at that time. Using the [http://www.princeton.edu/~akwok/Picture_6 darker] and [http://www.princeton.edu/~akwok/Picture_7 lighter] buttons in these cases is very useful to make clear jumps in harmony and is the best way to synchronize a large group of Dark Matter plays.
+
Overall the instrument is more interesting when the screen is more [http://www.princeton.edu/~akwok/Picture@205 complicated] because squares will cycle through colors, that is, white squares will become darker until they are black and then turn white again, so where you click really affects the sound given the layout of the grid at that time. Using the [http://www.princeton.edu/~akwok/Picture@206 darker] and [http://www.princeton.edu/~akwok/Picture@207 lighter] buttons in these cases is very useful to make clear jumps in harmony and is the best way to synchronize a large group of Dark Matter plays.
  
 
=== Black and White ===
 
=== Black and White ===

Revision as of 01:46, 9 May 2009

Dark Matter

Welcome to Adrian's MUS 314 Project Wiki Page!

Introduction

This project grew out of the desire to build an instrument that was based off of some sort of goal-oriented game. Eventually through some brainstorming I developed a graphical model where a start state (in this case a grid of 256 black squares) is converted into a goal state (a grid of 256 white squares). The rules of the game are simple, every click of the mouse causes an "explosion" around that point on the screen, changing the colors by a predetermined rule. Ultimately I added a number of other features, including the ability to lighten or darken the entire screen, change the explosion pattern and reset the screen to either the goal or start states.

Built off of the graphical interface is a simple sonic representation of the gameplay. The start state is represented by 3 StkInstruments (in the version either Clarinets or Flutes) that are set to dissonant relative frequencies. Their frequencies are directly related to the total "darkness" of the screen, so the goal state has them in perfect unison. In this way I envisioned a piece using this instrument to represent the logical problem solving of its players, each seeking to make his/her sound as pure as possible. In light of this clear goal I steered clear of making the individual sounds too complicated or to have additional voices present, in my instrument everything presented is directly controlled by the user and his/her actions.

And thus, Dark Matter came into existence...

Code

All of the relevant code for this project can be found here

How to Play

To run Dark Matter open both the Chuck and Processing files and run both (you need to download Chuck, the MiniAudicle and Processing). Ensure that the virtual machine is running if you are having problems running the Chuck file. Once the Processing file is running you should see a screen like this. Note that this doesn't necessarily mean everything is good to go, the GUI could run without the sound component.

To start Dark Matter you have to click one of the two instruments. There are two choices, a clarinet and a flute. The buttons labeled as such naturally control the instrument playing. Dark Matter will not produce sound until one of these instruments is initially selected.

Click a random spot on the grid. A cool pattern like this should appear. Now observe that there is a cool scrollbar-like thing under the grid on the left side. This bar controls the style of the pattern that appears on the screen (technical language we call this an "explosion" in Dark Matter speak yo). Play with the various options, you should get different gradient patterns like this. Notice that the sound changes whenever you change the makeup of the screen. What is happening in the background is whenever you click, the program is immediately recalculating the total "darkness" of the screen and adjusting the frequencies of the 3 sound sources accordingly. They will converge on the same value when the screen is perfectly white.

If you can't wait to see what that sounds like, there's a cool option with the button labeled "white" that will set the entire screen to white. The button labeled "black" naturally changes the entire screen back to black. Sometimes for pieces it's more musically appropriate to start with a white screen, to make this change just set the screen to white before picking your initial instrument. Say we started with a white screen and made some patterns of different styles. Now we decide we want to make the entire screen lighter. We can do so by clicking the "lighter" button. The same sort of thing can be done with making the screen darker.

Overall the instrument is more interesting when the screen is more complicated because squares will cycle through colors, that is, white squares will become darker until they are black and then turn white again, so where you click really affects the sound given the layout of the grid at that time. Using the darker and lighter buttons in these cases is very useful to make clear jumps in harmony and is the best way to synchronize a large group of Dark Matter plays.

Black and White

I wrote a piece called "Black and White", which demonstrates the various features of the instrument. A video of me playing "Black and White" can be found here

Acknowledgements

This project represents my own work in accordance with University regulations. As stated in the individual files, code was borrowed with permission from the Processing programming language website and examples by Rebecca Fiebrink and Dan Trueman. Special thanks to Rebecca for her help.

What to include on your project page

  • A description of your project
  • Your code
    • If it's short, you can make a new page for it like this one
    • Or, if there's a lot of it, put it in a .zip file so that people can upload it.
  • Instructions on how to run your code
  • A sound or video recording of your piece. Going lo-fi and using built-in webcam from another laptop (e.g. PLOrk machine in studio B) is fine. But for audio, if you're using chuck, best to use rec.ck for writing chuck's output directly to a file.
    • See directions above on putting it on your network drive and linking to it