Throughout the semester you should take advantage of the instructor's office hours, the teaching assistant's office hours, and the Digital Culture tutoring service for any issues you have related to course material and/or software use and installation.
Office hours with Seth and Yanjun are by appointment. Use links and email addresses at the right to let us know you want to come to office hours.
Seth Thorn: seth [dot] thorn [at] asu [dot] edu
Th 10:30 AM - 11:30 AM, by appointment
DC Tutor signup form: https://forms.gle/zns2v2ycLorwL7797
Review syllabus and course requirements
Tinkering with computational media
Use Arduino IDE to upload code to the Circuit Playground Express
Max Objects: [bang] [counter] [number] [select] [key] [metro] [toggle]
Follow these instructions to upload the AME 112 code to your Circuit Playground. You only have to do this once.
Recording bell sounds at Cosanti, the gallery and studio of Italian-American architect Paolo Soleri. These recordings are contained in the folder "cosanti_bells" and will be used for this week's homework assignment.
Go over Homework #2, "Buffer_and_Play" and "Digital_Wind_Chime" patches from Week 3.
Computing Concepts
Modularity
Algorithms and Time
MIDI, Bits and Bytes
HSV Color Model
Max Objects
[gate] [send] [receive] [midiin] [pack] [itable] [p] [preset] lists
Binary numbers - we'll discuss these in class this week.
Accelerometers: Motion
Normalization
Motion Mapping
Operations on signals: *~
New Objects: [bucket], [clip], [loadbang], [unpack], [nodes], [speedlim], [meter~], [send~], [live.gain~]
Free sound packs from Adobe you can download: http://offers.adobe.com/en/na/audition/offers/audition_dlc.html
Look at all available features of the Circuit Playground
Review midterm prompt / optional group formation (max: 2)
Learn about Simon and come up with a list of smaller functions that we can string together to build this game. (Group work in class to build basic functions).
How many of you are familiar with the game "Simon"? This week we're going to think about how we can use Max MSP and the Circuit Playground to create our own version of it. This may involve some more complex coding, but what I really want you to learn is a simple idea: how to divide bigger programming problems into smaller ones.
Simon on the Circuit Playground
Classic Brio Board Game with embedded Circuit Playground
Halloween:
Scary door knock sensor
Reactive Jack-o-lantern Light
Responsive Media / Music
"Breakbeat Playground" drum machine
Music Visualizers
"Party Hardy" party detector
Calming night lights
Smart Home Devices
"Home Circuitity" device protector
Acceleration / Deceleration indicator
Noise complaint machine
Pet rabbit escape detector
Games / Arcade Games
Ring Toss
Stack 'Em
Bop it!
Playground Pet
Juggle Game
Whack-a-mole
"Keep it level"
Star Wars Light Saber
Flight Simulator
Wearables
AdafruitWatch
Balance detector
Automatically turning off previously-illuminated Neopixel using [bucket]
Programming Live input drum machine sequencer using [counter], [select], [gate], [int]
Using capacitive touch sensors
Programming approach to games: start with basic mechanics of your game first. Deal with Circuit Playground input/output later
Programming Stack 'em
Audio over threshold for period of time
Time interval between button presses; double clicks; both buttons simultaneously
Presets: saving light patterns with [preset]; sequencing light patterns for animation
Audio analysis for music visualizers
Keeping a tally or count using [incdec]
Whack-a-mole; [incdec]
Patches built in class in order of presentation.
Introduction to Jitter, a suite of objects included with Max MSP for video and image processing
Objects: [jit.matrix], [jit.pwindow], [jit.window], [jit.noise], [jit.cellblock], [jit.unpack], [jit.pack], [jit.brcosa], [jit.rota], [jit.op], [jit.scalebias], [jit.movie], [jit.slide], [jit.xfade], [qmetro]
[jit.op] with one matrix
Message variables. Example: (brightness $1)
Pixel Math
RGB Color Model; 8-bit Color
Using [/] and [%] for two-dimensional, sequential grid filling
Something you can do with the Jitter objects you learn in Week 9. See patch "5_Jitter_setCell.maxpat"
Live Video Input
[jit.op] using two matrices as input; masking
Math behind Crossfading / Mixing
Matrix statistics using [jit.3m]
Frame Differencing
Motion-activated Generative Video
Motion-activated Live Video Masking
Objects: [jit.grab], [jit.rgb2luma], [jit.scissors], [jit.glue], [jit.lumakey], [jit.3m]
Additional [jit.op} operators: +, avg, absdiff
Introduction to digital audio and related terms (ADC, DSP, DAC...)
Bit depth and sampling rate
Logical and mathematical operations on audio signals
Amplitude, frequency, and filtering
Analysis of audio signals / spectral analysis
New Objects: [scope~] [number~], [*~], [dspstate~], [degrade~], [>~], [clip~], [peakamp~], [snapshot~], [spectroscope~], [noise~], [cross~], [gate~], [zerox~], [selector~], [fzero~] [ftom], [umenu].
Review and final project help.
Demonstration of "0_Media_System_with_Granular_Synthesis" patch. Movement improvisation by Halley Willcox. Also demonstrates projection mapping (a technique we haven't learned - take more AME classes!)