## 1 Introduction
### Previous Approaches to Multi-Pitch Estimation  
There are detailed reviews of the scientific literature on MPE [12; 13; 14], and according to [12], those works on MPE can be classified in three different groups, depending on the main technique used: feature-based approaches focus on devising measures of pitch salience and criteria for selecting and scoring pitch candidates from time-frequency representations [8; 15; 16; 17; 18; 19; 20; 21; 22] and most recently, in 2020, using two-dimensional spectrum [23]; _statistical model-based_ approaches use probabilistic methods to model the spectral envelope or peaks and then formulates MPE as a maximum a posteriori or maximum likelihood problem [24; 25; 26; 27; 28; 29; 30; 31]; and _spectrogram factorization-based_ approaches use templates of spectral patterns of different pitch combinations and then decomposes an input magnitude spectrogram according to the activation of different templates [7; 32; 33; 34; 35; 36; 37]. Another common categorization of MPE techniques is based on whether there is usage of a training dataset with ground-truth pitches. Early research was usually classified as _unsupervised_; however, today, there is an increase in work based on _supervised_ methods. Among them, there are neural networks and some evolutionary algorithms (EAs). Neural networks were used with salient results by [PERSON] [38], where he presents a connectionist approach to the transcription of piano music using a partial tracking technique. More recently, an end-to-end deep learning model for polyphonic piano music transcription was developed by [PERSON] et al. [39], and [PERSON] [40] used recurrent neuronal networks (RNNs) for multi-pitch estimation and onset detection. Evolutionary Algorithms and Genetic Programming in Multi-Pitch Estimation  
There are several approaches to the MPE problem using evolutionary algorithms. Genetic algorithms (GA) were probably the first evolutionary approach to multi-pitch estimation, as described in 2001 by [PERSON] [41]. [PERSON] proposes that polyphonic pitch detection can be considered a search space problem where the goal is to find pitches that compose the polyphonic acoustic signal. In 2007, [PERSON] [42] proposed an automatic music transcription system based on genetic algorithms: this approach assumes that a polyphonic audio signal can only be produced by the 128 possible pitches (from low C, frequency 8.18 Hz, to a high G, 12,543.88 Hz) defined in the MIDI. specification [43]. In 2007, [PERSON] et al. [44] proposed the first genetic algorithm approach to music transcription using real audio recordings. The authors explored the influence of the \"harmonic overfitting\" phenomena, and in 2012, [PERSON] et al. [45] presented a new genetic algorithm to perform automatic transcription of polyphonic piano music with spectral envelope modeling and noise level estimation. Genetic programming (GP) is also a subset of evolutionary algorithms. However, GP has some important differences when compared to genetic algorithms (GAs). Genetic programming applies the evolutionary process to a population of computer programs. The aim of the optimization is to evolve a program to produce a behavior as close as possible to some desired goal. Regarding MPE, the goal is multi-pitch estimation of piano music. As far as we know, there is no record of any work in this area using any form of GP until 2016, when we first proposed it in [46]. In that work, an innovative methodology for pitch estimation of piano music using a genetic programming-based system is presented. This was our first approach to dealing with the MPE problem and a specific type of GP called Cartesian genetic programming was used [47]. We used a divide-and-conquer method, evolving one classifier for each piano key and its corresponding pitch (a total of 61 classifiers) that can run in parallel. Together, those classifiers acted as a multi-pitch estimator.