You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1.9 KiB



NoiseCut is a Python package for denoising seismic records and specializes in denoising Ocean Bottom Seismometer (OBS) data. It effectively separates long-lasting narrowband signals from broadband transients using harmonic-percussive separation algorithms (Zali et al., 2021 & Zali et al., 2023). The advantage of NoiseCut is that it preserves the earthquake signal with its entire frequency and amplitude after denoising.




Usage example

After installing the package to denoise a signal, you can use the following code. Outputs are the denoised signal and a figure showing the spectrogram of the input signal, the separated noise, and the denoised signal in the frequency range of [0-1] Hz.

import noisecut
import obspy

st ='file_name')
hps_trace, spectrograms = noisecut.noisecut(st[0], ret_spectrograms=True)

Installation instructions

You can clone the public repository:

git clone git://

Once you have a copy of the source, you can cd to NoiseCut directory and install it with:

python install

You need the Numpy version of 2.21.


NoiseCut is licenced under the GNU Affero General Public License (AGPLv3).