This repository mirrors the NSNSD Acoustic Monitoring Toolbox (AMT) — originally a C# executable used to process, visualize, and summarize acoustic data. Due to loss of in‑house C# expertise, this project ports core AMT workflows to Python, enabling easier maintenance, extension, and integration with modern data pipelines.
NOTE: This mostly replaces Type1-821envtools repository https://github.com/emeyer34/Type1-821envtools because that toolbox was meant to transition 821 and hobo data into AMT, which required several slight changes in formatting of raw data prior to AMT injestion. The AMT2PY makes this obsolute due to 1.) addressing NVSPL creation in python instead of AMT; and 2.) adopting a more flexible wind data injestion (time step and formatting) in python.
The current focus is on:
- Standardized file organization
- SPL/NVSPL preparation
- Merging meteorological (wind) data
- Processing workflows for Larson Davis 831 and 821‑env acoustic monitoring systems
The Python tools in this repository provide functionality equivalent to key AMT components:
- Merge LD821‑ENV SPL logs into a single
.821file with correct header and offsets - Merge wind logger data with
.821files during NVSPL conversion - Merge LD831 SPL logs into a single
.831file with correctNPSLD831header and offsets - Merge wind logger data with
.831files during NVSPL conversion
These workflows replicate AMT behavior while offering greater flexibility and transparency.
- Install Python (via Company Portal)
- Install Git (via Company Portal)
- Open Git Bash and navigate to the directory where you want to store the project:
cd [path to the place where you would like to save the project]- Clone the repository:
git clone https://github.com/emeyer34/AMT2PY.git- Fetch any updates:
git fetch- Pull the latest changes:
git pull origin main- Open a terminal and navigate to the project:
cd [path where you have saved the project]- Pull updates:
git pull- If you encounter conflicts or pull errors due to local changes, you can overwrite your local version:
git fetch --all
git reset --hard origin/masterUse README_DataDownload.md for detailed instructions on downloading data from 821‑ENV systems. This includes SPL logs, MET (wind) data, and required deployment folder structure.
Below is a summary of included scripts and their roles in the processing pipeline.
- Combines all SPL Time History files exported from G4 Utility
- Produces a single analysis‑ready SPL file from the entire deployment
- Applies standardized naming (Site, deployment date, system, etc)
- Combines wind data collected by an ultrasonic anemometer by a Feather MC data logger
- Converts UTC → local time and includes optional Daylight Savings offset
- Outputs a cleaned, standardized MET file with serial number and deployment date
- Converts combined SPL and MET data to NVSPL
- Merges one‑second SPL with one‑second wind speed
- After creating NVSPL files, users may return to AMT for final processing, graphing, and analysis
Purpose:
- Recursively identifies folders containing
OverAll,SLog, andTHistfiles - Merges these files into a single
.831file with properNPSLD831header and offsets - Renames output to:
SPL_<SITE>_<yyyy_MM_dd_HHmmss>.831Saved two levels above the THist folder
- Supports optional timestamp adjustments for time‑history records
Quick Start:
python 831Renamer.py /path/to/root --site ABC
# Preview only:
python 831Renamer.py /path/to/root --site ABC --dry-run
# Adjust timestamps:
python 831Renamer.py /path/to/root --site ABC --new-date "2025-04-10 12:34:56"Purpose:
- Converts
.831files (legacy & new formats) to hourly NVSPL.txtfiles - Optionally merges external wind data using bin-repeat, forward‑fill, or nearest‑neighbor methods
Configuration: Edit constants at the top of the script:
INPUT_PATHOUTPUT_PATHMERGE_METMET_CSV_PATH
Quick Start:
# Basic conversion (SPL only):
python 831_to_NVSPL_external_wind_log.py
# With wind merge:
MERGE_MET = True
MET_CSV_PATH = "path/to/met.csv"- Python 3.9+
- Standard library only
- Optional:
tzdatafor timezone handling
- Easier to maintain than C#
- Transparent, readable workflows
- Simple extensibility for future NSNSD metadata, QA/QC tools, and automated reporting
- Compatible with scientific computing tools and Jupyter workflows
- Original AMT C# implementation
- Larson Davis LD831/LD821 data specifications