The End

Seisplotjs.filter

let butterworth = seisplotjs.filter.createButterworth(
                           4, // poles
                           seisplotjs.filter.LOW_PASS,
                           0, // low corner
                           1, // high corner
                           1/seismogram[0].sampleRate() // delta (period)
                  );

let filteredSeismogram = [];
for(let i=0; i < seismogram.length; i++) {
  let s = seismogram[i].clone();
  butterworth.filterInPlace(s.y());
  filteredSeismogram.push(s);
}

let fftOut = seisplotjs.filter.calcDFT(seismogram[0].y(), seismogram[0].numPoints() );
Raw seismogram
Filtered seismogram, butterworth lowpass 1Hz
DFT seismogram