# Digital Signal Processing of the Inharmonic Complex Tone
## 3 The Developed Application Details
### Submodule MuPI_S  
The starting submodule, MuPI_S, is designed to load the recorded signal and perform simple manipulations, which can be thought of as signal preprocessing. The GUI design is illustrated in Figure 4. The content of the signal remains unchanged, except for the time truncation of the recording. The time truncation allows for the direct processing of recordings, i.e., discarding parts of the recording that contain no content related to the analyzed signal. The whole application is dedicated to the analysis of a complex single musical tone, as modeled by (3). The spectral content of the signal changes over time, and the proposed submodule provides insight through the simultaneous observation of different parts of the signal. Up to four segments of the signal can be briefly analyzed. The specification of the window length (control \"T Win Spec\"), type (Hann or Blackman-Harris, control \"Win type\"), and number of DFT/STFT points (control \"N DFT\") for further analysis is also set in this phase of the processing. The STFT is calculated as described in Section 2.2 and defined by the window function and _Nfft_ parameters set by the user. The \(R\) is preset to 0.125, and the number of successive windows is limited to 50 to speed up the calculation and avoid the problem of extremely large arrays or matrices. The first segment defined is considered a \"whole\" signal and is used in further analysis for the complete processing chain. The second segment is also transferred to the next submodule and can be used for verification of the significance of partials. The outputs of this submodule, transferred to the next submodule by a temporarily saved *.mat file, are samples of two segments of the signal, selected values for the length and type of window function, selected values for the single-frame DFT analysis, and the file path of the recorded signal. ### Submodule MuPI_S  
The main task realized in the second submodule, MuPI_B, is the design of the complementary filter bank. The main window of the second submodule GUI is given in Figure 5. Initially, the spectrum of the signal segment selected in the previous step is plotted. The  
Figure 4: Submodule MuPI_S window, with a typical first step (preprocessing) scenario presented. The signal in time is plotted in the upper diagram, with time stamps of the beginning and ending points of segments given in the legend. The dashed lines indicate starting and ending samples of signal segments, blue for the whole length signal and red for the second segment. The result of the STFT analysis of the first 50 windows of the selected signal part is presented in the lower diagram; the darker line corresponds to the later window. application is designed for analyzing signals with prominent inharmonicity. For that reason, the first step is to manually set the parameters \(f_{0}\) and inharmonicity coefficient \(B\) (1). The values can be set by a slider control or by entering exact values. The set of dashed red helplines indicates the expected positions of partials based on parameters \(f_{0}\) and the inharmonicity coefficient \(B\) set by the user. By adjusting these red lines, the user can choose the values for fundamental frequency \(f_{0}\) and inharmonicity coefficient \(B\) manually. Those values are used for calculating the crossover frequencies of the filter bank (12). The number of bank channels is the number of prominent partials entered by the user, enlarged by 2. The parameters of the prototype half-band filter have to be set. The starting stop-band attenuation \(A_{s}=60\) (in dB), as well as the pass-band edge normalized frequency \(\omega_{p}=0.45\pi\), are defined. The selectivity of the filter bank channel filters increases as \(\omega_{p}\) increases [31]. The Butterwort or EMQF filter can be selected. Theoretically, by the design explained in Section 2.1, a stable digital filter is obtained.