GithubHelp home page GithubHelp logo

hhy5277 / web-audio-school Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mmckegg/web-audio-school

0.0 1.0 0.0 2.96 MB

An intro to the Web Audio API by a series of self-guided workshops.

JavaScript 99.35% HTML 0.65%

web-audio-school's Introduction

Web Audio School

An intro to the Web Audio API by a series of self-guided workshops.

We will primarily focus on using the Web Audio API for music, but the concepts here could be applied to game sound and other creative uses.

This workshop was built for CampJS V!

Try it out here:

mmckegg.github.io/web-audio-school

TODO

  • Handle user code errors and display in editor

Install via npm

Global install:

$ npm install web-audio-school -g

Start the server:

$ web-audio-school

Now navigate to localhost:9966.

Browser Support

Works in latest versions of Chrome, Firefox, Safari.

Internet Explorer doesn't support the Web Audio API yet.

Lesson Overview

Part I: Subtractive Synthesis

  1. Play a pitched sawtooth wave
  2. Play a short sequence of notes
  3. Add a high-pass filter
  4. Modulate filter cutoff
  5. Add an envelope
  6. Vibrato

Part II: Working With Samples

  1. Decode and play an audio file
  2. Set in and out points
  3. Looping samples
  4. Set sample pitch
  5. Play a sequence of pitched samples

Part III: Effects

  1. Tremolo
  2. Stereo Tremolo
  3. Echo / Delay
  4. Overdrive (part 1)
  5. Overdrive (part 2)
  6. Ping Pong Delay
  7. Simple Reverb

Epilogue

  1. Drop the Bass

Coverage

  • AudioContext
  • AudioBuffer
  • AudioParam
  • AudioDestinationNode
  • OscillatorNode
  • AudioBufferSourceNode
  • GainNode
  • WaveShaperNode
  • StereoPannerNode
  • ConvolverNode
  • BiquadFilterNode
  • DelayNode
  • ChannelSplitterNode
  • ChannelMergerNode

Not Yet Covered

  • AudioWorker (not yet supported by any browsers)
  • ScriptProcessor (deprecated)
  • OfflineAudioContext
  • DynamicsCompressorNode
  • AudioListener
  • PannerNode
  • AnalyserNode

License

MIT

Contributors

This is an OPEN open source project. See CONTRIBUTING.md for details

web-audio-school's People

Contributors

ahdinosaur avatar digitalcraft avatar ezekeal avatar janmonschke avatar leocassarani avatar mmckegg avatar skratchdot avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.