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.

Scilab can load a WAV recording, expose its waveform and spectrum, design digital filters, process mono or stereo channels, and write a new WAV file. The important qualification is that a conventional filter removes selected frequency ranges; it does not know whether a sound in that range is noise or wanted speech, music, or ambience. Diagnose the interference first, then apply the narrowest filter that solves the problem.

The official Scilab documentation currently identifies 2026.1.0 as the recommended release, while several function pages are published in the 2026.0.1 documentation branch. See Scilab Signal Processing and the signal-processing function catalog.

What you need

  • Scilab and an ordinary PCM or normalized floating-point WAV file.
  • The original recording kept unchanged as a backup.
  • The recording’s sample rate, channel count, and bit depth; do not assume 44.1 kHz, stereo, or 16-bit audio.

Scilab is particularly useful when you want a repeatable script or are learning DSP. It is less suitable than a restoration tool for clicks, clipping, changing broadband noise, or overlapping voices.

Identify the noise before choosing a filter

Noise Typical symptom First option Main risk
Low-frequency rumble Handling noise, traffic, HVAC vibration High-pass Thin voice or lost bass
High-frequency hiss Tape, preamp, or air-conditioning noise Gentle low-pass Dull consonants and music
Mains hum Narrow peaks near 50/60 Hz and harmonics Notch or band-stop Ringing or removed bass fundamentals
Narrow whistle One or a few sharp spectral lines Narrow notch Removal of a wanted tone
Broadband stationary noise Noise across much of the spectrum Wiener or spectral processing A fixed filter cannot separate overlapping speech and noise
Clicks and pops Short transients De-click or interpolation Filtering smears the transient
Clipping Flattened peaks and harsh distortion Declipping/restoration Filtering cannot reconstruct missing samples

“Noise” is not a single technical category. A filter decision depends on whether the interference is narrow-band, stationary, broadband, transient, or changing over time.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
BESIGN Ground Loop Noise Isolator for Car Audio/Home Stereo System with 3.5mm Audio Cable
  • Ground loop filter noise isolator, eliminating the hiss, buzz and interference caused by ground loops which happens when the audio source and the speaker use the same power source in some car speakers / home stereo systems when using the Bluetooth receiver.
  • You can enjoy the clean and clear music/audio by eliminating the current noise in some car speakers / home stereo systems.
  • Works with any device that has a 3.5mm jack including smartphones, tablets, mp3 player, speakers, when grounding issues persist. You could also use with a Bluetooth Receiver/Bluetooth Hands-free Car Kit in your Car Audio System/Home Stereo.
  • Being so mini, portable and light, plug and play, no battery need or button, all you need to do is to plug in the ground loop isolator
  • Portable, light-weight and plug and play without any complicated setup. Package Contents: Besign Ground Loop noise Isolator with 3.5mm Audio Cable, User Manual.

Load and inspect the WAV file

wavread returns amplitudes in the range -1 to +1 and stores one channel per row. It also returns the sampling frequency and bit depth, as documented in Scilab’s wavread reference.

inputFile = "noisy_recording.wav";

[y, Fs, bits] = wavread(inputFile);

[nChannels, nSamples] = size(y);

mprintf("Channels: %dn", nChannels);
mprintf("Samples per channel: %dn", nSamples);
mprintf("Sampling rate: %d Hzn", Fs);
mprintf("Bit depth: %d bitsn", bits);
mprintf("Duration: %.2f secondsn", nSamples / Fs);

Digital frequencies are bounded by the Nyquist frequency, Fs/2. Thus 44,100 Hz audio has a 22,050 Hz Nyquist limit, and 48,000 Hz audio has a 24,000 Hz limit. Every cutoff must be below that limit.

View the waveform

t = (0:nSamples-1) / Fs;

scf(1);
clf();

for k = 1:nChannels
    subplot(nChannels, 1, k);
    plot(t, y(k, :));
    xtitle("Original channel " + string(k), "Time (s)", "Amplitude");
end

Inspect frequency content

A waveform rarely tells you where hum or hiss lies. Use a representative segment, apply a window for a steadier FFT, and inspect a spectrogram with mapsound when the noise changes over time. Scilab also documents sound-file analysis functions.

x = y(1, :);
N = length(x);

X = fft(x);
P = abs(X(1:floor(N/2)+1));
f = (0:floor(N/2)) * Fs / N;

scf(2);
clf();
plot(f, P);
xtitle("Magnitude spectrum", "Frequency (Hz)", "Magnitude");

Look for isolated lines (hum or whistles), excess energy at the bottom (rumble), or a broad high-frequency shelf (hiss). A narrow peak is a reason to try a notch—not a reason to remove an entire broad band.

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

Choose FIR or IIR

FIR

Finite impulse response filters are transparent to inspect and straightforward to apply with filter(h,1,x). Symmetric FIR designs can provide linear phase and predictable delay, which is useful for offline dialogue or music processing. Sharp transitions require more taps, increasing computation, ringing risk, and delay.

Rank #2
RECOIL MGLI 2-Channel RCA Ground Loop Noise Isolator Car Amp Filter Audio
  • Designed exclusively to eliminate ground loop hum and alternator whine between car audio head units and amplifiers. This product is NOT for radio static, antenna noise, or speaker distortion. Please confirm your noise type before purchasing to ensure this product is right for your situation.
  • Made from High Fidelity Permalloy Transformers to minimize signal loss, unlike other old ground loop isolators with HUGE DISTORTION under 100Hz.
  • Close to perfect response of +/- .03 db from 2 to 20,000Hz
  • Super compact design for easy installation in tight space.
  • Split pin RCA connector with pure Oxygen Free Copper spiral shielding wire

IIR

Infinite impulse response filters can achieve sharp transitions with fewer coefficients, but their phase is generally nonlinear and high orders can be numerically sensitive. Scilab’s iir supports Butterworth, Chebyshev I and II, and elliptic low-pass, high-pass, band-pass, and stop-band designs.

Frequency units require care. The iir documentation requires discrete cutoff values in 0 < frq < .5, expressed as a fraction of the sampling frequency. A 3,000 Hz cutoff is therefore 3000/Fs, not 3000/(Fs/2). The current ffilt page does not clearly state its cutoff convention; use help ffilt in the installed release before passing values, or use the explicit FIR construction below.

Scilab’s general filter implementation is [y, zf] = filter(B, A, x [, zi]); B is the numerator, A the denominator, and zf the final state for block processing. See the filter reference. Do not treat an iir design object as an already verified B,A pair without checking the release-specific return format.

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

Complete FIR low-pass workflow

This windowed-sinc example reduces high-frequency energy while retaining most speech content. Set fc below Fs/2 and choose it from your spectrum and listening tests.

// Read the recording
[y, Fs, bits] = wavread("noisy_recording.wav");

fc = 8000;       // cutoff in Hz
N = 101;         // odd number of taps
M = (N - 1) / 2;
n = -M:M;
h = zeros(1, N);

for k = 1:N
    if n(k) == 0 then
        h(k) = 2 * fc / Fs;
    else
        h(k) = sin(2 * %pi * fc * n(k) / Fs) / (%pi * n(k));
    end
end

// Hamming window
w = 0.54 - 0.46 * cos(2 * %pi * (0:N-1) / (N-1));
h = h .* w;
h = h / sum(h);  // normalize DC gain

// Filter each channel independently
clean = zeros(y);
for ch = 1:size(y, 1)
    clean(ch, :) = filter(h, 1, y(ch, :));
end

// Guard against out-of-range WAV samples
peak = max(abs(clean));
if peak > 1 then
    clean = clean / peak;
end

wavwrite(clean, Fs, bits, "cleaned_recording.wav");

A 101-tap symmetric FIR has approximately (N-1)/2 samples of group delay: about 1.04 ms at 48 kHz. More taps narrow the transition band but add delay and computation. The peak normalization prevents clipping, but it can make the result louder; compare levels rather than normalizing automatically in every workflow.

Rank #3
Conext Link RCA Stereo 2 Channel Ground Loop Isolator Signal Noise Filter Suppressor Reducer Alternator for Car Audio Stereo(13600)
  • Eliminates Humming and Buzzing Between Audio Source and Amplifier Due to Ground Loop Issues
  • Filters Out DC Current in the Signal Path
  • Cylindrical Metal Case with Heat Shrink Tube. Dimension: Dia. 36mm, 62mm Long
  • Contain 28cm Long Interconnects, 2 Male and 2 Female RCA Gold Connectors
  • 20 Amp, Input 30 Watt Max 60 Watt, Frequency: 20-30K Hz

High-pass filtering for rumble

For speech, a starting cutoff around 60–120 Hz often targets handling noise; HVAC rumble may justify roughly 80–150 Hz. These are auditioning ranges, not universal settings. Full-range music usually needs a lower cutoff.

fc = 100;
N = 101;
M = (N - 1) / 2;
n = -M:M;
lp = zeros(1, N);

for k = 1:N
    if n(k) == 0 then
        lp(k) = 2 * fc / Fs;
    else
        lp(k) = sin(2 * %pi * fc * n(k) / Fs) / (%pi * n(k));
    end
end

w = 0.54 - 0.46 * cos(2 * %pi * (0:N-1) / (N-1));
lp = lp .* w;
lp = lp / sum(lp);

// Spectral inversion creates a high-pass FIR
hp = -lp;
hp(M + 1) = hp(M + 1) + 1;

cleanHighPass = zeros(y);
for ch = 1:size(y, 1)
    cleanHighPass(ch, :) = filter(hp, 1, y(ch, :));
end

Notch filtering for mains hum or a whistle

First locate the narrow peak. Electrical systems commonly produce a fundamental near 50 or 60 Hz plus harmonics at 100/120 Hz, 150/180 Hz, and higher. Choose the actual measured frequency, use the narrowest practical stop-band, listen, then recheck the spectrum. Add harmonic notches only when they are audible and stationary. A broad notch can remove wanted bass or voice energy and a very sharp filter can ring around transients.

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

Scilab lists stop-band designs through its filter catalog, ffilt, and iir. Because cutoff normalization for the current ffilt page is not explicit, verify it with the installed help or construct the notch coefficients deliberately rather than silently passing hertz.

Process stereo without corrupting channels

The WAV matrix has one row per channel. Apply identical coefficients to each row unless you have a specific reason to alter the stereo image:

clean = zeros(y);
for ch = 1:size(y, 1)
    clean(ch, :) = filter(h, 1, y(ch, :));
end

Never flatten a stereo matrix into one vector: that would join the end of one channel to the beginning of the other and contaminate both signals.

Rank #4
ZIOCOM Ground Loop Noise Isolator, Noise Filter (1 Pack)
  • Eliminating Buzzing Noise : Eliminating the buzzing noise, caused by ground loops which happens when the audio source and the speaker use the same power source in some car speakers / home stereo systems when using the Bluetooth receiver.
  • Working Principle: Filters out noise instantly for clear, uninterrupted, uncompromised sound by eliminating the current noise in some car speakers / home stereo systems
  • Plug and Play: Nifty little gadget that just plugs in; no other setup needed.
  • Wide Compatibility: Works with any audio device that has 3.5mm audio jacks, for your Car Audio System/Home Stereo.
  • Note: The Ground Loop Isolator connect to the AUX Jack in car to eliminate noise.You will enjoy good quality sound when use it with Ground Loop Noise isolator.

Export and validate the result

wavwrite expects amplitudes in -1 to +1 and supports explicit sample-rate and 8-, 16-, 24-, or 32-bit output settings.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mprintf("Original peak: %.6fn", max(abs(y)));
mprintf("Filtered peak: %.6fn", max(abs(clean)));

scf(3);
clf();
subplot(2, 1, 1);
plot(y(1, :));
xtitle("Original signal");
subplot(2, 1, 2);
plot(clean(1, :));
xtitle("Filtered signal");

wavwrite(clean, Fs, bits, "cleaned_recording.wav");

[check, Fs2, bits2] = wavread("cleaned_recording.wav");
mprintf("Exported sample rate: %d Hzn", Fs2);
mprintf("Exported bit depth: %d bitsn", bits2);
mprintf("Exported peak: %.6fn", max(abs(check)));
  • Listen to original and filtered files at matched loudness.
  • Check speech consonants, transients, ringing, and stereo balance.
  • Inspect the first and last sections for startup and boundary transients.
  • Confirm that the exported metadata matches the intended sample rate and bit depth.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Understand delay and edge effects

filter starts with a zero initial state unless you provide one, so the beginning can contain a transient. The end is also affected because a finite recording has no future samples. For offline FIR work, allow margin, pad the signal when clean boundaries matter, and trim the group delay when sample alignment is required. A causal filter is not zero-latency.

Troubleshoot common failures

The output sounds dull

Raise the low-pass cutoff or use fewer taps; the filter may be removing wanted sibilance and brightness along with hiss.

The voice sounds thin

Lower the high-pass cutoff. Compare against the unprocessed file, especially when the speaker’s voice contains useful low-frequency energy.

Hum remains

Measure the actual peak, check whether it is 50 or 60 Hz, inspect harmonics, and confirm that the notch is not so narrow that frequency drift passes through.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Best Value
BOSS Audio Systems B25N Car Sound Noise Filter, Ground Loop Isolator
  • Reduces High Pitched Whine Alternator Noise caused by the car's electrical system
  • Ground Loop Isolator Noise Filter
  • Always Use High Quality RCA Cables for your Audio System
  • Dimensions: 3.4 x 1.5 x 1.5, Unit Weight: .30 Lbs. Tips: Ground each amplifier independently. Same thing if you have added stiffening capacitors, go to a separate ground for the cap

Ringing appears

Use a lower-order filter or a wider transition band. Very sharp filters have longer impulse responses and can smear impulses.

The output clips

Inspect max(abs(clean)) before writing. Reduce gain or normalize deliberately, documenting the level change.

Stereo is unbalanced

Verify that every channel uses the same coefficients and that rows—not columns—are being filtered.

An IIR script fails

Check the installed iir help for its returned representation and convert it to verified numerator and denominator vectors before calling filter(B,A,x). Also check that each cutoff is normalized to the documented 0-to-0.5 range.

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

When a fixed filter is not enough

Low-pass, high-pass, and notch filters attenuate frequency regions; they cannot reliably separate speech from noise occupying the same time-frequency region. Changing noise, echoes, coughs, clicks, clipping, and overlapping conversations need different algorithms. Scilab’s signal-processing tools include FFT, power spectral density, FIR/IIR design, and related methods, so it is a strong environment for developing spectral subtraction, Wiener, or adaptive processing. A dedicated restoration application is more practical when you need de-clicking, declipping, or rapid visual repair.

Keep the original, diagnose before filtering, make the smallest spectral change that solves the identified problem, and validate by both measurement and listening.

Quick Recap

Bestseller No. 2
RECOIL MGLI 2-Channel RCA Ground Loop Noise Isolator Car Amp Filter Audio
RECOIL MGLI 2-Channel RCA Ground Loop Noise Isolator Car Amp Filter Audio
Close to perfect response of +/- .03 db from 2 to 20,000Hz; Super compact design for easy installation in tight space.
$17.99
Bestseller No. 3
Conext Link RCA Stereo 2 Channel Ground Loop Isolator Signal Noise Filter Suppressor Reducer Alternator for Car Audio Stereo(13600)
Conext Link RCA Stereo 2 Channel Ground Loop Isolator Signal Noise Filter Suppressor Reducer Alternator for Car Audio Stereo(13600)
Filters Out DC Current in the Signal Path; Cylindrical Metal Case with Heat Shrink Tube. Dimension: Dia. 36mm, 62mm Long
$9.09
Bestseller No. 4
ZIOCOM Ground Loop Noise Isolator, Noise Filter (1 Pack)
ZIOCOM Ground Loop Noise Isolator, Noise Filter (1 Pack)
Plug and Play: Nifty little gadget that just plugs in; no other setup needed.
$9.59
Bestseller No. 5
BOSS Audio Systems B25N Car Sound Noise Filter, Ground Loop Isolator
BOSS Audio Systems B25N Car Sound Noise Filter, Ground Loop Isolator
Reduces High Pitched Whine Alternator Noise caused by the car's electrical system; Ground Loop Isolator Noise Filter
$24.99

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.