256a-fall-2023/hw2
From CCRMA Wiki
Contents
Homework #2: Sound Peeking
Due Dates
- HW2 milestone 1: due Wednesday (10/11, in-class): HW2 webpage with progress report on learning/playing with ChuGL + three brainstorm ideas
- HW2 milestone 2: due Wednesday (10/18, 1pm Canvas; 3:30pm in-class): HW2 webpage updated with milestone video + in-class critique
- HW2 final deliverable: due Monday (10/23, 1pm Canvas; 3:30pm in-class) HW2 final webpage/video + in-class presentation
reminder: please also organize your weekly reading responses online at http://ccrma.stanford.edu/~YOURID/256a/rrXXX/) -- replace XXX with the number of of the reading response.
In this assignment, you are to visualize sound in real-time, using ChuGL for the graphics programming, real-time audio, and as a programmable sound source. Your program will visualize: 1) live microphone input and 2) a designed sound narrative written in ChucK and visualized in your visualizer. This is a fun project but there are many moving parts; start early.
Specification (milestone 1): Brainstorming + playing with ChuGL + reeading
- play with ChuGL; make something fun and useless!
- check out all the resource on the ChuGL webpage, including sndpeek.ck
- download and play with sndpeek for ideas
- related Artful Design chapter 3 reading response: due Sunday (10/15) 11:59pm
Specification (milestone 2): Design + Visualizing the Spectrum History
- using our starter code, design and prototype a basic visualization of time-domain waveform and magnitude spectrum
- test using the microphone input
- design and implement a waterfall plot (like sndpeek), a real-time scrolling spectrogram, or another way to display spectrums over time
- feel free to experiment on how to represent the spectrum history visually
- "make it read"!
Specification (final deliverables): An Audio-Visual Narrative
- create a sonic/musical narrative to run inside your visualizer
- can use a combination of microphone (adc in ChucK) and sound synthesis
- think about different "sections" or "movements", and how to transition between them
- try to align the aesthetic of your visualizer and your ChucK program (give it personality)
- (optional): can use keyboard input
- aesthetic goal:
- polish not important!
- technical fanciness not important!
- making the viewer/listener feel something: important!!
Note
- have fun with it!!!
- comment your code!
- you are welcome to work together, but you must do/turn in your own work
Final Deliverables
- 0) reading responses (upload URL to Canvas, as per usual)
- 1) HW2 project webpage (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include:
- a name and description of your audio visualizer
- a few screenshots that capture various parts of your visualizer in action
- a polished high-resolution video (2-3 minutes, with audio, screen capture or with camera) of both your visualizer in action AND your narrative
- hint: capture your video in full-screen (
GG.fullscreen();
will fullscreen ChuGL program)- upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage
- instructions for using your visualizers, including any keyboard/mouse control
- the production build of your visualizer (please specify the platform e.g., MacOS, Windows, or Linux)
- all your ChucK code
- a final short text section that:
- conveys your ideas/comments in constructing each program
- describes any difficulties you encountered in the process
- acknowledges help you received for this project
- feel free to include (or not include) your previous HW2 milestones. If you do, these previous milestones should appear AT THE BOTTOM of your HW2 webpage.
- 2) submit to Canvas: URL to webpage and your Chunity code.