Examples for Programming Digital Media class at Louisiana State University, Spring 2020
- email: [email protected]
- Office hours: 1pm to 3pm Monday on zoom
- Zoom
- We will be using zoom to meet during our normal class time
- Please email to schedule a personal meeting if you need it
- Ask for help on the Discord
- you can post a question about anything related to the class and one of your classmate or I will answer it.
- Starter template
- 2-9-21 - Web audio basics and sound file players - slides, textbook
- 2-11-21 - Adding effects and intro to synthesis - slides, textbook
- 2-23-21 - Making synthesizers from scratch - slides
- 2-26-21 - Scheduling signals and LFOs - slides
- 3-2-21 - Instruments and Sequencers - slides, textbook
- 3-4-20 - Sound Effects and Sequencers - slides
- 3-9-19 - Rhythm / Scales / Tuning / Distributed smartphone music - slides
Video tutorials and notes
- Digital out - notes
- Blink - blink an LED [video, code, circuit diagram]
- Morse code introduction - how to do the morse code assignment. [video]
- Analog Out (Pulse Width Modulation) - notes
- Analog Input
- Potentiometer - control the rate of blinking of the LED [video, code]
- Note: the intro to this was cut off but the circuit that is already there is from the blink tutorial. The thing i'm holding is a potentiometer that allows analog input between 0v and 5v.
- Photoresistor - control circuit with light [video, code]
- Note: I was referring to the serial monitor through this video but didn't realize that it wasn't recording the screen. You should be able to see it on your computer.
- Potentiometer - control the rate of blinking of the LED [video, code]
- Digital Input
- turn an LED on and off with a button. [video pt 1]
- the code for the button example [video pt 2, code]
- Fading machine with states
- Fade LED automatically or manually - press one button and the LED fades up and down automatically, press the other button and then you can fade the LED manually with a potentiometer. If nothing is pressed then the LED is off. [video, code ]
- with toggle buttons - updated version of the previous example but now with toggle buttons instead of momentary buttons. [video, code]
- debouncing buttons - an example of debouncing a button to fix unpredictable button presses. Debouncing is when you set a threshold of time when only the first press gets recorded, everything else is ignored. This ensures that noise in a circuit is filtered out when necessary. [video, code]
- Serial communication (Arduino <---> p5.js)
- Tone.js Github - main repository
- Tone.js API - documentation
- Tone.js Wiki - covers a few things not explained in the API, ex. Time, envelopes
- Tone.js Google Group - ask a question here if you can't get it answered in class
- PDM Online Textbook - in development for highschool class but covers all necessary material
- Interactive Presets - use to experiment and find new sounds, do not copy presets from here else you add something unique to them.
- Make music with Tone - some tutorials for making more traditional music with Tone
- tone-rhythm - very helpful for making musical phrases with tone
- Ex. Maria - play Maria with tone. This requires knowledge of importing from npm with the 'import' keyword. It will not work with a script tag.
- Algorithmic Music Tutorial - uses p5 sound but many of the creative ideas are transferable to Tone.js
- Hackpact - Algorithmic audiovisual sonification studies
- Digital Sound and Music - explanations and definitions of all things digital sound
Still having trouble with some basics?
- freeCodeCamp
- codecademy
- MDN web docs Javascript - includes some tutorials and the standard javascript reference
- stackoverflow - find answers or ask questions to javacript related things.