Web Audio API : Visualizing Frequency Response with Plotly



Web Audio API Filter Frequency Response Graph

Introduction

Web Audio API is a powerful tool that allows developers to manipulate and process audio in real-time on the web. It provides a wide range of audio processing nodes, such as oscillators, Web Audio API Gain Node, filters, and effects, which can be connected to form complex audio processing chains. One of the most commonly used nodes in Web Audio API is the BiquadFilterNode, which can be used to create different types of filters, such as Low Pass Filter (LPF), High Pass Filter (HPF), and Band Pass Filter (BPF).

In this Web Audio API example, we will explore the Web Audio API Biquad Filter with a focus on the HPF filter. We will start by explaining what a Biquad Filter is and what it offers in the context of Web Audio API. We will then explain how the HPF filter works, how it affects audio, and how users can interact with it using a slider just like we changed web audio gain node using slider. Finally, we will show how the HPF filter's frequency response can be visualized with the help of magnitude and phase response graphs.

What is a Biquad Filter? 

A Biquad Filter is a type of digital filter that uses second-order recursive equations to process audio signals. It has two poles and two zeros, which can be adjusted to create different types of frequency responses. In Web Audio API, the BiquadFilterNode is used to implement a Biquad Filter. It takes various parameters, such as frequency, Q factor, and type, which can be used to configure the filter's frequency response.

Web Audio API Biquad Filter

The BiquadFilterNode in Web Audio API is a versatile node that can be used to create different types of filters. It takes various parameters that can be used to configure the filter's frequency response. The type parameter specifies the type of Web Audio API Filter, such as LPF, HPF, BPF, etc. The frequency parameter specifies the cutoff frequency of the filter. The Q factor parameter specifies the quality factor of the filter, which affects the width of the filter's frequency response.

High Pass Filter (HPF)

A High Pass Filter (HPF) is a type of filter that allows high-frequency signals to pass through while attenuating low-frequency signals. It is often used to remove unwanted low-frequency noise or to emphasize high-frequency content in audio signals. The HPF filter's frequency response has a steep roll-off below the cutoff frequency and a flat response above the cutoff frequency.

The HPF filter can be implemented in Web Audio API using the BiquadFilterNode with the type parameter set to 'highpass'. The cutoff frequency of the filter can be adjusted using a slider, which allows users to interact with the filter in real-time. The HPF filter can be connected to an Web Audio API Oscillator node to generate a 340Hz sine wave, which can be visualized using the magnitude and phase response graphs.

Magnitude and Phase Response Graphs

The magnitude and phase response graphs are useful tools for visualizing the frequency response of a filter. The magnitude response graph shows the filter's gain or attenuation at different frequencies, while the phase response graph shows the phase shift introduced by the filter at different frequencies. These graphs can be used to understand how a filter affects the audio signal and to adjust its parameters accordingly.

In the HPF filter example, the magnitude and phase response graphs are generated using Plotly.js, a JavaScript graphing library. The graphs are updated in real-time as the filter's parameters are adjusted, allowing users to listen to the effect of changing the cutoff frequency on the sound produced by an oscillator.

 

Post a Comment

Previous Post Next Post