Sound Module Design Explanation
Technology Description
For the machine learning model we used a pre-trained Convolutional Neural Network called Resnet152 from the Deep Residual Learning for Image Recognition paper. The input for the machine learning model is spectrograms, which are visual representations of sound data. To form a base of animal classification we trained the model on a dataset of 1,200 well-labeled animal noises from Kaggle’s Rainforest Connection Species Audio Detection competition. Then we trained the model on less well labeled animal noises from the same dataset, and X audio files from the Macaulay Library.
We also created a Python program, using the library pyroomacoustics to synthesize sound data. Since we plan to use the sound data from two microphones, in the future we need to train the model on the data from two microphones. Pyroomacoustics allows us to place the sound source and the microphones in positions of our choice. Then, the sound source is assigned a mono sound file, and the sound is simulated, outputting the received sound from the microphones in separate files. The library allows us to simulate sound delay, decrease in sound intensity over time, and even certain environment conditions such as temperature, humidity, and pressure (all of which affect the way sound travels). Simply put, we can synthesize realistic data from a single mono file to train our model on the recordings from two microphones. This allows for easier data augmentation, because we can use the same sound file in different positions and environments. In turn, our model becomes better trained on real life wildlife sounds.
