Difference between revisions of "256-fall-2008/hw3"
From CCRMA Wiki
m (→Note) |
|||
(5 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | + | = Homework #3: Sound Peeking = | |
+ | |||
+ | Due date: 2008.11.24 11:59:59pm (or thereabout), Monday. | ||
+ | |||
+ | * [[256-fall-2008/hw3/FAQ|(F)AQ]] | ||
+ | |||
+ | |||
+ | <div style="text-align: left;">[[Image:waves-bw.jpg]]</div> | ||
+ | |||
+ | In this assignment, you are to visualize sound in real-time, using OpenGL for the graphics programming. | ||
+ | |||
+ | |||
+ | === Specification (part 1 of 3): naming + compilation === | ||
+ | * choose a name for your program | ||
+ | * get a framework compiling on your system (keep in mind the final deliverable must be compilable/runnable on the CCRMA machines OR on OS X) | ||
+ | * might wish to start from the [http://ccrma.stanford.edu/courses/256-fall-2008/lectures/7a/VisualSine VisualSine] example from lecture (time domain waveform rendering) | ||
+ | * additional code from class available [http://ccrma.stanford.edu/courses/256-fall-2008/lectures/ here] | ||
+ | |||
+ | |||
+ | === Specification (part 2 of 3): Visualizing the spectrum === | ||
+ | * implement short time fourier transform, and visualize the spectrum over time | ||
+ | * considerations: | ||
+ | ** windowing (rectangular, hann, hamming) | ||
+ | ** window size | ||
+ | ** FFT size | ||
+ | ** hop size (for now, hop size can equal window size) | ||
+ | * implement either a waterfall plot (like sndpeek) or a real-time scrolling spectrogram | ||
+ | |||
+ | |||
+ | === Specification (part 3 of 3): Visualize something about the sound === | ||
+ | * implement and visualize your choice of one of the following: | ||
+ | ** vowel vs. consonant | ||
+ | ** pitch tracking | ||
+ | ** an audio feature | ||
+ | ** use the sound to control some type of animation | ||
+ | ** (or something of your choosing) | ||
+ | |||
+ | |||
+ | === Note === | ||
+ | * have fun with it!!! | ||
+ | * your code should compile and run on the CCRMA (or OSX) machines | ||
+ | * comment your code! | ||
+ | * choose your own coding conventions - but '''be consistent''' | ||
+ | * you are welcome to work together, but you must do/turn in your own work (you'll likely get more out of it this way) | ||
+ | |||
+ | === Deliverables === | ||
+ | |||
+ | '''turn in all files by putting them in your Library/Web/256/hw3/ directory, and concise online documentation + readme''' | ||
+ | |||
+ | * 1) source code to the project (*.h, *.cpp, *.c makefile, etc.) | ||
+ | * 2) online page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256/hw3/). It should include: | ||
+ | ** links to your files of various kinds | ||
+ | ** instructions on building the project (for example, anyone in the class should be able to download | ||
+ | ** a short README text section that: | ||
+ | *** conveys your ideas/comments in constructing each program | ||
+ | *** describes any difficulties you encountered in the process | ||
+ | *** lists any collaborators | ||
+ | * 3) '''email Ge''' with the link to your web page, as a confirmation that you are submitting the assignment |
Latest revision as of 21:17, 24 November 2008
Contents
Homework #3: Sound Peeking
Due date: 2008.11.24 11:59:59pm (or thereabout), Monday.
In this assignment, you are to visualize sound in real-time, using OpenGL for the graphics programming.
Specification (part 1 of 3): naming + compilation
- choose a name for your program
- get a framework compiling on your system (keep in mind the final deliverable must be compilable/runnable on the CCRMA machines OR on OS X)
- might wish to start from the VisualSine example from lecture (time domain waveform rendering)
- additional code from class available here
Specification (part 2 of 3): Visualizing the spectrum
- implement short time fourier transform, and visualize the spectrum over time
- considerations:
- windowing (rectangular, hann, hamming)
- window size
- FFT size
- hop size (for now, hop size can equal window size)
- implement either a waterfall plot (like sndpeek) or a real-time scrolling spectrogram
Specification (part 3 of 3): Visualize something about the sound
- implement and visualize your choice of one of the following:
- vowel vs. consonant
- pitch tracking
- an audio feature
- use the sound to control some type of animation
- (or something of your choosing)
Note
- have fun with it!!!
- your code should compile and run on the CCRMA (or OSX) machines
- comment your code!
- choose your own coding conventions - but be consistent
- you are welcome to work together, but you must do/turn in your own work (you'll likely get more out of it this way)
Deliverables
turn in all files by putting them in your Library/Web/256/hw3/ directory, and concise online documentation + readme
- 1) source code to the project (*.h, *.cpp, *.c makefile, etc.)
- 2) online page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256/hw3/). It should include:
- links to your files of various kinds
- instructions on building the project (for example, anyone in the class should be able to download
- a short README text section that:
- conveys your ideas/comments in constructing each program
- describes any difficulties you encountered in the process
- lists any collaborators
- 3) email Ge with the link to your web page, as a confirmation that you are submitting the assignment