Non-linear dynamics of vertebrate vocalization: Signal types

NLP Python software

This page provides Python code to create Figures 1 and 2 of the publication

Jen Muir, Christian T. Herbst, Joseph E. Hawes, Thomas G. OMahoney, Jacob C. Dunn:
Nonlinear Phenomena in Mammalian Vocalisations
RSocPhilTransB, in review (2024)

All Python code was written in 2023/2024 by Christian T. Herbst and is released under the Creative Commons CC BY-NC-SA license.

The package contains three scripts:

Figure 1
Figure 1. Prototypical oscillatory states of a dynamical system: (A) stasis, i.e., no vibration; (B) sinusoidal vibration; (C) cyclic oscillation, exhibiting a harmonic series; (D) subharmonic oscillation; (E) quasi-periodic signal with two harmonic series with incommensurable fundamental frequencies (arbitrarily chosen here); (F) irregular oscillation, established by deterministic (i.e., chaotic) system behaviour; (G) irregular oscillation, established by a stochastic (i.e., random) process. The three columns of the figure show an exemplary time series waveform (left), and the resulting frequency spectrum (middle) and phase space representation (right). The phase space representations for panels A through E were generated by applying a Hilbert-transform to the respective time series. The resulting analytic signal that contains a real and an imaginary part of the signal, where the imaginary part contains all frequencies of the real component, but each frequency component is delayed by 90 degrees. In the phase space reconstruction, the real and the imaginary parts were plotted against each other to form the emerging attractors. The phase space embeddings for panels F and G were generated by plotting the respective time-series against a delayed version of itself, using a delay of one sample.
Figure 2
Figure 2. A visual representation of the spectrum of frequencies of signals against time, for different oscillatory states. Note that C1 and C2 both represent periodic signals with a different fundamental frequency and thus different harmonic series. A bifurcation is represented by the red vertical line between C1 and C2, showing a fundamental frequency jump from 100 to 228 Hz.