Projects‎ > ‎

Dancing Note Composer, Version Alpha



CPE 471, Intro To Graphics

Dr. Zoe Wood, Spring 2009

Description:

Dancing Note Composer (DNC) is a program that allows the user to use their computer keyboard as a proxy to an on-screen piano keyboard, to compose  and play-back music.  As each note plays, it "dances" (which, as my roommate so kindly stated, looks like the notes are popping out of the screen to punch you in the face. ).

Goals:

  • Create hierarchical models for a bar of music, including the treble clef, and all composed notes
  • Create hierarchical models for whole, half, quarter, eighth, and sixteenth notes, including sharps.
  • Create an interactive hierarchical model of a single octave of a piano keyboard, complete with white and black keys
  • Allow a user to compose a piece using the virtual piano and input from the computer keyboard.
  • Allow a user to playback a composed piece, and make the keys press and the notes dance as you do so
  • Create different materials for different pitches, to differentiate them.

 

System Requirements: 

You must be running an Intel Mac (which will have the afplay command-line audio player)  (The program will work, but it won't play music if you don't have afplay)

You must create a folder with the path ~/Desktop/CPE471/Final_Project_Files/note_waves_short/ , and then fill that folder with the provided WAV files

 

Required Files:

 

The Xcode Project "Keyboard"  

To run the program, open this in XCode and press the "Build and go" button.

Source Files:

BASEPROG_Prefix.pch
generalFuncs.cpp
generalFuncs.h
lab9_5.cpp
lab9_5.h
mainKey.cpp
myLighting.cpp
myLighting.h
myTransforms.cpp
myTransforms.h
myVector3f.cpp
myVector3f.h
Note.cpp
Note.h
OneOctavePiano.cpp
OneOctavePiano.h
SingleKey.cpp
SingleKey.h
Staff.cpp
Staff.h
Textures.cpp
Textures.h

WAV files

A.wav
A#.wav
B.wav
B#.wav
C.wav
C#.wav
D.wav
D#.wav
E.wav
F.wav
F#.wav
G.wav
G#.wav

 

Controls:

Key Pressed
Effect while in Debug Mode
Effect while in Compose/Play Mode
1 or !
switches into compose mode
switches into debug mode
a or A
translate camera to left
push C piano key
w or W
translate camera forward
push C# piano key
s or S
translate camera backward
push D piano key
d or D
translate camera to right
push E piano key
u or U
translate camera up
push F# piano key
j or J
translate camera down
push G piano key
q or Q
quit
quit
' or "
moves light outward
n/a
; or ;
moves light inward
n/a
+ or =
moves light up
change pitch up
- or _
moves light down
change pitch down
} or ]
moves light right
lengthen duration of note
{ or  [
moves light left
shortens duration of note
v or V
toggle ortho/perspective
n/a
r or R
Reset debug stuff
n/a
e or E
n/a
push D# piano key
f or F
n/a
push F piano key
i or I
n/a
push G# piano key
k or K
n/a
push A piano key
o or O
n/a
push A# piano key
l or L
n/a
push B piano key
SPACE
n/a
plays entire composition


If you're interested in obtaining these files to try out the program, please email me at Jenee.Hughes AT gmail dot com

 

Comments