Field Notes Journal

Audio Processing Pipeline Overview

The Spectrogram Viewer implements a repeatable audio-processing pipeline designed to make recordings clearer and easier to interpret.

It follows the same general approach as a manual workflow in tools like Audacity, but applies it consistently and automatically.

Each input recording is processed in the following stages:

# Summary Description
1 Detect noise regions The recording is scanned to find short sections that are likely to contain background noise only (quiet and low in signal-band energy) - the noise detection algorithm is documented in more detail, below
2 Build a noise profile These regions are combined into a single sample, representing the background noise in the recording
3 Reduce noise (spectral subtraction) The recording is transformed into the frequency domain, and the estimated noise profile is subtracted from each time slice. A small floor is retained to avoid introducing artefacts
4 High-pass filter Low-frequency rumble and handling noise are removed, focusing the signal on the frequency range where bat calls occur (after time expansion)
5 Normalise The result is scaled to a consistent peak level, making quiet recordings easier to inspect and listen to
6 Output The processed audio is written to disk for further inspection or visualisation

The pipeline is intentionally simple and transparent:

Tool

Spectrogram Viewer

A tool for exploring bat recordings through spectrograms and pulse-level analysis

The analyses presented in this section were developed using the Spectrogram Viewer, a command-line application designed for examining bat echolocation recordings.

The tool combines waveform and spectrogram visualisation with noise reduction, pulse detection, and behavioural call analysis, allowing recordings to be explored in detail.

Structured outputs, including pulse measurements and JSON analysis files, can be exported for downstream analysis and notebook-based workflows.

The application, example workflows, and instructions on how to run it are provided in the GitHub repository.

View on GitHub