Downloads · 30 days
0
terastudio/HPA-RMVPE
HPA-RMVPE is a machine learning model from terastudio. Use it for the machine learning task on the model card, and read the license before you ship it in a product. The card lists the license as mit.
This benchmark evaluates pitch detection algorithms across multiple datasets with different characteristics, including synthetic and real audio from speech and music domains. Each algorithm is tested on noisy audio ge…
Downloads · 30 days
0
Access
Public
Updated Dec 16, 2025
Repo size
—
Likes
0
Public
Click a slice to open those files.
.py23.6 KB · 71%
From the Hugging Face model README
This benchmark evaluates pitch detection algorithms across multiple datasets with different characteristics, including synthetic and real audio from speech and music domains. Each algorithm is tested on noisy audio generated by mixing clean datasets with CHiME background noise at various signal-to-noise ratios (10-30 dB) and voice gain variations (-6 to +6 dB).
The Overall Performance Rankings show the Harmonic Mean (HM) score as percentages, computed from six complementary components:
HM = 6 / (1/RPA + 1/CA + 1/P + 1/R + 1/OA + 1/GEA)
Where:
CPU timing measurements are performed on 1-second audio signals at 22.05 kHz sample rate with 256-sample hop length. The reported CPU Time (ms) represents the average processing time per 1-second audio segment across multiple runs. Relative Speed shows performance relative to CREPE as the baseline algorithm.
The Optimal Threshold refers to the voicing confidence threshold that maximizes the Harmonic Mean score. Algorithms test multiple thresholds (0.0 to 1.0 in steps of 0.1) and select the one yielding the highest combined score. CV stands for Coefficient of Variation (std/mean), measuring consistency across datasets.
The benchmark evaluates algorithms across diverse datasets covering speech, music, synthetic, and real-world conditions:
| Dataset | Domain | Type | Description |
|---|---|---|---|
| NSynth | Music | Synthetic | Single-note synthetic audio from musical instruments with accurate pitch labels. Lacks temporal/spectral complexity of real-world environments. |
| PTDB | Speech | Real | Speech recordings with laryngograph signals capturing vocal fold vibrations. Ground truth derived from high-pass filtered laryngograph signals processed with RAPT algorithm. |
| PTDBNoisy | Speech | Real | Subset of 347 PTDB files (7.4%) with noticeable noise that were excluded from main evaluation. |
| MIR1K | Music | Real | Vocal excerpts with pitch contours initially extracted algorithmically (e.g., YIN) followed by manual correction. Labels still reflect some algorithmic biases. |
| MDBStemSynth | Music | Synthetic | Musically structured synthetic audio with accurate pitch annotations. Valuable for controlled evaluation but lacks real-world acoustic variability. |
| Vocadito | Music | Real | Solo vocal recordings with pitch annotations derived from pYIN algorithm, refined through manual verification process. |
| Bach10Synth | Music | Synthetic | High-quality pitch labels for synthesized musical performances. Similar to MDB-STEM-Synth but focused on Bach compositions. |
| SpeechSynth | Speech | Synthetic | Synthetic Mandarin speech generated using LightSpeech TTS model. Trained on 97.48 hours from AISHELL-3 and Biaobei datasets, providing exact pitch ground truth. |
Key Characteristics:
| Algorithm | Bach10Synth | MDBStemSynth | MIR1K | PTDB | PTDBNoisy | SpeechSynth | Vocadito | Average |
|---|---|---|---|---|---|---|---|---|
| HPA_RMVPE_76000 | 99.0% | 94.0% | 95.9% | 92.5% | 84.3% | 87.6% | 97.0% | 92.9% |
| HPA_RMVPE | 98.7% | 93.4% | 95.8% | 91.7% | 83.2% | 86.8% | 96.9% | 92.4% |
| RMVPE | 98.3% | 91.7% | 96.0% | 86.0% | 66.6% | 90.5% | 97.2% | 89.5% |
No speed benchmark results found.
Measures how well algorithms distinguish between voiced (pitched) and unvoiced (unpitched) audio segments.
| Algorithm | Precision ↑ | Recall ↑ | F1-Score ↑ |
|---|---|---|---|
| HPA_RMVPE | 0.924 | 0.847 | 0.882 |
| HPA_RMVPE_76000 | 0.926 | 0.866 | 0.893 |
| RMVPE | 0.891 | 0.816 | 0.851 |
Detailed pitch estimation accuracy across different error types and magnitudes.
| Algorithm | RPA ↑ | RCA ↑ | Cents Error ↓ | RMSE (Hz) ↓ | Octave Error ↓ | Gross Error ↓ |
|---|---|---|---|---|---|---|
| HPA_RMVPE | 0.909 | 0.910 | 22.7 | 10.0 | 0.004 | 0.007 |
| HPA_RMVPE_76000 | 0.915 | 0.915 | 21.7 | 9.3 | 0.003 | 0.007 |
| RMVPE | 0.901 | 0.905 | 32.2 | 13.3 | 0.011 | 0.014 |
Additional Metric Definitions:
Measures the temporal stability and continuity of pitch tracks.
| Algorithm | Relative Smoothness ↓ | Continuity Breaks ↓ | Overall Smoothness Rank ↓ |
|---|---|---|---|
| RMVPE | 1.327 | 0.866 | 1.0 |
| HPA_RMVPE | 1.421 | 0.931 | 2.5 |
| HPA_RMVPE_76000 | 1.569 | 0.903 | 2.5 |
Metric Definitions:
Voicing confidence thresholds that maximize overall performance scores.
| Algorithm | Mean Threshold | Std Dev ↓ | Range |
|---|---|---|---|
| HPA_RMVPE | 0.486 | 0.064 | 0.40-0.60 |
| HPA_RMVPE_76000 | 0.443 | 0.090 | 0.30-0.60 |
| RMVPE | 0.686 | 0.064 | 0.60-0.80 |
Measures performance stability across different datasets using Coefficient of Variation (CV = std/mean).
| Algorithm | Performance CV ↓ | Threshold CV ↓ |
|---|---|---|
| HPA_RMVPE | 0.056 | 0.132 |
| HPA_RMVPE_76000 | 0.052 | 0.204 |
| RMVPE | 0.113 | 0.093 |
| Algorithm | Synthetic | Real |
|---|---|---|
| HPA_RMVPE | 93.0% | 91.9% |
| HPA_RMVPE_76000 | 93.5% | 92.4% |
| RMVPE | 93.5% | 86.4% |
| Algorithm | Speech | Music |
|---|---|---|
| HPA_RMVPE | 87.2% | 96.2% |
| HPA_RMVPE_76000 | 88.1% | 96.5% |
| RMVPE | 81.0% | 95.8% |
| Algorithm | Synthetic + Speech | Synthetic + Music | Real + Speech | Real + Music |
|---|---|---|---|---|
| HPA_RMVPE | 86.8% | 96.1% | 87.4% | 96.3% |
| HPA_RMVPE_76000 | 87.6% | 96.5% | 88.4% | 96.5% |
| RMVPE | 90.5% | 95.0% | 76.3% | 96.6% |