-
Notifications
You must be signed in to change notification settings - Fork 1
Homework Dave 02
ICM Media Syllabus Overview
The following is an overview of how we will be spending class time over the next 7 weeks. The specifics of what you cover will be determined week to week by your instructor. The material you are responsible for will be detailed on the Homework page (see links below.) for each section.
- 1 -- Pixels
- 2 -- Pixels and Machine Learning
- 3 -- Sound and Sound 2
- 4 -- P5 Play - Creating Games and Interactivity with P5
- 5 -- Text
- 6 -- Data
- 7 -- Final Project Presentations
ICM Code 2024 Homework and Class Review - David Stein
-
RESOURCES FROM CLASS:
-
READ AND WATCH:
-
Before you read: Spend some time looking at the Random Word Scramble](https://editor.p5js.org/icm4.0/sketches/cgHx2OeKd) and try and formulate your own theory about how to improve the algorithm to be better at generating "sensical" sequences of words.
-
Read Machines Beat Humans on a Reading Test. But Do They Understand?
- What does it mean to understand something?
- Highlight 1 thing you understand.
- And 1 thing you don't understand.
- Don't repeat what others have highlighted.
- What does it mean to understand something?
-
Extra: Next Gen ml5 Examples | Documentation
-
-
ADDITIONAL RESOURCES
-
DO:
- Complete this Worksheet
- Start gathering questions, code samples and source material (images, sounds, colors, text) for your final project.
-
FINAL PROJECT:
- You will have two weeks to work on it. The first week I will expect you to hand in a description of what you are going to do and some code that demonstrates some progress on the project. It is OK if you work with a partner, but I want you to document what you personally specifically worked on. It is also OK if you pair it with your PCom project.
- I will be expecting that the project demonstrates your knowledge of all of the basic topics that we covered in the first 7 weeks. p5 functionality, variables, conditional statements, loops, functions, objects & classes and arrays. I really don't want people to use ChatGPT or AI code generation. The code should come from you and you should understand everything. If you use techniques that go beyond what I specifically taught, you should describe the techniques in your documentation and discuss how you learned about the techniques.
- Projects can be anything. They can be a game, artwork, data visualization, sound sketch, installation, etc. It should make up a combination of a couple of topics that we learn in the final 7 weeks of ICM.... i.e. Pixels, Sound, Body Capture, Games, etc. Would be great if whatever you create you enter into the Winter Show!!!
-
RESOURCES FROM CLASS:
-
OPTIONAL ALTERNATIVES ON SOUND:
- Sound Part 2
- Code Examples:
- Listening Examples
-
DO:
-
Work in pairs. Due next week.
-
Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
-
If you use noise() or random(), use noiseSeed(0) and randomSeed(0) so you generate the same series of numbers each time you run the sketch.
-
If the change happens through user interaction, plan out the interaction ahead of time so the change is both intentional and repeatable. We will experience each project 2x.
-
OPTION 1: Build a web-based musical instrument in P5
- Choose several samples that will make up the sounds from the instrument. See Dave's Class Notes for sound resources.
- Optionally include the P5 Sound Synthesizer functionality within your instrument to create your own sounds.
- Consider how the user will interact with the instrument and the visual feedback they will receive when triggering sounds.
- Prepare 1-3 words to describe the piece. Listen to what you've made. Adjust your words.
- Ideas for what you could do:
- Take a look at some of the following examples for inspiration: Groove Pizza Blob Opera Incredibox Plink Tones
- In addition to playing different samples, try implementing notes in a scale by changing the playback rate of your sample using pitch ratios: More about scales.
-
OPTION 2: Build a 60s algorithmic sound composition.
- You can use samples, looping and interaction, but be sure to incorporate an algorithmic component to your composition.
- Visuals are OK, but if a significant part of your assignment is visuals, you should have scheduled changes occur throughout the piece that correspond to the sounds that we hear.
- Prepare 1-3 words to describe the piece. Listen to what you've made. Adjust your words.
- Ideas for what you could do:
- Design a melody using this process and figure out an algorithmic way to generate it.
- Record bits of spoken word and loop them to create music. See SoundRecorder() Looper
- Use sound samples and manipulate their playback rate() to control pitch instead of the oscillator.
- Try implementing a different scale with different pitch ratios: More about scales.
- Play with Timbre and make use of p5 Sound's post-processing features: Delay, Filter, Reverb, Convolver etc.
- DO NOT simply mix existing sound files together. Discover something that you can't do using audio software by designing your own algorithm.
-
-
READ AND WATCH:
- Your Name -- [Title of Blog Post](Link to Blog Post), [Title of Sketch](Link to Code)
- Junqi Zhang -- Blog, Knot String Palette
- tina yu -- blog, code
- Sky & Jenn -- blog,Rain Drop
- Siming Lu -- Sound-blog, Sound
- Han & Rajeshwari -- Blog, Melody
- Keyi -- Instrument, Blog
- Olivia & Michael -- RUdaft?, week11
- Yao & Laurel ---Code, Blog
- Vivian(Out of town for family business) -- [ttap_draft] (https://editor.p5js.org/Ayanoriri/sketches/PoQ9Y95m8), ttap_musicvisual
- Luna Chen - Sound test animation
-
ADDITIONAL RESOURCES FROM CLASS:
-
DO:
- Follow the directions at the top of the sketch. Save an image of your best attempt and upload it here.
-
ASSIGNMENT:
-
Work in pairs. Due next week.
-
Create a blog post documenting your work. Also include links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
-
If you use noise() or random(), use noiseSeed(0) and randomSeed(0) so you generate the same series of numbers each time you run the sketch.
-
If the change happens through user interaction, plan out the interaction ahead of time so the change is both intentional and repeatable. We will experience each project 2x.
-
OPTION 1: Build a web-based musical instrument in P5
- Choose several samples that will make up the sounds from the instrument. See Dave's Class Notes for sound resources.
- Optionally include the P5 Sound Synthesizer functionality within your instrument to create your own sounds.
- Consider how the user will interact with the instrument and the visual feedback they will receive when triggering sounds.
- Prepare 1-3 words to describe the piece. Listen to what you've made. Adjust your words.
- Ideas for what you could do:
- Take a look at some of the following examples for inspiration: Groove Pizza Blob Opera Incredibox Plink Tones
- In addition to playing different samples, try implementing notes in a scale by changing the playback rate of your sample using pitch ratios: More about scales.
-
OPTION 2: Build a 60s algorithmic sound composition.
- You can use samples, looping and interaction, but be sure to incorporate an algorithmic component to your composition.
- Visuals are OK, but if a significant part of your assignment is visuals, you should have scheduled changes occur throughout the piece that correspond to the sounds that we hear.
- Prepare 1-3 words to describe the piece. Listen to what you've made. Adjust your words.
- Ideas for what you could do:
- Design a melody using this process and figure out an algorithmic way to generate it.
- Record bits of spoken word and loop them to create music. See SoundRecorder() Looper
- Use sound samples and manipulate their playback rate() to control pitch instead of the oscillator.
- Try implementing a different scale with different pitch ratios: More about scales.
- Play with Timbre and make use of p5 Sound's post-processing features: Delay, Filter, Reverb, Convolver etc.
- DO NOT simply mix existing sound files together. Discover something that you can't do using audio software by designing your own algorithm.
-
-
READ AND WATCH:
- Watch: Notes and Neurons: In Search of the Common Chorus
- Reflection: Come to class prepared to talk about: What are the parameters of music discussed in the Notes and Neurons panel?
- Short videos and articles:
- Why repeating words sound like music to your brain - Focus on the last example: "But they sometimes behave so strangely."
- Solfege Tutorial | Video
- Introduction to the noise() function: Tutorial | Reference
-
NOTES FROM CLASS Class Notes
-
ADDITIONAL RESOURCES FOR POSENET
-
ADDITIONAL RESOURCES FOR PIXELS:
-
DO:
- Work in pairs. Due next week. Manipulate an image or video at the pixel level*. No sound. The image should change over the course of the minute. What is revealed? What is lost? Use the properties of color to focus our attention.
- Demo your experience in class:
- If the change happens through user interaction, plan out the interaction ahead of time so the change is both intentional and repeatable. We will experience each project 2x.
- Use the p5 editor's fullscreen link to show your project fullscreen. You can access it through the File >> Share menu.
- Use
createCanvas(windowWidth, windowHeight);
- Position and size screen elements in relation to the canvas width and height.
- If your image is not big enough to fill the entire screen, be mindful about the color you select for the canvas.
- Look at Rothko's Cat for sample code.
- Create a blog post documenting your work. Address / include the following:
- Choose 2-5 words to describe how the image changes over time. Think about how the words answer the questions: What is is revealed, what is lost?
- Links to other projects that serve as references, inspiration, or deal with similar ideas as your piece.
- Consult resources from syllabus for inspiration. Pixels Week 1 | Pixels Week 2
-
READ AND WATCH:
- Sound Videos Focus on: Loading + Playing, Timing, Jumps + Cues, Amplitude Analysis, Mic Input, Sound Viz | Code
- Chapter 13 through Ex. 13.3 of Getting Started with p5.js book - Ebook (free with NYU Library login)
- More sound stuff
- Olivia Lee (& MC) -- week9, PIXELSproject 2.0
- tina yu, pixel project blog,pixel project code
- Keyi Ding, pixel project blog, pixel full screen, pixel sketch
- Siming Lu, PixelSketch-fullscreen,PixelSketch-edit,Pixel Blog
- Han Bao, Week9 blog, Week9 pixel
- Luna Chen -- week9 version 1,week9 version 2,week9 version3,documentation
- Junqi Zhang & Vivian Jia, Week9 blog, Week9 pixel
- Sky & Jenn , Week9 pixel
- Rajeshwari - Week 9 ASSIGNMENT
- Yao Zhang & Laurel Fang - Process Code
Week 8 - Oct 24
-
RESOURCES FROM CLASS:
-
Additional Resources:
-
DO:
- Complete this worksheet.
- Work in pairs. Due in 2 weeks. Create and/or manipulate an image or video at the pixel level to create an alternative of the reality depicted in the source image. Describe in 1-3 keywords how your image feels different from the source image. Create a blog post documenting your work.
- Consult resources from syllabus for inspiration. Pixels Week 1 | Pixels Week 2
-
READ AND WATCH:
-
Why isn't the sky blue? and other questions about how we see(?) or construct color.
- Start at 48:00 for "Why isn't the sky blue?" However the entire show is pretty interesting.
- Computational Color (Don't worry about Rune.js example code.) | Accompanying code examples written in p5.js
- Introduction to Neural Networks and Pixel Analysis (20 minutes, but be prepared to spend an hour. Don't try to watch on 2x speed.)
-
Why isn't the sky blue? and other questions about how we see(?) or construct color.
- Videos: Images/Video 11.1-11.8 - Focus on videos 11.1 and 11.3 (~25 minutes)
- Chapter 7 in Getting Started with P5.js through Ex 7-9 | Code
- p5VideoKit for Video Mixing Effects
- Full Resources