When training a Neural Network for bioacoustics classification tasks I usually follow a data augmentation pipeline which is composed of:
Changes in sound to noise ratio: for instance, if my sound track is composed of a bird call and some background noise I would change the SNR so that bird call might appear louder than on the original track.
Adding some random noise: Adding a bit of white noise to the sound track. My idea in this augmentation is that since each recorder device brands have some specific "base sounds" (I'm not sure of the exact term), adding random noise might reduce the chances of the model overfitting on certain devices.
Random crop and padding: Since neural networks require a fixed-size input, I crop a part of the audio segment I am interested in and add some padding to the size of the spectrogram is coherent with the model's first layer. Usually, on a segment of 4 seconds I would crop a random segment of 3 seconds and add 1 second of padding.
Some recent papers I have read also use an augmentation technique most use in the visual domain, namely random flip or time inversion define as:
“Inversion of a track along its time axis relates to the random flip of an image, which is an augmentation technique that is widely used in the visual domain.” Guzhov et al., 2021
Even though the authors suggest that this augmentation improved the performance of the model, I am unsure how much sense it make to add this augmentation type. For instance, bird calls always folow the same sequence and using random flip on a bird call might cause the call sequence to be "broken".
Does anyone have any thought on random flip? And more generally, is there other augmentation strategies you are using in your pipeline?