Thursday 14 March 2024

Generating acoustic training data in R with sonicscrewdriver

Augmenting data is a common practice in machine learning. It is the process of creating new data from existing data (e.g. by adding noise). This is done to increase the size of the training data and to make the model more robust.

Recent work has created tools for performing data augmentation using the sonicscrewdriver package for R. A guide to using these tools can be found here: Generating acoustic training data in R with sonicscrewdriver, and on the package's website: Augmenting audio data in R with SonicScrewdriveR. The later will be updated to reflect any future changes to the package.

The updated package is already on CRAN: sonicscrewdriver R package.

All of the generateX() functions (generateNoise(), generateTimeMask(), generateTimeShift(), more to come) in sonicscrewdriver are designed to operate on Wave-like objects (Wave or WaveMC from tuneR of their Tagged equivalents) or a list of Wave-like objects. Similarly, all of these functions return a list of Wave-like objects. This means you can combine these functions to create complex data augmentation pipelines.