256a-fall-2020/hw2
From CCRMA Wiki
Revision as of 13:38, 19 September 2020 by Ge (Talk | contribs) (Created page with "= Homework #2: Sound Peeking = === Due Dates === * ''Artful Design'' chapter 2 reading response: '''due Sunday (9/27) 11:59pm''' * design milestone: '''due Monday (9/28) 4pm...")
Contents
Homework #2: Sound Peeking
Due Dates
- Artful Design chapter 2 reading response: due Sunday (9/27) 11:59pm
- design milestone: due Monday (9/28) 4pm: in-class critique
- Artful Design chapter 3 reading response: due Sunday (10/4) 11:59pm
- design "done!": due Monday (10/5) 4pm: final webpage/video + in-class presentation
In this assignment, you are to visualize sound in real-time, using Unity for the graphics programming, and ChucK (via Chunity) as a sound source. Your program will visualize: 1) live microphone input and 2) a designed sound narrative written in ChucK!
Specification (part 1 of 4): Reading
- Artful Design chapter 2 reading response: due Sunday (9/27) 11:59pm
- Artful Design chapter 3 reading response: due Sunday (10/4) 11:59pm
- follow and do the Unity [Roll-a-Ball tutorial https://learn.unity.com/project/roll-a-ball]
- next, follow and do the [Chunity tutorials http://chuck.stanford.edu/chunity/tutorials/]
- download and play with sndpeek for ideas
Specification (part 2 of 4): Real-time Sound Input in Unity
- follow and do Ge and Kunwoo Artful Design TV tutorial on Visual Sound in Unity
- end up with a usable Unity project as a starting point for your project
- basic visualization of time-domain waveform and magnitude spectrum
- test using the microphone input!
Specification (part 3 of 4): Visualizing the Spectrum History
- implement either a waterfall plot (like sndpeek) or a real-time scrolling spectrogram or another way to show spectrums over time
- use a simple chuck program that hooks up the microphone to the output so you can test your chuck setup as well as your visualizer.
- (hint: in chuck, the input / microphone is adc)
Specification (part 4 of 4): An Audio-Visual Narrative
- create a ChucK program 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!!!
- PRINT OUT USAGE/KEYS TO CONTROLLING YOUR VISUALIZATION ON THE CONSOLE EVERY TIME YOUR VISUALIZER STARTS! (see sndpeek)
- 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
Deliverables
turn in all files through Canvas, with concise online documentation + readme
- 0) reading responses, to Chapters 2 and 3 (send URLs to Ge/Kunwoo; upload URL to Canvas), as per usual
- 1) webpage page for your project (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw1/). It should include:
- a name and description of your visualizer design
- a high-resolution (screen capture or with camera) video of your visualizer in action & narrative
- (please upload to YouTube or Vimeo and embed the video from your webpage)
- a few screenshots that capture great parts of your visualizer in action
- links to your files of various kinds
- a 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
- send URL to Ge and Kunwoo
- 2) also submit to Canvas: source code to the project (please clean up project to remove unnecessary files + test before submitting)
- 3) also submit to Canvas: a high-resolution (screen capture or with camera) video of your visualizer / audio-visual narrative
- 4) also submit to Canvas: screenshots of your visualizer!
- 5) also submit to Canvas: URL to webpage
- 6) an additional README.txt file containing information on your Operating System and any instructions for running the project