# Digital Signal Processing of the Inharmonic Complex Tone
## 1 Introduction
\begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Criteria** & **LTFAT** & **Essentia** & **MIRtoolbox** & **MuPI (Proposed)** \\ \hline
**Language** & MATLAB, Octave & C++, Python & MATLAB & MATLAB \\ \hline
**Time–frequency** & Gabor, Wavelet, & & & \\
**methods** & STFT, filter bank & \(\bigtimes\) Limited & \(\bigtimes\) STFT &
\begin{tabular}{c} Windowing, DFT, \\ STFT, filter bank \\ \end{tabular} \\ \hline
**Low-level** & \(\bigtimes\) Manually through & \(\bigtimes\) MFCC, spectral & \(\bigtimes\) Zero-crossing, &
\begin{tabular}{c} Manually through \\ frequency analysis \\ \end{tabular} \\
**feature extraction** & \(\bigtimes\) Manually through & \(\bigtimes\) MFCC, spectral, & \(\bigtimes\) RMS, MFCC, &
\begin{tabular}{c} enhanced by auxiliary \\ parameters extraction \\ provided \\ automatically \\ \end{tabular} \\ \hline
**High-level feature** & & \(\bigtimes\) Beat tracking, & \(\bigtimes\) Tempo, beat, &
\begin{tabular}{c} Envelope partial \\ extraction, \\ Inharmonicity \\ coefficient \\ \end{tabular} \\ \hline
**Signal** & \(\bigtimes\) Detailed processing & & \(\bigtimes\) Minimal &
\begin{tabular}{c} Detailed processing \\ (filter bank, synthesis) \\ \end{tabular} \\ \hline
**Visualization** & \(\bigtimes\) Arbitrary & \(\bigtimes\) & Arbitrary & \(\bigtimes\) Arbitrary \\ \hline
**Speed and** & & & \(\bigtimes\) Slow for large & \\
**performance** & \(\bigtimes\) Fast & \(\bigtimes\) Very fast &
\begin{tabular}{c} Slow for large \\ data sets \\ \end{tabular} & \(\bigtimes\) Fast \\ \hline
**Flexibility and** & & & & \\
**extensibility** & Modular & \(\bigtimes\) Modular & \(\bigtimes\) Hard to expand & \(\bigtimes\) Modular \\ \hline
**Real-time** & & & & \\
**processing** & \(\bigtimes\) & Partial (C++) & \(\bigtimes\) & \(\bigtimes\) \\ \hline
**Inharmonicity** & & & & \\
**coefficient** & \(\bigtimes\) Yes (in detail), ideal & \(\bigtimes\) Partial (analysis), & \(\bigtimes\) Partial (analysis), & \(\bigtimes\) Yes (in detail), ideal \\  & reconstruction & no reconstruction & no reconstruction & reconstruction \\ \hline
**Number of** & & & \\
**channels in filter** & \(\bigtimes\) Arbitrary & \(\bigtimes\) Cannot be & \(\bigtimes\) Cannot be & \(\bigtimes\) Arbitrary \\
**bank** & & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Comparison of the proposed application with existing ones according to multiple criteria. The symbol \(\bigtimes\) means that the criterion is met. The symbol \(\bigtimes\) means that it is not. Unlike LTFAT and MIRtoolbox, which primarily rely on standard forms of frequency analysis, MuPI integrates a specific doubly complementary filter bank design, enabling more precise decomposition of signals into partials. Furthermore, while Essentia and MIRtoolbox emphasize high-level musical descriptors (e.g., tempo, key, chord progression), MuPI focuses on domain-specific parameters such as the inharmonicity coefficient and partial envelope extraction, which are not directly supported in the aforementioned tools. In terms of signal manipulation, MuPI offers functionality comparable to LTFAT by providing users with detailed control over subchannel signals and their recombination. This capability is particularly important for preparing stimuli in perceptual listening experiments. While Essentia and MIRtoolbox offer limited or no reconstruction capabilities, MuPI supports ideal reconstruction from filter banks, with a user-defined number of channels, further enhancing its flexibility. Compared to LTFAT, MuPI is less broad but more focused on the specific task of analyzing the single complex tone of string instruments. The main goal was to keep the application as simple as possible and user-friendly for users and researchers in the field of musical signal processing who are not deeply familiar with advanced topics of DSP. For that reason, the application is designed as an intuitive GUI with some parameters set in advance and with a limited number of options. In Section 2, an overview of the major algorithms used in the developed application is presented.