
Trace the history of audio on the web and learn to play audio in HTML pages, implement basic Web Audio API concepts, and apply low-pass and high-pass filters.
Familiarize yourself with HTML and JavaScript; write code in JavaScript, and choose your preferred editor, from VS Code, Sublime Text, WebStorm, to online editors like CodePen and JSBin.
Create a new web audio project in an IDE with an empty HTML5 template, then build a centered index.html using CSS flex to show 'Hello Web Audio API'.
Learn to build a browser audio player with an HTML5 audio element by linking a royalty-free file via URL or local file, adding controls, and playing music.
Explore essential HTML5 audio element properties, including muted, loop, autoplay, and preload (auto, metadata, none), and verify compatibility on Mozilla's site to ensure immediate, seamless playback.
Learn to handle unknown audio formats in HTML5 audio elements by providing multiple sources (wav, mp3, ogg) and using a fallback message when formats are unsupported.
Learn to control music playback with the HTML5 audio object using JavaScript, create a new audio instance, load a file, and wire play and pause buttons with event listeners.
Explore the limitations of the HTML5 audio element and audio object, including latency and buffering. Discover the one-track constraint, and the lack of real-time filtering or mixing across multiple tracks.
Discover how the Web Audio API provides a high level JavaScript interface for processing and synthesizing audio, using an audio context and a directed graph of nodes.
Learn how the Web Audio API uses an audio context and oscillator node to generate sound, connect to the default speaker, and start or stop a basic single-tone.
Explore oscillator node properties by selecting oscillator type, switching between sine, triangular, square, and sawtooth waves, then verify wave shapes with Audacity.
Learn how the Web Audio API uses an AudioContext's currentTime to schedule precise timing and stop audio after two seconds, avoiding setTimeout.
Explore what sound is and how frequency and amplitude shape loudness and pitch in web audio. Frequency measures wave cycles per second, while amplitude indicates loudness.
Explore the Web Audio API's audio param interface, focusing on the value property and setValueAtTime to schedule oscillator frequency changes with audioContext.currentTime.
Capture microphone input and play it back through the default speaker with a single capture button, using audio context, suspend and resume, getUserMedia, and a MediaStream to the destination.
Explore how audio buffers store PCM 32-bit floating-point data with samples from -1 to 1. Learn AudioBufferSourceNode playback; buffers are reusable while sources are single-use.
Explore how sampling rate, governed by the nyquist shannon sampling theorem, converts analog audio to discrete data and sets practical rates for voice and streaming.
Engage in a hands-on session creating a white noise audio buffer with two channels and two seconds at 44.1 kHz, then play it via an audio buffer source node.
Explore the modification node in the Web Audio API, routing audio through a processing engine to apply gain node, delayed node, biquad filter node, convolver node, and dynamic compressor node.
Demonstrates the gain node as the primary volume control in the Web Audio API, explains immediate changes to gain and spikes, and shows exponential interpolation to adjust volume smoothly.
Gain hands-on with the Web Audio API by wiring an oscillator through a gain node, using sliders to adjust volume smoothly from 0 to 1 and prevent audio spikes.
Explore the delay node and its delayTime control with a maximum delay time of up to 180 seconds. Route an oscillator or audio source through it to create echoes.
Implement an echo effect by feeding audio through a delay node of about 0.5 seconds, using an audio context and a microphone input connected to destination to hear the echo.
Explore how BiQuadFilterNode with the Web Audio API shapes the audio spectrum by emphasizing or deemphasizing frequencies, focusing on human voice from 300 Hz to 3.1 kHz.
Learn to store and play audio using the Web Audio API with an audio buffer, decode audio data, and compare playback via an audio buffer approach versus an audio tag.
Explore designing a biquad low-pass filter in the Web Audio API, setting a cutoff frequency and applying it to an audio buffer to observe attenuation of higher frequencies.
Explore BiQuadFilter high pass filter fundamentals within the web audio API, contrasting it with low pass filtering, understanding cutoff frequency and resulting changes in signal frequencies and amplitude.
Explore the Web Audio API's BiQuadFilter by hands-on high-pass filter experiments, transforming a pop song's spectrum and validating changes in real time.
Explore biquad filter properties, including q factor and center frequency, to create low pass, high pass, and band pass effects, set cutoffs, and shape attenuation.
Apply a biquad band-pass filter with the Web Audio API to shape a sound's spectrum and observe how target frequencies around 1000 Hz and 1500 Hz influence bandwidth using Audacity.
Explores the types of biquad filters in web audio, including the band-pass filter and other filter types, and discusses their roles in audio processing.
Explore the convolver node, applying linear convolution on an audio buffer to generate high-quality reverb via impulse responses. Discover how impulse responses define acoustic spaces and shape sound across environments.
Explore hands-on ConvolverNode usage in the Web Audio API to create reverb by applying an impulse response generated from white noise.
The Web Audio API provides a powerful and versatile system for controlling audio on the Web, allowing developers to choose audio sources, add effects to audio, create audio visualizations, apply spatial effects (such as panning) and much more.
This course is more focused on how to capture or play audio from audio sources, how to apply multiple filters (low pass filter, high pass filter, bandpass filter), how to delay the sound and create an echo effect and also focus on how to change the volume of capture sound.
For web developers, this course can understand the audio concepts effectively and how to create digital audio workstation applications in web applications using Web Audio API without knowing the complex digital signal processing algorithm like convolution, Fast Fourier Transform (FFT).
For the audio engineer, this course is the opportunity to understand how to convert desktop-based audio processing applications into web-based applications using Web Audio API.
This course also covers the basics of audio and audio properties like frequency and amplitude.
This course is divided into 3 Parts.
Audio Player HTML Element and Object
Web Audio API - Audio Sources
Audio Source Generator - Oscillator
Live Input Capture - Microphone Input
Web Audio API - Modification Node.
GainNode
DelayNode
BiQuardFilters
Join me in this course if you're ready to dive into Web Audio API. You won't be disappointed!