project.PSO
-
Implements the PSO algorithm, including classes for particles and landscapes. It provides a framework for optimizing the parameters of the ESN using the PSO algorithm.
project.esn
-
Implements the core components of the ESN, including the network architecture, training algorithms, and update rules. It provides a flexible framework for constructing and training ESNs for a variety of tasks.
project.expander
-
Defines a class (`Expander`) that generates a Cartesian product of a given dictionary of parameters and a name generator function. This is used to create a set of configurations for the PSO to explore.
project.music_gen
-
Defines data structures and functions for representing and generating musical sequences. It includes classes for notes, chords, and musical patterns, as well as methods for manipulating and generating musical content.
project.parse_midi
-
Provides functions for parsing MIDI files into a format suitable for use by the ESN. This includes pre-processing and post-processing steps to ensure data consistency and quality.
project.stats
-
Provides statistical functions and metrics for evaluating the performance of the ESN on music generation tasks. This includes measures of accuracy, diversity, and coherence.
project.test
-
Contains unit tests for the various modules in the project, ensuring the correctness and reliability of the code.