Schedule
Lessons⌗
Week 1 (8/22) - Introduction to coding and creativity⌗
Tuesday⌗
- Review syllabus and expectations in class. Please note: that this syllabus is subject to change.
- Web Audio Examples
Thursday⌗
- Why Interaction? - Why code, interact, why use the web?
- Interaction examples of interactions with music in space and on the web.
- Assignment 1: Manifesto Project
Week 2 (8/29) - Score as code, code as score⌗
Tuesday⌗
- Intro to JavaScript - Numbers, Strings, Arrays, Objects, Functions, and Variables, scope
- Free Code Camp basic javascript
- Show the console.
Thursday⌗
- Web audio basics and sound file players - slides
Week 3 (9/5) - Interfaces⌗
Tuesday⌗
- Manifestos are graded - lots of inspiring ideas in there
- Audio Effects
Project 1: Sampler - Due 9/13 - build a sampler and perform your score, reference back to your manifesto for inspiration
Thursday⌗
Interfaces and scores
- Musical Interfaces
- HackPact
- Audio Plugin Interface analysis - let’s pick a few plugins and discuss how they meet the standards we just mentioned
- Extra interface options in p5.js - DOM
Week 4 (9/12)⌗
Tuesday⌗
- First project debugging
Thursday⌗
- 30 Minutes of project debugging and finishing
- at 1:30 turn in your project and we’ll spend the rest of class playing each others instruments
- Project list
Week 5 (9/19)⌗
Tuesday⌗
Thursday⌗
- Class Canceled - DSU Days of Service
Week 6 (9/26) - more synthesis⌗
Tuesday⌗
- Keep working on synth user interface assignment from last week
- show dealing with the DOM more effectively in p5.js
- Turn in work at the end of class.
Thursday⌗
- Finish the interface
Week 7 (10/3)⌗
Tuesday⌗
- Making synthesizers from scratch - slides
Project 2 - Creating a synthesizer from scratch - DUE October 13 Use Guitar Land for inspo.
Thursday - adding to the synth⌗
- Look at the MonoSynth in more detail
- work on project in class
Week 8 (10/10)⌗
Tuesday⌗
- Work more on MonoSynth project in class
Thursday⌗
- Work more on MonoSynth project in class
Project 2: MonoSynth remake Due
Week 9 (10/17)⌗
Tuesday⌗
- You should have your MonoSynth remake turned in
- Scheduling signals and LFOs - slides
- In class - add an LFO module to your MonoSynth project
Thursday⌗
- Implement a step sequencer on your synth project using setValueAtTime to change the frequency of each step as you hold down the key. Create sliders that allow the user to modify the notes each step plays. Also, allow the user to pick the step count and step speed.
- Things to know: for loops (and nested for loops), arrays, frequency to MIDI conversion
Week 10 (10/24)⌗
Tuesday⌗
- continue building the arp
- turn in what you have by tonight at midnight
Thursday⌗
- Build a step sequencer with Tone.Loop
Week 11 (10/31)⌗
Tuesday⌗
Thursday⌗
Week 12 (11/7)⌗
Tuesday⌗
Final project proposal - Due Monday
Thursday⌗
- Generative music -
Week 13 - Final project start⌗
Tuesday⌗
- start working on individual projects, i’ll bring in examples based on what each person wants to do
- Creating a Read ME for the
- this will include a link to the project and your written reflection
- Deploying your project to GitHub.
- Layouts - relative layout, css grid
Thursday⌗
- In class work on final project - everyone is still required to attend
- Using UserMedia for live audio
- Control - Tweakpane - if you want to be able to hide controls
- LocalStorage - storing data for users locally - example
- More UI elements - NexusUI - Envelope Example
- Webmidi.js - example - requires chrome
Week 14, 15⌗
- More in class work on final
- Should have something built by now and start testing it and making it better.
Week 16⌗
- Final: Thursday, December 8th, 1 pm - 3 pm