256a-fall-2024/hw2
From CCRMA Wiki
Contents
Homework #2: Sound Peeking
Due Dates
- HW2 milestone: due Wednesday (10/09, 11:59:59pm Canvas); HW2 webpage updated with milestone video
- HW2 final deliverable: due Monday (10/21, 11:59:59pm Canvas); HW2 final webpage/video
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): Design + Visualize the Waveform, Spectrum, and Spectrum History
- go over sndpeek-minimal.ck, and use sndpeek-minimal-guide.pdf as a guide resource.
- explore sndpeek.ck, and its waterfall plot implementation (spectrum history). Ask questions on discord if anything needs to be clarified.
- using our starter code (sndpeek.ck), design and prototype your own basic visualization of time-domain waveform and magnitude spectrum.
- test using the microphone input.
- design and implement a waterfall plot (like sndpeek.ck), 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"!
- Helpful resources
Milestone Deliverables (due: 10/09 Wed midnight)
- 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 short reflection on creating this milestone. (How did you feel as a designer?)
- a video (0.5 - 2 minutes, with audio, screen capture or with camera) of your visualizer in action.
- hint: capture your video in full-screen (
GG.fullscreen();
will fullscreen ChuGL program) - Let your design speak itself ("Show, don't tell"). Don't include explanatory narrations or texts.
- Use ChuGL UIs for development only. It should not be part of the design itself or the video.
- hint: capture your video in full-screen (
- upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage.
- we will take a look at this video together during our in-class critique milestone session (10/10 Thursday).
Specification (final deliverables): An Audio-Visual Narrative
- create a sonic/musical narrative in ChucK to run inside your visualizer (Compose a computer-mediated music. Narratives that only use minutes of SndBuf pre-existing music is not allowed).
- 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 to have "modes".
- aesthetic goal:
- technical fanciness not important!
- making the viewer/listener feel something: important!!
Final Deliverables (due: 10/21 Mon midnight)
- 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.
- writes a short reflection on creating this visualizer (How did you feel as a designer?)
- 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 ChucK code.
Note
- have fun with it!!!
- comment your code!
- you are welcome to work together, but you must do/turn in your own work.