Skip to content

Latest commit

 

History

History
91 lines (72 loc) · 7.12 KB

README.md

File metadata and controls

91 lines (72 loc) · 7.12 KB

Programming Digital Media

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

Lectures

Tone.js

  • 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

Arduino

Video tutorials and notes

  • Digital out - notes
  • Analog Out (Pulse Width Modulation) - notes
    • Tate's Fading tutorial - fade an LED [video, code]
    • Simron's fading tutorial - this covers the same information but might be useful for reinforcement. [video]
    • PWM game introduction - more PWM details and also introduces using a potentiometer. [video]
  • 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.
  • Digital Input
  • 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

Basics

Extras

  • 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

Inspiration

  • Hackpact - Algorithmic audiovisual sonification studies

Digital Audio

JS Basics

Still having trouble with some basics?