DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
World desk4 min

Building a Cancellable Web Audio Tone Sequence (and the CSS Bug That Hid Nothing)

Use oscillator stop times to cut off scheduled Web Audio notes, cancel gain automation separately, and fix hidden elements that still occupy layout space.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

To make a Web Audio tone sequence cancellable, schedule each note with a new OscillatorNode and shorten its pending playback with a later stop() call. If notes use gain envelopes, cancel their future automation separately. The CSS symptom in the title has a similarly direct fix: visibility: hidden hides an element but preserves its layout space; use display: none when that space should disappear.

Schedule each note on the audio clock

Web Audio source times use the AudioContext timeline, not JavaScript timer delays. Read audioContext.currentTime and add offsets to it to establish when notes should start and end. An OscillatorNode produces a periodic waveform; its frequency is an AudioParam, and its documented defaults are a sine wave at 440 Hz. MDN’s OscillatorNode reference describes the node and its parameters.

As an Amazon Associate I earn from qualifying purchases.

A source node’s start() is a one-time lifecycle operation. Create a fresh oscillator for each one-shot note rather than trying to restart an oscillator that has stopped. MDN’s Web Audio API guide demonstrates creating oscillators and scheduling their starts and stops.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build a voice for each note

For each note, create an oscillator and a gain node. Connect the oscillator to the gain node, then connect the gain node to the destination. Schedule the gain envelope on the audio timeline, then call start(noteStart) and stop(noteEnd) on the oscillator. The gain node controls amplitude; it does not determine whether the oscillator itself is still running.

#1 Best Overall
Focusrite Scarlett Solo 3rd Gen USB-C Audio Interface
  • Pro performance with great pre-amps - Achieve a brighter recording thanks to the high performing mic pre-amps of the Scarlett 3rd Gen. A switchable Air mode will add extra clarity to your acoustic instruments when recording with your Solo 3rd Gen
  • Get the perfect guitar and vocal take with - With two high-headroom instrument inputs to plug in your guitar or bass so that they shine through. Capture your voice and instruments without any unwanted clipping or distortion thanks to our Gain Halos
  • Studio quality recording for your music & podcasts - Achieve pro sounding recordings with Scarlett 3rd Gen’s high-performance converters enabling you to record and mix at up to 24-bit/192kHz. Your recordings will retain all of their sonic qualities
  • Low-noise for crystal clear listening - 2 low-noise balanced outputs provide clean audio playback with 3rd Gen. Hear all the nuances of your tracks or music from Spotify, Apple & Amazon Music. Plug-in headphones for private listening in high-fidelity
  • Everything in the box: Includes Pro Tools Intro+, Ableton Live Lite, Cubase LE, and Hitmaker Expansion: a suite of essential effects, powerful software instruments, and easy-to-use mastering tools
const now = audioContext.currentTime;
const voices = [];

function scheduleNote(frequency, startOffset, duration, peak = 0.15) {
  const start = now + startOffset;
  const end = start + duration;
  const oscillator = audioContext.createOscillator();
  const gain = audioContext.createGain();

  oscillator.frequency.setValueAtTime(frequency, start);
  gain.gain.setValueAtTime(0, start);
  gain.gain.linearRampToValueAtTime(peak, start + 0.01);
  gain.gain.setValueAtTime(peak, Math.max(start + 0.01, end - 0.03));
  gain.gain.linearRampToValueAtTime(0, end);

  oscillator.connect(gain);
  gain.connect(audioContext.destination);
  oscillator.start(start);
  oscillator.stop(end);

  const voice = { oscillator, gain, start, end };
  voices.push(voice);
  oscillator.addEventListener("ended", () => {
    const index = voices.indexOf(voice);
    if (index !== -1) voices.splice(index, 1);
  });

  return voice;
}

The envelope above is illustrative; choose its shape and levels for the sound you need. MDN’s advanced Web Audio techniques example likewise cancels scheduled gain events before setting an envelope, and schedules oscillator start and stop times.

Cancel playback and automation as separate actions

To cut off a sequence, call stop(cutoffTime) on every voice that has not already ended. If that oscillator already has a later stop time pending, the new earlier time replaces it. MDN states: “Each time you call stop() on the same node, the specified time replaces any previously-scheduled stop time that hasn’t occurred yet.” See MDN’s AudioScheduledSourceNode stop() reference.

Rank #2
Focusrite Scarlett Solo 4th Gen USB-C Audio Interface
  • The new generation of the songwriter's interface: Plug in your mic and guitar and let Scarlett Solo 4th Gen bring big studio sound to wherever you make music
  • Studio-quality sound: With a huge 120dB dynamic range, the newest generation of Scarlett uses the same converters as Focusrite’s flagship interfaces, found in the world's biggest studios
  • Find your signature sound: Scarlett 4th Gen's improved Air mode lifts vocals and guitars to the front of the mix, adding musical presence and rich harmonic drive to your recordings
  • All you need to record, mix and master your music: Includes industry-leading recording software and a full collection of record-making plugins
  • Everything in the box: Includes Pro Tools Intro+, Ableton Live Lite, Cubase LE, and Hitmaker Expansion: a suite of essential effects, powerful software instruments, and easy-to-use mastering tools

That call ends the source signal. It does not cancel automation on the gain parameter. If an envelope has events scheduled after the cutoff, cancel those future events too; otherwise they remain scheduled on their own timeline. AudioParam.cancelScheduledValues() cancels scheduled changes at or after the supplied time. AudioParam.cancelAndHoldAtTime() cancels future changes and holds the parameter’s value at the specified time. MDN marks the latter as having limited availability, so check support in the browsers you target before depending on it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Cancellation pattern

function cancelSequence(cutoffTime) {
  for (const voice of voices) {
    if (voice.end <= cutoffTime) continue;

    voice.oscillator.stop(cutoffTime);
    voice.gain.gain.cancelScheduledValues(cutoffTime);
    voice.gain.gain.setValueAtTime(0, cutoffTime);
  }
}

This pattern assumes the intended result is silence at the cutoff. If you want to preserve the gain value reached at that instant instead, use cancelAndHoldAtTime(cutoffTime) where supported. The key distinction is that source stopping controls playback, while AudioParam cancellation controls future parameter changes; use both when the sequence includes an envelope.

Rank #3
SABRENT USB External Stereo Sound Card Adapter, Plug & Play (AU-MMSA)
  • PLUG IN AND HEAR SOUND IN SECONDS - USB Type-A connector with a 3.5mm stereo headphone output and a separate 3.5mm mono microphone input. No drivers, no software, no external power - the adapter is USB bus-powered and is recognized as a standard USB audio device.
  • WORKS ON WINDOWS, MAC AND LINUX - Driverless on Windows 98SE/ME/2000/XP/Server 2003/Vista/7/8, Linux and Mac OSX, and compliant with the USB Audio Device Class 1.0 specification, so any system that supports class-compliant USB audio will see it. Select it as the sound output and input device after plugging it in.
  • TWO JACKS, TWO JOBS - The green jack is stereo OUT for headphones or powered speakers; the pink jack is mono microphone IN for a 3.5mm mic. It does NOT support 4-pole headsets on a single combo plug, it does NOT power passive speakers, and it does NOT add surround sound - it is a stereo 2-channel adapter.
  • FOR LAPTOPS AND DESKTOPS THAT NEED AN AUDIO PORT BACK - Adds a headphone and mic port to a laptop, desktop, or mini PC whose onboard jack has failed or was never there. Managed and work-issued computers can block new USB audio devices by policy - check with your IT department before ordering for a company machine.
  • SABRENT SUPPORT AND WARRANTY - What is in the box: one USB audio sound adapter. Backed by a 1-year limited warranty, extended to 2 years when you register within 90 days on the manufacturer's website.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Why hidden content can leave a blank space

If content vanishes but its former area remains, inspect the computed styles on the element and its ancestors. visibility: hidden suppresses drawing but leaves the element in layout. Set display: none when it should no longer occupy layout space. MDN documents these differences in its visibility and display references.

visibility is inherited, but a descendant can explicitly set visibility: visible. That can make a child visible even when an ancestor is hidden, so inspect the full element tree when the result looks inconsistent.

Rank #4
M-AUDIO M-Track Duo USB Audio Interface
  • Podcast, Record, Live Stream, This Portable Audio Interface Covers it All - USB sound card for Mac or PC delivers 48kHz audio resolution for pristine recording every time
  • Be ready for anything with this versatile M-AUDIO interface - Record guitar, vocals or line input signals with two combo XLR / Line / Instrument Inputs with phantom power
  • Everything you Demand from an Audio Interface for Fuss-Free Monitoring - 1/4" headphone output and stereo 1/4" outputs for total monitoring flexibility; USB/Direct switch for zero latency monitoring
  • Get the best out of your Microphones - M-Track Duo’s transparent Crystal Preamps guarantee optimal sound from all your microphones including condenser mics
  • The MPC Production Experience - Includes MPC Beats Software complete with the essential production tools from Akai Professional

Choose a hiding method by its effects

Method Layout space Focus and pointer behavior Assistive technology
visibility: hidden Normally retained Hidden content is not ordinarily interactive while hidden Hidden content is removed from the accessibility tree in the usual hidden state
display: none Removed, including descendants Hidden content is not ordinarily interactive while hidden Hidden content is removed from the accessibility tree in the usual hidden state
opacity: 0 Retained Can remain focusable and receive pointer events Not established as hidden from the accessibility tree by opacity alone

MDN’s opacity reference explains that zero opacity makes an element transparent rather than removing it. An invisible control may still receive keyboard focus or pointer input, so do not use opacity alone to hide an interactive element unless its interaction and focus behavior are intentional. Choose among these methods according to whether layout space should remain and whether assistive technology should encounter the content.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Focusrite Scarlett 2i2 4th Gen USB-C Audio Interface
  • The new generation of the artist's interface: Connect your mic to Scarlett's 4th Gen mic pres. Plug in your guitar. Fire up the included software. Start making your first big hit
  • Studio-quality sound: With a huge 120dB dynamic range, the newest generation of Scarlett uses the same converters as Focusrite’s flagship interfaces, found in the world's biggest studios
  • Never lose a great take: Scarlett 4th Gen's Auto Gain sets the perfect level for your mic or guitar, and Clip Safe prevents clipping, so you can focus on the music
  • Find your signature sound: Air mode lifts vocals and guitars to the front of the mix, adding musical presence and rich harmonic drive to your recordings
  • With Scarlett 4th Gen, you have all you need to record, mix and master your music: Includes industry-leading recording software and a full collection of record-making plugins

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
Crashes, No Sound, or Screen Glitches?Free driver scan
Windows Errors? Fix Them Before They SpreadFree repair scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.