hello Jean,
thanks for these command lines. I am in fact not very proficient in lisp.
There are quite some fundamental differences in these defaults, and if the results described in the initial question have been produced with the default parameters
then I think all can be explained with those:
example tested: a trumpet sound starting around G4 returns the same with SuperVP, but around C3 with Pm2, as if G4 was considered a partial)…
The most critical parameters of the fundamental frequency estimation is the fundamental frequency search range. If the search range does not cover the fundamental of the sound it is quite obvious that the results cannot be correct.
Here the default search range for SuperVP is given by fm50.0 fM1000.0 which means search the F0 between 50Hz and 1000Hz while for pm2 the default search range is given by –f0min=100 –f0max=300, which means search f0 between 100Hz and 300Hz. Now given the trumpet note is G4 ~= 392Hz it is quite obvious that PM2 will not be able to find the correct note. It does the second best thing and outputs a sub harmonic (C3~=130Hz = 390/3) lying in the F0 search range that is compatible with the observed sound. I am pretty sure that if PM2 will be given the correct F0 search range, then it will also find the correct result.
Note besides this that --f0use in the PM2 command line selects the feature scoring f0 algorithms, while the SuperVP command line uses the much older histogram based algorithm. Normally the feature scoring algorithm performs better, but obviously this also depends on the type of sound and the other parameter choices (see above).
=> note that I have corrected an error here — in OM-pm2 1.3 you might get “-N4096-m40″ (with no space before -m)
well if this is a display problem then it does not matter, if you send the command line n that way then the -m40 will simply be ignored. This parameter controls the peak filter that will remove all peaks that are more than 40dB below the maximum peak within each spectral frame. Note that the corresponding parameter in the supervp command line is sn50, which means again there is a difference in the default values which will certainly create different results, for at least some sounds.
Finally, also the analysis range (the part of the spectrum that is used to analyse the sound) is different. For SuperVP max frequency to be taken into account is F4000 (which means 4000Hz) while for pm2 --f0ana=3000 means 3000Hz. In general it is most often the best choice to limit the observed spectrum to 2-3 times F0max. This is sufficient to discover the harmonic grid, and avoids potential impact of noise in higher frequency regions, that will generally perturb the algorithms.
Best
Axel