Skip to content
Olexandr Konovalov edited this page Mar 9, 2023 · 6 revisions

ARTwarp

DOI

ARTwarp is a MATLAB-based programme for the automated categorisation of tonal animal sounds. It has been tested successfully [3] for bottlenose dolphin whistles and killer whale calls, but will be applicable to any sound that can be described by frequency contours.

The categorisation algorithm combines dynamic time-warping [1] to measure contour similarity with an Adaptive Resonance Theory (ART) neural network to group sounds into different categories. The programme provides categorisation details, as well as a reference contour representing the typical frequency shape of each category.

ARTWarp code has been run successfully using MATLAB 2016a and 2016b. Later MATLAB releases are not currently supported.

  1. Buck, J. R. & Tyack, P. L. 1993. A quantitative measure of similarity for Tursiops truncatus signature whistles. Journal of the Acoustical Society of America, 94, 2497-2506. https://doi.org/10.1121/1.407385

  2. Deecke, V. B., Ford, J. K. B. & Spong, P. 1999. Quantifying complex patterns of bioacoustic variation: Use of a neural network to compare killer whale (Orcinus orca) dialects. Journal of the Acoustical Society of America, 105, 2499-2507. https://doi.org/10.1121/1.426853

  3. Deecke, V. B. & Janik, V. M. 2006. Automated categorization of bioacoustic signals: Avoiding perceptual pitfalls. Journal of the Acoustical Society of America, 119, 645-653. https://doi.org/10.1121/1.2139067

Authors

with contributions by

Downloads

To download the latest official release of ARTWarp, go to its GitHub releases page.

Installing MATLAB and running ARTwarp

  1. Install MATLAB (We recommend R2016b), with the minimal set of toolboxes including
  • Audio System
  • DSP System
  • Neural Network
  • Signal Processing
  • Statistics and Machine Learning
  1. Get the archive with the ARTwarp release as explained in the "Downloads" above. We will assume that after its unpacking you have a directory called ARTwarp, containing files README.md, LICENSE, and other files.

  2. To prepare the data for the analysis, place a directory with the data files (which may be in .csv or .ctr format) inside the ARTwarp directory.

  3. Start MATLAB. Click the button with a folder and a green arrow located under the "File" horizontal bar in the top left corner, and select the ARTwarp directory you have cloned or extracted. This will set the current directory to ARTwarp, and will display the list of files in this directory in the left panel.

  4. In the MATLAB command window (located in the bottom part of the MATLAB window), type ARTwarp_csv and press the "Enter" key. The ARTwarp window should appear.

  5. In the ARTwarp window, open the "File" menu in the top left corner and then one of the two "Load Frequency Contours" items depending on the data format, then select the directory with the data files.

  6. Now select "Analyze" -> "Run Categorisation" to feed the neural net with data. After confirming categorisation parameters, you will be able to see whistles being put into groups or be reclassified. Each neuron represents a whistle category/group (which sort of represents the average of all whistles under that group). You can see details about the current whistle being processed and iteration count as you run the categorisation. ARTwarp goes through multiple iterations (their number varies). In addition to the GUI windows, at the same time ARTwarp displays the iteration number and number of whistles analysed in the command window. It saves the results at the end of each iteration, and will stops automatically when the process will finish, i.e. there will be no whistle that gets recategorised (moved into another group).

  7. After that, you can select "Analyze" -> "Plot Categorisation" to see the different whistle groups/categories that ARTwarp comes up with.

Clone this wiki locally