Troubleshooting

Solutions to common issues. If your problem isn't listed here, try the FAQ or report an issue.

No Audio Output

You've enabled TabDSP but can't hear any audio, or audio stopped playing after enabling the extension.

Quick Fixes

  1. Refresh the page: After enabling TabDSP, refresh the page. The extension needs to inject processing code before media elements load.
  2. Check "Enabled" is on: Look at the checkbox at the top of the popup. If unchecked, click it.
  3. Verify media is playing: Make sure the audio/video player shows playback is active (not paused).
  4. Check media count: Title bar should show "1 media" or higher. If "0 media", TabDSP can't find audio elements on the page.
  5. Try a different site: Some sites use DRM-protected content that cannot be processed. Test on YouTube or SoundCloud.
▶ Technical details

Why reloads help: TabDSP integrates with the browser's audio pipeline when a page loads. If audio elements are created and begin playing before TabDSP is ready on a given site, those elements can route around the DSP chain. A page reload gives TabDSP a chance to attach before any audio starts.

Diagnostic: Open the browser console (F12) and watch for TabDSP status messages when the page loads. Errors related to audio attachment usually indicate the page uses a playback method TabDSP cannot attach to.

DRM content: Encrypted Media Extensions (EME) — used by Netflix, Disney+, and some Spotify tracks — route audio outside the browser's general-purpose audio graph. That content cannot be processed through the normal path; see the DRM section below for the tab-capture fallback behavior on Chrome.

Meters Not Responding

Audio is playing but meters show no activity, or spectrum analyzer is blank.

Solutions

  • Check audio is actually playing: Mute/unmute your system volume to verify sound is coming through.
  • Reopen the popup: Close and reopen the TabDSP popup. Meter updates may have stalled.
  • Verify sample rate is displayed: Title bar should show "48 kHz" or similar. If it shows "-- kHz", the audio chain isn't connected.
  • Check for bypassed input: INPUT module should not have a bypass icon. Input gain should be above -infinity.
  • Look for DC offset blocking: Extremely quiet signals (near silence) may not register on meters.
▶ Technical details

Expected behavior: Meters update from audio-thread measurements at roughly 60 frames per second while the popup is open. When the popup is closed or the tab is heavily backgrounded, the browser may throttle UI updates — audio processing continues at full quality, but the meters themselves slow down or pause until the popup is focused again.

Diagnostic: If meters stay blank while audio is clearly playing, check the browser console for errors during page load and confirm the title bar shows a sample rate (e.g. "48 kHz"). A missing sample rate means the audio chain never connected.

Rapid enable/disable: Toggling the extension on and off in quick succession can leave meters in a stale state. A page reload restores normal meter flow.

High CPU Usage

TabDSP is consuming excessive CPU (>10%), causing fan noise or sluggish performance.

Optimization Steps

  1. Disable unused modules: Bypass EQ, Multiband, or Compressor if you're not using them. Each module consumes CPU even when parameters are neutral.
  2. Use Minimum Phase EQ: Linear Phase mode (FIR filter) uses 5-10x more CPU than Minimum Phase (IIR biquads). Toggle off Linear Phase in EQ settings.
  3. Reduce multiband bands: 3-band mode uses less CPU than 4-band mode.
  4. Check other tabs: Each browser tab with TabDSP enabled runs independent processing. Close unnecessary tabs.
  5. Lower sample rate: 44.1 kHz content uses slightly less CPU than 48 kHz or 96 kHz. (You can't control this—it's set by the media source.)
Baseline Usage

Typical CPU usage: 2-5% on modern systems (2020+ CPU). If you're seeing 15%+ with all modules bypassed, check browser extensions conflicts or background processes.

▶ Technical details

Relative cost of features (highest to lowest):

  • Linear Phase EQ — the single most expensive feature. Turning it off and using Minimum Phase is usually the largest single CPU win.
  • True Peak limiting with look-ahead — significantly more expensive than standard peak limiting.
  • Multiband Compressor — cost scales with band count; 3-band is lighter than 4-band.
  • Spectrum Analyzer — runs in the browser's native audio engine, so its impact on overall CPU is minimal.

Expected behavior: Bypassing a module should drop CPU usage proportionally. If CPU stays high even with every module bypassed, a browser extension conflict or unrelated background process is the more likely cause.

For detailed per-feature benchmarks, see PERFORMANCE.md.

Clicking or Popping Sounds

You hear clicks, pops, or crackling when adjusting parameters or switching modules.

Solutions

  • Stop dragging parameters rapidly: Extremely fast parameter changes (e.g., dragging EQ gain up/down 100x per second) can outpace coefficient smoothing.
  • Check buffer underruns: If your system is overloaded (high CPU), audio buffers may underrun causing clicks. Close other apps.
  • Avoid bypass toggling during loud signals: Bypass uses 30ms crossfade. Toggling during transients may cause brief artifacts.
  • Use A/B comparison instead of bypass: A/B has smoother transitions for instant before/after comparison.
When to Report

Clicks during normal operation (not parameter changes) indicate a bug. Please report with browser version, CPU specs, and steps to reproduce.

▶ Technical details

Parameter smoothing: TabDSP smooths parameter changes internally and applies short crossfades when modules toggle or filter shapes change. This prevents the abrupt discontinuities that cause clicks, but extremely rapid automation (dragging a knob back and forth as fast as possible) can still outpace the smoothing.

Practical advice: Wait a moment after a change before making the next one — especially when toggling bypass or switching between EQ phase modes — to let the crossfade finish cleanly.

Buffer underruns: Clicks that appear only when the system is heavily loaded usually indicate the browser's audio thread is being starved. Close other CPU-heavy apps, or use Chrome DevTools → Performance to confirm dropouts correlate with CPU spikes.

Extension Not Appearing in Browser

You installed TabDSP but can't find the icon or popup.

Checks

  1. Verify installation: Go to about:addons (Firefox) or chrome://extensions (Chrome) and look for "TabDSP" in the Extensions list.
  2. Check browser compatibility: TabDSP supports Firefox 121+ and Chrome 116+.
  3. Enable the extension: In about:addons, ensure the toggle next to TabDSP is blue (enabled).
  4. Check toolbar: Right-click toolbar and select "Customize Toolbar". Drag TabDSP icon from overflow menu to visible toolbar area.
  5. Restart browser: Close all Firefox windows and reopen. Some extensions require restart after installation.
▶ Technical details

Manifest V3: TabDSP ships a unified MV3 manifest for Firefox (121+) and Chrome (116+). The extension's toolbar button and popup work the same way on both browsers.

Temporary add-on installs: If you loaded TabDSP via "Load Temporary Add-on" in developer mode, the browser clears it on restart and presets are lost with it. Install the signed .xpi from the Downloads page for a permanent install.

Permissions: Confirm the extension hasn't been blocked. In about:addons, open TabDSP and check the Permissions tab — the required permissions are activeTab, storage, and scripting.

DRM-Protected Content Won't Process

TabDSP shows "DRM-protected audio detected" on Netflix, Disney+, or some Spotify tracks.

Platform Differences

DRM-encrypted streams use Encrypted Media Extensions (EME), which bypass the Web Audio API. How TabDSP handles this depends on your browser:

Chrome: TabDSP automatically switches to tab capture mode when DRM is detected. This captures the tab's mixed audio output after decryption and processes it through the full DSP chain. You will see a "Tab audio captured (DRM bypass active)" status message. No action is required on your part.

Firefox: Firefox does not provide a tab capture API. DRM-protected content cannot be processed on Firefox. You will see "DRM-protected audio detected. Processing not available on Firefox." Consider using Chrome for DRM-protected sites.

Sites that work without tab capture (both browsers):

  • YouTube (mostly unencrypted)
  • SoundCloud (unencrypted)
  • Bandcamp (unencrypted, may need CORS setting enabled)
  • Most podcasts and audio streaming
  • HTML5 <audio> and <video> elements with unencrypted sources

Sites that require tab capture (Chrome only):

  • Netflix
  • Disney+
  • Amazon Prime Video
  • Spotify (some premium tracks)
  • Apple Music web player
  • Tidal
▶ Technical details

Why EME content is different: DRM-encrypted streams are decrypted inside a sandboxed Content Decryption Module and sent straight to the audio hardware. The decrypted audio is never exposed to the browser's general-purpose audio APIs, so it cannot be processed through the normal path.

Chrome tab-capture fallback: On Chrome, TabDSP can capture the tab's mixed audio output after decryption and run it through the full DSP chain. When DSP is enabled, TabDSP waits about 1.5 seconds for normal processing to engage; if DRM or silence is detected and no audio is flowing through the DSP, tab capture is activated automatically. Chrome mutes the original tab output while capture is active to prevent a double-audio feedback loop. Only one tab can be captured at a time.

Firefox limitation: Firefox does not expose a tab-audio capture capability to extensions, so there is no equivalent fallback path. DRM-protected content on Firefox plays normally but cannot be processed.

Navigation and single-tab limits: Navigating a captured tab to a new page ends the capture. If you had DRM content playing via tab capture and navigated away, re-enabling TabDSP on the new page restarts the capture check.

Cross-Origin Audio Not Processing

TabDSP shows "Cross-origin audio detected (unprocessed)" on some sites like Bandcamp.

What This Means

Some websites serve their audio files from a different domain (a CDN) than the page itself. By default, browser security prevents TabDSP from processing audio loaded from a different origin.

How to Enable Cross-Origin Processing

  1. Open the TabDSP popup.
  2. Click the Advanced settings bar at the bottom of the popup.
  3. Enable "Cross-origin audio processing" toggle.
  4. Reload the page for the setting to take effect.
Supported Sites

Cross-origin processing currently supports specific CDN domains (such as Bandcamp's audio CDN). Not all cross-origin audio can be processed -- the CDN must allow cross-origin requests. If you encounter a site where this feature does not work, the audio will play normally but unprocessed.

Tab Capture Issues (Chrome Only)

Tab capture is used to process DRM-protected audio and as a fallback when silence is detected. It captures the tab's mixed audio output and processes it through a full DSP chain in a separate background processing context.

Common Issues

  • Only one tab at a time: Chrome limits tab capture to a single tab. If you're already capturing one tab and try to capture another, the first capture will stop. This is a Chrome platform limitation.
  • Tab navigation stops capture: Navigating to a new page within a captured tab will stop the capture. You will need to re-enable TabDSP or wait for auto-capture to trigger again on the new page.
  • Tab capture starts automatically: When DRM content is detected, TabDSP automatically activates tab capture after a 1.5-second delay. You can also trigger it manually via the "Capture Tab Audio" button if available.
  • DSP stays in sync across surfaces: When tab capture is active, audio is processed independently of the popup UI, so UI activity doesn't interrupt audio. Parameter changes, module order, and bypass states are kept consistent wherever TabDSP is processing audio.

"Audio Silence Detected" Message

TabDSP shows "Audio silence detected -- possible CORS restriction. Reload page to restore audio."

What This Means

TabDSP attempted to process a media element's audio, but the output was silent. This typically means the audio source has a cross-origin restriction that was not caught by the initial check. Once the browser attaches an audio element to a processing graph, that binding cannot be detached — which is why a page reload is required: it rebinds on fresh audio.

How to Fix

  1. Reload the page. This restores normal (unprocessed) audio playback.
  2. If the site serves audio from a CDN, try enabling "Cross-origin audio processing" in Advanced settings before reloading.
  3. On Chrome, TabDSP will automatically attempt to switch to tab capture mode when silence is detected.
▶ Technical details

How silence is detected: While a media element reports that it is playing, TabDSP monitors its output level. If the signal stays at true digital silence for about 2 seconds, TabDSP flags it as silence and prompts for a reload. This catches cases where cross-origin restrictions or other browser-level blocks cause the processed audio to be zero even though the element itself says it is playing.

Why a reload is required: Once the browser attaches an audio element to a processing graph, that binding cannot be detached. If the browser decides to output zeroes (for example, because CORS blocks the data), there is no way to "un-attach" and recover. A page reload creates a fresh audio element that TabDSP can re-attach to cleanly.

Chrome fallback: On Chrome, silence detection triggers the same tab-capture fallback as DRM detection. The tab's mixed audio output is captured and processed through the full DSP chain, so sound is restored without a reload in most cases.

WebRTC / Conferencing Audio

TabDSP shows "WebRTC audio detected" on video conferencing sites like Google Meet, Zoom, or Discord.

How It Works

TabDSP detects when a site creates audio sources from WebRTC media streams (used by conferencing apps). The audio is processed through the same DSP chain as regular media -- EQ, compression, limiting, and metering all apply.

Considerations

  • Latency: Adding DSP processing to real-time conferencing audio may introduce a small delay. For most conferencing use, this is not noticeable, but if you experience echo or sync issues, consider disabling TabDSP during calls.
  • Conferencing audio processing: Many conferencing apps have their own audio processing (echo cancellation, noise suppression, automatic gain control). TabDSP processes the received audio (what you hear), not outgoing audio (your microphone). There should be no conflict with the app's built-in processing.
  • Recommended settings: For conferencing, light EQ adjustments work well. Avoid heavy compression or limiting, which can reduce speech intelligibility.

Sidebar Shows "Visualization Paused"

This is normal behavior, not a bug.

Solution

When viewing TabDSP as a sidebar or standalone window, if the target tab is in the background, the browser pauses animation frames (requestAnimationFrame) in that tab. This stops meter data from flowing to the sidebar. Audio processing is unaffected -- only the visualization pauses. Switch to the target tab to resume real-time visualization.

Modules Appear Bypassed Even When Enabled

Modules may be locked by the freemium tier system.

Solutions

  1. Check your tier: Click the tier badge in the header to see your current tier.
  2. Free tier: Only EQ, spectrum analyzer, and RMS metering are available. Compressor, multiband, limiter, LUFS, and module reordering require paid tiers.
  3. Upgrade: Enter a license key in the License Panel (click the tier badge to open it) or visit the Licensing & Tiers to purchase.

See Licensing & Tiers for full details on feature availability per tier.

License Activation Not Working

License key activation requires an internet connection and available device slots.

Solutions

  1. Check your internet connection -- activation requires reaching the Lemon Squeezy API.
  2. Verify the license key was copied correctly (no extra spaces or missing characters).
  3. Check device limit -- each key supports up to 6 device activations. Deactivate an unused device from another installation.
  4. If the error persists, try again later (the API may be temporarily unavailable).

Custom Presets Disappeared

You saved custom presets but they're gone after restarting Firefox.

Solutions

  1. Use signed .xpi installation: If you loaded TabDSP via "Load Temporary Add-on" (developer mode), storage is cleared on browser restart. Download the signed .xpi from the Downloads page and install permanently.
  2. Check browser storage quota: Firefox may have evicted extension storage. Go to about:preferences#privacy and ensure "Delete cookies and site data when Firefox is closed" is unchecked (or exempt extensions).
  3. Export presets as backup: Use the Export button to save presets as JSON to a file. Import them if they're lost.
▶ Technical details

Where presets live: Presets are stored via browser.storage.local, which provides roughly a 10 MB quota for unlisted extensions. Data persists across sessions for signed extensions installed via .xpi.

Temporary add-on behavior: Extensions loaded via about:debugging → "Load Temporary Add-on" have ephemeral storage. All data is cleared when the extension is removed or the browser restarts — this is the most common reason for "presets disappeared after restart".

Inspecting saved data: In the browser console, open the Storage tab → Extension Storage → tabdsp@soundreaction.com to see the current preset entries.

Spectrum Analyzer Looks Different Than My DAW

TabDSP's spectrum doesn't match the analyzer in your DAW (Pro Tools, Logic, Ableton, etc.).

Explanation

This is expected. TabDSP uses an FFT with constant-Q power summation, which maps linear FFT bins into logarithmic frequency bands. Most DAWs display raw FFT bins on a linear or log scale without constant-Q remapping.

TabDSP spectrum characteristics:

  • 512 log-spaced bins from 20 Hz to 20 kHz
  • Constant-Q power summation (Q=12) — constant relative bandwidth at all frequencies
  • Matches how we perceive pitch (logarithmic, octave-based)
  • Blackman window with coherent gain compensation for accurate absolute levels

Raw FFT characteristics (most DAWs):

  • Constant Hz resolution (e.g., 5.9 Hz per bin at 8192-point / 48kHz)
  • Very high resolution at high frequencies, coarser perceived resolution at low frequencies
  • Standard for engineering analyzers

Both are correct—they just show different perspectives. TabDSP's constant-Q display is more "musical", raw FFT is more "linear".

▶ Technical details

Implementation: An 8192-point FFT is computed by the browser's native audio engine. TabDSP then remaps those bins into 512 logarithmically-spaced output bins using constant-Q power summation with Q=12, giving constant relative bandwidth across the spectrum.

Comparison: This approach is similar in philosophy to FabFilter Pro-Q 4 and Voxengo SPAN, which also combine FFT analysis with log-frequency, constant-Q style displays.

Smoothing: Asymmetric attack (0.3) / release (0.85) smoothing gives fast peak response with a smooth decay, matching professional analyzer behavior.

LUFS Stack Not Showing Data

The LUFS Stack panel shows "--" for all values, or the histogram is blank.

Solutions

  • Click "Analyze" first: LUFS measurement does not start automatically. Click the Analyze button in the LUFS Stack panel to begin collecting data. All values show "--" until analysis is started.
  • Make sure audio is playing: The LUFS meter requires audio to be actively playing through the DSP chain. Paused or stopped audio will not produce measurements.
  • Check your tier: The LUFS Stack is a Professional tier feature. If you are on the Free tier, the LUFS Stack panel will show a locked upgrade prompt.
  • Reset clears everything: If you clicked Reset, all accumulated Momentary, Short-term, Integrated, and LRA measurements are cleared. Click Analyze again to start fresh.
  • Histogram requires time: The histogram visualization requires a few seconds of audio analysis before traces become visible. In SCROLL mode, a 10-second rolling window is displayed. In FIT mode, the entire analysis history is shown.

Still Need Help?

If your issue isn't covered here, try these resources:

  • FAQ - Common questions about features and usage
  • Report an Issue - Bug reports and feature requests
Reporting Bugs

When reporting issues, include: Firefox version, TabDSP version, website URL, steps to reproduce, and any console errors (F12 → Console tab).