MUMT 307

Outline

  • HTML5 to Mobile Apps
  • Mobile App Development
  • Final project ideas
  • More inal project ideas
  • Connecting AudioNodes and AudioParams
  • Frequency Modulation (FM) Synthesis: Background
  • Frequency Modulation (FM) Synthesis: Demos
  • Install a piano-type keyboard (lab)
  • Envelope: ADSR
  • Web Audio API: Automation methods of AudioParam
  • Envelope: Demos
  • Envelope (lab)
  • Brower compatibility fix (lab)
MUMT 307

HTML5 to Mobile Apps

MUMT 307

Mobile App Development

MUMT 307

Final project ideas

MUMT 307

More final project ideas

MUMT 307

Connecting AudioNodes and AudioParams

  • If you connect AudioNodes to an AudioNode (e.g., OscillatorNodes to a GainNode)
    • All the inputs are added together
  • If you connect AudioNode to AudioParam (e.g., OscillatorNode to a GainNode.gain)
    • All the gain inputs are added then multiplied to the main input
  • For an example see: Amplitude Modulation Demo
MUMT 307

Frequency Modulation (FM) Syntheis: Background

MUMT 307

Frequency Modulation (FM) Syntheis: Demos

MUMT 307

Install a piano-type keyboard (lab)

MUMT 307

Envelope: ADSR

MUMT 307

Web Audio API: Automation methods of AudioParam

  • setValueAtTime() - SetValue
  • linearRampToValueAtTime() - LinearRampToValue
  • exponentialRampToValueAtTime() - ExponentialRampToValue
  • setTargetAtTime() - SetTarget
  • setValueCurveAtTime() - SetValueCurve
MUMT 307

Envelope: Demos

MUMT 307

Envelope (lab)

  • Start with Envelope demo 9:
  • Add decay time (use setTargetAtTime())
  • Add sustain level
  • Add release time (setTargetAtTime())
  • Make decay and realse exponential (use exponentialRampToValueAtTime())
MUMT 307

Browser compatibility fix (lab)