Difference between revisions of "256a-fall-2024/hw2"

From CCRMA Wiki
Jump to: navigation, search
(Created page with "= Homework #2: Sound Peeking = === Due Dates === * HW2 milestone: '''due Wednesday (10/09, 11:59:59pm Canvas); HW2 webpage updated with milestone video + in-class critique''...")
 
(Final Deliverables (due: 10/21 Mon midnight))
 
(24 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 + in-class critique'''
+
* 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-class presentation'''
+
* 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 + Visualizing the Waveform, Spectrum, and Spectrum History ===
+
=== 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 this code, [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.
+
* 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 a basic visualization of time-domain waveform and magnitude spectrum.
+
* 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"!
+
* "make it read"!
  
=== Milestone Deliverables ===
+
* Helpful resources
* 1) HW2 project webpage (should be viewable at http://ccrma.stanford.edu/~YOURID/256a/hw2/). It should include:
+
**[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)===
 +
* 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 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.
*** we will take a look at this video together during our in-class critique milestone session (10/10 Thursday).
+
*** 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 (Compose a computer-mediated music. Narratives that only use minutes of SndBuf pre-existing music is not allowed).
+
* 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:
** polish not important!
 
 
** technical fanciness not important!
 
** technical fanciness not important!
 
** making the viewer/listener '''feel something''': important!!
 
** making the viewer/listener '''feel something''': important!!
  
=== Note ===
+
=== Final Deliverables (due: 10/21 Mon midnight)===  
* have fun with it!!!
+
* comment your code!
+
* you are welcome to work together, but you must do/turn in your own work.
+
 
+
=== Final Deliverables ===
+
 
* 1) 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 (2-3 minutes, with audio, screen capture or with camera) of both your visualizer in action AND your narrative.
+
** 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.
** the production build of your visualizer (please specify the platform e.g., MacOS, Windows, or Linux).
 
 
** 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

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
Waves-bw.jpg

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"!

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.
    • 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.