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

Schedule each note with a new OscillatorNode on the AudioContext timeline. To cancel a running sequence, move each active oscillator’s pending stop time earlier; cancel future gain automation separately if the notes use an envelope. For the CSS bug, visibility: hidden hides an element’s drawing but keeps its layout space. Use display: none when that space should disappear.

Schedule each note on the audio clock

An OscillatorNode generates a periodic waveform. Its frequency is an AudioParam; the default waveform is sine, and the documented default frequency is 440 Hz. Start and stop times are expressed in the associated AudioContext time coordinate system, not as delays measured from the moment a JavaScript callback happens to run. See MDN’s OscillatorNode reference and AudioScheduledSourceNode reference.

Use a fresh oscillator for every one-shot note. Calling start() is a one-time lifecycle operation; a stopped oscillator is not restarted for another note. A gain node gives the sequence a controllable amplitude and an envelope.

const activeVoices = new Set();

function playNote(audioContext, frequency, startTime, endTime) {
  const oscillator = audioContext.createOscillator();
  const gain = audioContext.createGain();

  oscillator.frequency.setValueAtTime(frequency, startTime);
  oscillator.connect(gain);
  gain.connect(audioContext.destination);

  // Example envelope: start quietly, then fade in.
  gain.gain.setValueAtTime(0, startTime);
  gain.gain.linearRampToValueAtTime(0.15, startTime + 0.02);

  const voice = { oscillator, gain, startTime, endTime };
  activeVoices.add(voice);
  oscillator.addEventListener("ended", () => activeVoices.delete(voice), { once: true });
  oscillator.start(startTime);
  oscillator.stop(endTime);
  return voice;
}

function cancelSequence(audioContext, cutoffTime) {
  for (const voice of activeVoices) {
    if (voice.endTime <= cutoffTime) continue;

    // A new stop time replaces a pending later stop time.
    voice.oscillator.stop(cutoffTime);
    voice.endTime = cutoffTime;

    // Remove gain events after the cutoff and hold a safe level there.
    voice.gain.gain.cancelScheduledValues(cutoffTime);
    voice.gain.gain.setValueAtTime(0, cutoffTime);
  }
}

Set sequence times relative to the audio clock, for example const firstNote = audioContext.currentTime + 0.05, then add each note’s offset to firstNote. This leaves a small scheduling lead rather than trying to start at a time that may already have passed. Choose the lead and note spacing for the application; the API documentation does not prescribe one universal value.

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.
#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

Cancel playback and automation as separate operations

Calling stop() controls whether the source continues producing sound. Cancelling gain automation controls future changes to the gain parameter; it does not stop the oscillator. A cancellable sequence that uses envelopes may need both actions.

MDN documents the stop-time behavior this way: “Each time you call stop() on the same node, the specified time replaces any previously-scheduled stop time that hasn’t occurred yet.” In other words, if a note already has a later scheduled end, calling stop(cutoffTime) before that end replaces the pending stop time. The source then ends at the earlier time. See MDN’s stop() method reference.

Rank #2
Sale
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

Choose the right AudioParam cancellation method

  • cancelScheduledValues(cutoffTime) removes scheduled parameter changes at or after the given time. If you need a predictable silent cutoff, schedule a gain value such as zero at that time after cancelling the future events.
  • cancelAndHoldAtTime(time) cancels future changes and holds the parameter’s value at that time. Its browser availability is limited according to MDN, so check support for your target browsers before relying on it.

These methods operate on a parameter timeline, separate from the oscillator’s start/stop lifecycle. Consult cancelScheduledValues() and cancelAndHoldAtTime().

Track voices so cancellation reaches the whole sequence

Keep each active note’s oscillator, gain node, and scheduled end time in a record. When cancellation is requested, apply the earlier stop time to every voice whose scheduled end is still later than the cutoff. The ended event provides a place to remove completed voices from the active set. This bookkeeping pattern combines the documented scheduling and automation APIs; it is not a claim of cross-browser test results.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
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.

MDN’s sequencing example likewise uses a gain node for amplitude control, clears scheduled gain events before defining an envelope, and schedules oscillator start and stop against audio times.

Why visibility hidden can look like it hid nothing

visibility: hidden prevents an element from being drawn, but the element normally continues to occupy space in the layout. If text or a control disappears while a blank gap remains, inspect the element’s computed style and its ancestors for visibility: hidden. The property is inherited, though a descendant can explicitly set visibility: visible.

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

Use display: none when the element and its descendants should be removed from layout as well as hidden. In their ordinary hidden states, both visibility: hidden and display: none also remove the content from the accessibility tree. The right choice depends on whether the layout space should remain and whether assistive technology should encounter the content. See MDN’s visibility reference.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Compare CSS hiding methods before choosing one

Method Layout space Focus and pointer behavior Accessibility tree
visibility: hidden Normally retained Not ordinarily interactive while hidden Removed in its usual hidden state
display: none Removed, including descendants Not ordinarily interactive while hidden Removed in its usual hidden state
opacity: 0 Retained Can remain focusable and receive pointer events Not established as hidden from assistive technology by opacity alone

opacity: 0 makes an element transparent; it does not remove it from the DOM. A transparent control may still take keyboard focus or intercept pointer input, producing an invisible interactive element. If you choose this technique, handle its focus and interaction behavior deliberately. See MDN’s opacity reference.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
Sale
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.