audiomoth-utils
v1.8.0
Published
Module of utilities for use with AudioMoth and recordings created by AudioMoth.
Downloads
87
Readme
AudioMoth-Utils
A Node.js library for performing various tasks involving AudioMoth and files created by the AudioMoth. The module is hosted on npm under the name 'audiomoth-utils'.
Usage
The module should be imported as normal:
var audiomothUtils = require('audiomoth-utils');Expanding, Splitting, Downsampling, Aligning and Syncing
Expand an AudioMoth T.WAV recording (a recording with amplitude thresholding or frequency triggering applied):
audiomothUtils.expand(inputPath, outputPath, prefix, expansionType, maximumFileDuration, generateSilentFiles, alignToSecondTransitions, (progress) => {
console.log(progress + '% completed');
}));To be identified as an AudioMoth T.WAV file, a recording must fit the regex /^([0-9A-F]{16}_)?((\d{8}_)?\d{6})T\.WAV$/ and have the correct WAV header comment.
Note that all the functions in this library return an object with a boolean indicating success, and a string describing any errors that have occurred. For example, in the event that an input file could not be opened, the following object is returned.
{
success: false,
error: 'Could not open input file.'
}Split an AudioMoth WAV file into a number of smaller files:
audiomothUtils.split(inputPath, outputPath, prefix, maximumFileDuration, (progress) => {
console.log(progress + '% completed');
}));To be identified as an AudioMoth WAV file, a recording must fit the regex /^([A-Za-z-_0-9]+_)?(\d{8}_\d{6})(_SYNC)?\.WAV$/ and have the correct WAV header comment.
Downsample an AudioMoth WAV file to a lower sample rate:
audiomothUtils.downsample(inputPath, outputPath, prefix, requestedSampleRate, (progress) => {
console.log(progress + '% completed');
}));To be identified as an AudioMoth WAV file, a recording must fit the regex /^([A-Za-z-_0-9]+_)?(\d{8}_\d{6})((_\d{3})|(_SYNC))?\.WAV$/.
Align an AudioMoth WAV file recorded with the standard firmware. First parse the associated GPS.TXT file:
audiomothUtils.aligner.initialise(inputPath);Then align each individual WAV file.
audiomothUtils.aligner.align(inputPath, outputPath, prefix, onlyProcessFilesBetweenFixes, (progress) => {
console.log(progress + '% completed');
}));Finally, generate the summary GPS.CSV output file.
audiomothUtils.aligner.finalise(outputPath);To be identified as an AudioMoth WAV file, a recording must fit the regex /^([0-9A-F]{16}_)?(\d{8}_\d{6})\.WAV$/ and have the correct WAV header comment.
Synchronise an AudioMoth WAV file recorded using the AudioMoth-GPS-Sync firmware:
audiomothUtils.sync(inputPath, outputPath, prefix, resampleRate, resolveWAV, resolveGPS, (progress) => {
console.log(progress + '% completed');
}));To be identified as an AudioMoth WAV file, a recording must fit the regex /^([0-9A-F]{16}_)?(\d{8}_\d{6})\.WAV$/ and have the correct WAV header comment. The function will check for, and load, the associated CSV file generated by the AudioMoth-GPS-Sync firmware.
Summarising AudioMoth Files
To summarise a folder of AudioMoth files first clear any previous summary:
audiomothUtils.summariser.initialise();Then provide the path to the parent folder and each file:
audiomothUtils.summariser.summarise(folderPath, filePath, (progress) => {
console.log(progress + '% completed');
}));Finally, write the summary CSV file to a destination:
audiomothUtils.summariser.finalise(outputPath);Example applications using this module
License
Copyright 2017 Open Acoustic Devices.
