Difference between revisions of "256a-fall-2024/hw2"
From CCRMA Wiki
(→Homework #2: Sound Peeking) |
(→Final Deliverables (due: 10/21 Mon midnight)) |
||
(21 intermediate revisions by the same user not shown) | |||
Line 2: | Line 2: | ||
=== Due Dates === | === Due Dates === | ||
− | * HW2 milestone: '''due Wednesday (10/09, 11:59:59pm Canvas); HW2 webpage updated with milestone video | + | * 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 | + | * HW2 final deliverable: '''due Monday (10/21, 11:59:59pm Canvas); HW2 final webpage/video''' |
<div style="text-align: left;">[[Image:waves-bw.jpg]]</div> | <div style="text-align: left;">[[Image:waves-bw.jpg]]</div> | ||
Line 9: | Line 9: | ||
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'''. | 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 + | + | === Specification (milestone): Design + Visualize the Waveform, Spectrum, and Spectrum History === |
* go over [https://chuck.stanford.edu/chugl/examples/deep/ sndpeek-minimal.ck], and use [https://ccrma.stanford.edu/courses/256a/docs/sndpeek-minimal-guide.pdf sndpeek-minimal-guide.pdf] as a guide resource. | * go over [https://chuck.stanford.edu/chugl/examples/deep/ sndpeek-minimal.ck], and use [https://ccrma.stanford.edu/courses/256a/docs/sndpeek-minimal-guide.pdf sndpeek-minimal-guide.pdf] as a guide resource. | ||
− | * explore | + | * explore [https://chuck.stanford.edu/chugl/examples/deep/ 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 | + | * 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. | * 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. | * 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. | ** feel free to experiment on how to represent the spectrum history visually. | ||
− | + | * "make it read"! | |
+ | |||
+ | * Helpful resources | ||
+ | **[https://chuck.stanford.edu/doc/reference/ ChucK API Reference] | ||
+ | **[https://chuck.stanford.edu/chugl/api/ ChuGL API Reference] | ||
+ | **[https://chuck.stanford.edu/chugl/doc/walkthru.html ChuGL walkthrough (The in-class tutorial guide)] | ||
+ | **[https://chuck.stanford.edu/chugl/doc/cheatsheet.html ChuGL cheatsheet (How do I do X?)] | ||
+ | **[https://chuck.stanford.edu/chugl/examples/ ChuGL examples] | ||
=== Milestone Deliverables (due: 10/09 Wed midnight)=== | === Milestone Deliverables (due: 10/09 Wed midnight)=== | ||
Line 24: | Line 31: | ||
** a short reflection on creating this milestone. (How did you feel as a designer?) | ** 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. | ** 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 (<code>GG.fullscreen();</code> will fullscreen ChuGL program) | + | *** hint: capture your video in full-screen (<code>GG.fullscreen();</code> will fullscreen ChuGL program) |
− | *** upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage | + | *** 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. | |
+ | ** 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 === | === Specification (final deliverables): An Audio-Visual Narrative === | ||
− | * create a sonic/musical narrative in ChucK to run inside your visualizer ( | + | * create a sonic/musical narrative in ChucK to run inside your visualizer (The narrative should justify the medium of computer music. Simple playback of pre-recorded music not allowed). |
** can use a combination of microphone ('''adc''' in ChucK) and sound synthesis. | ** can use a combination of microphone ('''adc''' in ChucK) and sound synthesis. | ||
** think about different "sections" or "movements", and how to transition between them. | ** think about different "sections" or "movements", and how to transition between them. | ||
Line 35: | Line 44: | ||
** (optional): can use keyboard input to have "modes". | ** (optional): can use keyboard input to have "modes". | ||
* aesthetic goal: | * aesthetic goal: | ||
− | |||
** technical fanciness not important! | ** technical fanciness not important! | ||
** making the viewer/listener '''feel something''': important!! | ** making the viewer/listener '''feel something''': important!! | ||
− | |||
− | |||
− | |||
− | |||
− | |||
=== Final Deliverables (due: 10/21 Mon midnight)=== | === Final Deliverables (due: 10/21 Mon midnight)=== | ||
− | * HW2 project webpage (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include: | + | * 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 name and description of your audio visualizer. | ||
** a few screenshots that capture various parts of your visualizer in action. | ** a few screenshots that capture various parts of your visualizer in action. | ||
− | ** a polished high-resolution video ( | + | ** a polished high-resolution video (1.5-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 (<code>GG.fullscreen();</code> will fullscreen ChuGL program). | + | *** Please don't include ChuGL development UIs in your final video. They are for development purpose only. |
+ | *** hint: capture your video in full-screen (<code>GG.fullscreen();</code> will fullscreen ChuGL program). | ||
*** upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage. | *** upload to YouTube or Vimeo (or CCRMA) and embed the video from your webpage. | ||
+ | *** Show, don't tell. | ||
** instructions for using your visualizers, including any keyboard/mouse control. | ** instructions for using your visualizers, including any keyboard/mouse control. | ||
− | |||
** all your ChucK code. | ** all your ChucK code. | ||
** a final short text section that: | ** a final short text section that: | ||
*** conveys your ideas/comments in constructing each program. | *** conveys your ideas/comments in constructing each program. | ||
− | *** writes a short reflection on creating this visualizer (How did you feel as a designer?) | + | *** writes a short reflection on creating this visualizer (How did you feel as a designer creating your visualizer?) |
*** describes any difficulties you encountered in the process. | *** describes any difficulties you encountered in the process. | ||
*** acknowledges help you received for this project. | *** 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. | ** 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. | * 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. |
Latest revision as of 20:49, 16 October 2024
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 (The narrative should justify the medium of computer music. Simple playback of pre-recorded music 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 (1.5-3 minutes, with audio, screen capture or with camera) of both your visualizer in action AND your narrative.
- Please don't include ChuGL development UIs in your final video. They are for development purpose only.
- 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.
- Show, don't tell.
- instructions for using your visualizers, including any keyboard/mouse control.
- 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 creating your visualizer?)
- 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.