Skip to content. | Skip to navigation

Personal tools
Log in
You are here: Home Resources Behavior Matlab functions

Song analysis shared methods

Note: functions are provided here 'as is', without any liability or technical support of any kind. Terms of usage are: GNU Public license, for non-for-profit usage only. Please refer to the authors in your publication using this site If the author name is a live link, it means that authors agreed to be approached regarding those functions.

Song analysis software packages


Matlab functions

Function Author Description
extract_features Sigal Saar Calculates spectral derivatives and acoustic features (such as mean amplitude modulation, mean frequency modulation, mean Wiener Entropy, mean amplitude, "gravity center" which is mean mean frequency, mean goodness of pitch, mean pitch) from WAVE data.  .wav file is read into matlab using the "wavread" command.
crosscorrelate Primoz Ravbar


Cross-correlates song feature vectors 'a' and 'b'; ('a' and 'b' are the inputs)
maximal r ('max_r');
lags ('lag_of_best_corr');
r vector ('r'); r values for each lag

local_realignment Primoz Ravbar


The function locally realigns rows in a matrix according to maximal crosscorrelations between the locally selected frames. The algorithm tracks locally identified frames from the last row to the firs row in the matrix. The function was written for the purpose of realigning acoustic features of syllables in zebra finch song. Each row of the input data was an acoustic feature, sampled with millisecond resolution.

track_vocal_changes Primoz Ravbar


The script was originally developed to track significant vocal changes across the developing syllable, where syllables were rows in the matrix (called 'm_tot_pm2') and columns corresponded to milliseconds. It could be used to identify any significant changes that occur over a user-specified frame (number of rows in any particular millisecond). To identify the changes, all rows in the matrix must be locally realigned. The script calls function 'local_realignment' to perform local realignment using best cross-correlation method (see 'local_realignment' comments).

smooth2_function Primoz Ravbar


The function performs 2-D smoothing of a matrix using Hanning window of user-specified size: window_x=columns; window_y=rows; if window_x or window_y equlas 1 no smoothing will be performed;inputs: matrix of data to be smothened -- 's_tot'; size of Hanning window for x axis -- 'window_x';  size of Hanning window for y axis -- 'window_y'; output: smoothened matrix

K-L Distance Analysis Richard  Bertram




Description: Used to compare two song motifs using the Kullback-Leibler (K-L) distance between the two-dimensional scatter plots of features. These features are  computed using the Sound Analysis Pro software. Full description in Journal of Neuroscience Methods, 174:147, 2008.

Comments (0)