Difference between revisions of "Matt Rosen"
(→Project 1) |
(→Final Project - playBack (performance.drum.machine)) |
||
(32 intermediate revisions by the same user not shown) | |||
Line 21: | Line 21: | ||
*[http://www.sfu.ca/~mrosen/Project1/applet DIGITAL-ANALOG CLOCK] | *[http://www.sfu.ca/~mrosen/Project1/applet DIGITAL-ANALOG CLOCK] | ||
A simple "digital/analog" clock using three coloured arcs and numerical time. The hour arc changes colour at noon and midnight. I also added a slight irregular flicker in the center of the clock, generated from even-numbered milliseconds. | A simple "digital/analog" clock using three coloured arcs and numerical time. The hour arc changes colour at noon and midnight. I also added a slight irregular flicker in the center of the clock, generated from even-numbered milliseconds. | ||
+ | |||
+ | =Assignment 2= | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_01/applet A2_01] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_02/applet A2_02] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_03/applet A2_03] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_04/applet A2_04] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_05/applet A2_05] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_06/applet A2_06] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_07/applet A2_07] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_08/applet A2_08] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_09/applet A2_09] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_10/applet A2_10] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_11/applet A2_11] | ||
+ | *[http://www.sfu.ca/~mrosen/Assignment2/A2_12/applet A2_12] | ||
+ | |||
+ | *[http://www.sfu.ca/~mrosen/A2-14/applet/ A2_14] - Asteroids game modified to include colour change and sound effects for thrusters and missile fire. | ||
+ | |||
+ | =Project 2= | ||
+ | |||
+ | Part 1: Proposal | ||
+ | |||
+ | I would like to create an audio sample-playback interface based loosely on the design of the Akai MPC, which has been an essential tool in the production and performance of electronic music and hip-hop since the late 1980s. The basic structure of the machine is simple: a 4 x 4 grid of square pads which each triggers a different sound sample (traditionally drum sounds). To one side of the grid, a single slider and single rotary encoder are used for data entry and control of various parameters. | ||
+ | |||
+ | *[http://www.vintagesynth.com/akai/mpc2000xl.jpg Fig-1: MPC-2000XL] | ||
+ | |||
+ | A true MPC design would also include a number of data entry buttons, a keypad and some sort of visual display (usually a small LED screen). In this case, I will focus on the essential and iconic elements of the design: the pads and slider. | ||
+ | |||
+ | For the purposes of this assignment, I will make the square pads triggered by mouse-click, and assign just one click-and-drag parameter to the slider (most likely volume, in the interest of simplicity). Audio playback will be implemented using the Minim Library. | ||
+ | |||
+ | It is my hope to develop this concept further for my final Project, as well. | ||
+ | |||
+ | Part 2: | ||
+ | |||
+ | *[http://www.sfu.ca/~mrosen/Project2/applet/ playBack v0.1] | ||
+ | |||
+ | This interface is an ongoing work in progress. The concept will be developed further for IAT-800 Final Project | ||
+ | |||
+ | =Assignment 3= | ||
+ | |||
+ | *[http://www.sfu.ca/~mrosen/A3_01/applet/ A3_01] - Create a subclass of PImage that implements a mosaic( int blockSize ) method. | ||
+ | |||
+ | *[http://www.sfu.ca/~mrosen/A3_02/applet/ A3_02] - Write a small app that demonstrates kinetic text. | ||
+ | |||
+ | |||
+ | =Assignment 4 (Widgets)= | ||
+ | |||
+ | *[http://www.sfu.ca/~mrosen/A4/applet/ A4] - Use a "widget set" to add control to Project 2. | ||
+ | |||
+ | NOTE: | ||
+ | When launched in some web browsers, the app seems to not recognize the Pan and Gain slider input. However, all controls function normally when the app is launched from Processing. I am currently trouble-shooting this bug. | ||
+ | |||
+ | NOTE: | ||
+ | I have encountered some glitches in the right audio channel during playback, which sound as though they may be related to the audio buffer size. These glitches are occurring not only with this code, but also with other audio apps (using minim) which have previously functioned normally... This leads me to believe that it may be a bug within the minim library. | ||
+ | |||
+ | =Final Project - Part One (Proposal)= | ||
+ | |||
+ | As indicated in my earlier proposal for Project 2, I intend to expand upon the sample playback program which I have been designing in the style of an Akai MPC: | ||
+ | |||
+ | *[[http://www.vintagesynth.com/akai/mpc2000xl.jpg Fig-1 Akai MPC 2000-XL]] | ||
+ | *[[http://www.sfu.ca/~mrosen/A4/applet/ Preliminary Version 0.2]] | ||
+ | |||
+ | The final version will include a full 4x4 grid of sample pads, and multiple banks of audio samples, which will be selectable from a drop-down menu. I hope to implemement this using a series of arrays (one for each sample bank), which will be selectable using a ControlP5 Group. I will most likely include a wider range of sounds in each bank (pads, atmospheres, etc). This will allow the user to layer elements to create more interesting textures than the simple drum sounds included now. | ||
+ | |||
+ | At the moment, I have been experiencing some glitches in audio output when using the minim library. Should this persist, I may have to explore other audio libraries such as SoundCipher or Ess. | ||
+ | |||
+ | =Final Project - playBack (performance.drum.machine)= | ||
+ | |||
+ | NOTE: The web applet posted here features all functionality except for MIDI implementation. The browser version has also shown poor performance of the ControlP5 slider object. | ||
+ | |||
+ | *[[http://www.sfu.ca/~mrosen/_playBack/applet/ Web Applet (no MIDI)]] | ||
+ | |||
+ | Stand-alone version is available here, and is recommended for best performance. The full MIDI version is also available here, and should only be launched when a MIDI hardware device is connected. | ||
+ | |||
+ | *[[http://www.sfu.ca/~mrosen/_playBack_noMIDI/ Standalone (no MIDI)]] | ||
+ | *[[http://www.sfu.ca/~mrosen/_playBack_MIDI/ Standalone (with MIDI)]] |
Latest revision as of 13:43, 13 December 2009
Contents
Assignment 1
- A01_01
- A01_02
- A01_03
- A01_04
- A01_05
- A01_06
- A01_07
- A01_08
- A01_09
- A01_10
- A01_11
- A01_12
- A01_13
- A01_14
- A01_15
- A01_16
Project 1
A simple "digital/analog" clock using three coloured arcs and numerical time. The hour arc changes colour at noon and midnight. I also added a slight irregular flicker in the center of the clock, generated from even-numbered milliseconds.
Assignment 2
- A2_14 - Asteroids game modified to include colour change and sound effects for thrusters and missile fire.
Project 2
Part 1: Proposal
I would like to create an audio sample-playback interface based loosely on the design of the Akai MPC, which has been an essential tool in the production and performance of electronic music and hip-hop since the late 1980s. The basic structure of the machine is simple: a 4 x 4 grid of square pads which each triggers a different sound sample (traditionally drum sounds). To one side of the grid, a single slider and single rotary encoder are used for data entry and control of various parameters.
A true MPC design would also include a number of data entry buttons, a keypad and some sort of visual display (usually a small LED screen). In this case, I will focus on the essential and iconic elements of the design: the pads and slider.
For the purposes of this assignment, I will make the square pads triggered by mouse-click, and assign just one click-and-drag parameter to the slider (most likely volume, in the interest of simplicity). Audio playback will be implemented using the Minim Library.
It is my hope to develop this concept further for my final Project, as well.
Part 2:
This interface is an ongoing work in progress. The concept will be developed further for IAT-800 Final Project
Assignment 3
- A3_01 - Create a subclass of PImage that implements a mosaic( int blockSize ) method.
- A3_02 - Write a small app that demonstrates kinetic text.
Assignment 4 (Widgets)
- A4 - Use a "widget set" to add control to Project 2.
NOTE: When launched in some web browsers, the app seems to not recognize the Pan and Gain slider input. However, all controls function normally when the app is launched from Processing. I am currently trouble-shooting this bug.
NOTE: I have encountered some glitches in the right audio channel during playback, which sound as though they may be related to the audio buffer size. These glitches are occurring not only with this code, but also with other audio apps (using minim) which have previously functioned normally... This leads me to believe that it may be a bug within the minim library.
Final Project - Part One (Proposal)
As indicated in my earlier proposal for Project 2, I intend to expand upon the sample playback program which I have been designing in the style of an Akai MPC:
The final version will include a full 4x4 grid of sample pads, and multiple banks of audio samples, which will be selectable from a drop-down menu. I hope to implemement this using a series of arrays (one for each sample bank), which will be selectable using a ControlP5 Group. I will most likely include a wider range of sounds in each bank (pads, atmospheres, etc). This will allow the user to layer elements to create more interesting textures than the simple drum sounds included now.
At the moment, I have been experiencing some glitches in audio output when using the minim library. Should this persist, I may have to explore other audio libraries such as SoundCipher or Ess.
Final Project - playBack (performance.drum.machine)
NOTE: The web applet posted here features all functionality except for MIDI implementation. The browser version has also shown poor performance of the ControlP5 slider object.
Stand-alone version is available here, and is recommended for best performance. The full MIDI version is also available here, and should only be launched when a MIDI hardware device is connected.