Module of utilities for use with AudioMoth and recordings created by AudioMoth.
npm install audiomoth-utilsjavascript
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):
`javascript
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.
`javascript
{
success: false,
error: 'Could not open input file.'
}
`
---
Split an AudioMoth WAV file into a number of smaller files:
`javascript
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:
`javascript
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:
`javascript
audiomothUtils.aligner.initialise(inputPath);
`
Then align each individual WAV file.
`javascript
audiomothUtils.aligner.align(inputPath, outputPath, prefix, onlyProcessFilesBetweenFixes, (progress) => {
console.log(progress + '% completed');
}));
`
Finally, generate the summary GPS.CSV output file.
`javascript
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:
`javascript
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:
`javascript
audiomothUtils.summariser.initialise();
`
Then provide the path to the parent folder and each file:
`javascript
audiomothUtils.summariser.summarise(folderPath, filePath, (progress) => {
console.log(progress + '% completed');
}));
`
Finally, write the summary CSV file to a destination:
`javascript
audiomothUtils.summariser.finalise(outputPath);
``