<p><a href="http://opensoundscape.org/en/latest/" rel="noreferrer">OpenSoundscape</a> is an AMAZING Python package from Tessa Rhinehart and the Kitzes lab! You can view/filter/manipulate audio &amp; spectrograms, build training datasets, try out pre-trained CNNs, try your own custom CNNs, etc. I really like their documentation, lots of great beginner-friendly tutorials that are accessible to anyone and really go step-by-step through each bit of code.</p>
<p>In terms of learning Python in general, I started with some DataCamp online courses/modules. You get DataCamp free for a few months if you are a student but there's also free content available &amp; free trials, etc. The modules are helpful because it's a bit of people explaining concepts but mostly going through activities, getting code examples and then having to write your own based on said example, etc. There's a coding GUI built into the system that looks a bit like VS Code. And there are lots of modules on deep learning, ML, etc. with PyTorch and TensorFlow.</p>
<p>And I second Jamie's point on koogu &amp; Ketos. I'd also add <a href="https://github.com/PEM-Humboldt/soundclim" rel="noreferrer">Soundclim</a> to that list of Python packages.</p>

CC BY-SA 4.0
2022-07-13T13:19:34.240Z
2022-07-13T13:19:34.240Z
Carly Batist
<p>CNNs are a type of artificial neural network based on image recognition, so you might divide your time into: (1) signal processing and augmentation, where you are going to decide the best way to visualise your signal (i.e., turn your signal into images), and also to increase your library with specific augmentation techniques for sound such as mixing target sounds with noise; and (2) on the framework you are going to use to build your CNNs. In Python, you can use many packages to turn your annotated sounds into images such as Librosa and IPython. These packages also have tools to be used in augmentation procedures (Stowell et al., 2019). Then, you can think of using PyTorch, TensorFlow, Theano, Keras, etc. to build your models and predict your testing (unseen) data.</p>
<p>If you are already familiarised with signal processing, I would recommend starting with <a href="https://www.fast.ai/" rel="noreferrer">FastAI</a> courses, which are free. This is a very integrated package based on PyTorch (Python), which is easy to build your own models then to understand in practice what is going on inside the machine. Thus, it might be useful for you to build customised CNNs based on your data/research question.</p>
<p>Stowell D, Petrusková T, Šálek M, Linhart P (2019). Automatic acoustic identification of individuals in multiple species: improving identification across recording conditions. Journal of The Royal Society Interface 16, 20180940.</p>

CC BY-SA 4.0
2022-07-11T16:26:42.017Z
2022-07-11T16:26:42.017Z
Guilherme Frainer
<p>I am certainly not an expert but I found this free 'Deep Learning (for Audio) with Python' really useful to understand the implementation of neural networks in python.</p>
<p><a href="https://www.youtube.com/playlist?list=PL-wATfeyAMNrtbkCNsLcpoAyBBRJZVlnf" rel="noreferrer">https://www.youtube.com/playlist?list=PL-wATfeyAMNrtbkCNsLcpoAyBBRJZVlnf</a></p>

CC BY-SA 4.0
2022-07-11T08:33:34.280Z
2022-07-11T08:33:34.280Z
DMAD Tim
<p>I am finally getting into signal identification and would like to test Convolutional Neural Network (CNN). I am working in R and willing to do Python. What packages are you using in those two softwares? and do you know of any grey litterature ressources (classes/tutorial/examples) about CNN that was helpful to you?</p>
<p>As recommended in a comment here I list the species of interest: crickets, birds but I would be interested in your recommendation even if you do work on other groups.</p>

<machine-learning><r><cnn><python>
Convolutional Neural Network (CNN) where to start?
# Convolutional Neural Network (CNN) where to start?

(Asked by: username_0 on 2022-07-11)

I am finally getting into signal identification and would like to test Convolutional Neural Network (CNN). I am working in R and willing to do Python. What packages are you using in those two softwares? and do you know of any grey litterature ressources (classes/tutorial/examples) about CNN that was helpful to you?

As recommended in a comment here I list the species of interest: crickets, birds but I would be interested in your recommendation even if you do work on other groups.

**Tags:** machine-learning, r, cnn, python


---

## 3 answers

### Answer by username_1 on 2022-07-13. Score: 7

[OpenSoundscape](http://opensoundscape.org/en/latest/) is an AMAZING Python package from Tessa Rhinehart and the Kitzes lab! You can view/filter/manipulate audio & spectrograms, build training datasets, try out pre-trained CNNs, try your own custom CNNs, etc. I really like their documentation, lots of great beginner-friendly tutorials that are accessible to anyone and really go step-by-step through each bit of code.

In terms of learning Python in general, I started with some DataCamp online courses/modules. You get DataCamp free for a few months if you are a student but there's also free content available & free trials, etc. The modules are helpful because it's a bit of people explaining concepts but mostly going through activities, getting code examples and then having to write your own based on said example, etc. There's a coding GUI built into the system that looks a bit like VS Code. And there are lots of modules on deep learning, ML, etc. with PyTorch and TensorFlow.

And I second Jamie's point on koogu & Ketos. I'd also add [Soundclim](https://github.com/PEM-Humboldt/soundclim) to that list of Python packages.


---

### Answer by username_2 on 2022-07-11. Score: 6

CNNs are a type of artificial neural network based on image recognition, so you might divide your time into: (1) signal processing and augmentation, where you are going to decide the best way to visualise your signal (i.e., turn your signal into images), and also to increase your library with specific augmentation techniques for sound such as mixing target sounds with noise; and (2) on the framework you are going to use to build your CNNs. In Python, you can use many packages to turn your annotated sounds into images such as Librosa and IPython. These packages also have tools to be used in augmentation procedures (Stowell et al., 2019). Then, you can think of using PyTorch, TensorFlow, Theano, Keras, etc. to build your models and predict your testing (unseen) data.

If you are already familiarised with signal processing, I would recommend starting with [FastAI](https://www.fast.ai/) courses, which are free. This is a very integrated package based on PyTorch (Python), which is easy to build your own models then to understand in practice what is going on inside the machine. Thus, it might be useful for you to build customised CNNs based on your data/research question.

Stowell D, Petrusková T, Šálek M, Linhart P (2019). Automatic acoustic identification of individuals in multiple species: improving identification across recording conditions. Journal of The Royal Society Interface 16, 20180940.


---

### Answer by username_3 on 2022-07-11. Score: 5

I am certainly not an expert but I found this free 'Deep Learning (for Audio) with Python' really useful to understand the implementation of neural networks in python.

<https://www.youtube.com/playlist?list=PL-wATfeyAMNrtbkCNsLcpoAyBBRJZVlnf>


---

