Saltar al contenido
ModelPublicadoExterno
Descargar

Mlx Rmvpe

MLX implementation of RMVPE (Robust Model for Vocal Pitch Estimation) for Apple Silicon.

TipoOtherVersiónRevision 8ef0e7dCcalidad

Fuente del modelo

Tipo
Other
Tamaño del archivo
345 MB
Versión
vRevision 8ef0e7d
Actualizado
25 sept 2026
Descargas
0
Fuente
Hugging Face

Descripción de la fuente

MLX-RMVPE

MLX implementation of RMVPE (Robust Model for Vocal Pitch Estimation) for Apple Silicon.

Model Description

RMVPE extracts fundamental frequency (F0) from audio, essential for preserving pitch/melody in voice conversion. Unlike simpler methods (CREPE, pYIN), RMVPE is specifically designed for polyphonic music, making it ideal for singing voice conversion where background music may be present.

  • Architecture: Deep U-Net with BiGRU layers
  • Parameters: ~15.4M
  • Input: 16kHz audio
  • Output: F0 in Hz at 100fps (hop_length=160)
  • Pitch range: ~32 Hz to ~1975 Hz (360 bins)

Usage

pip install mlx-rmvpe
import librosa
from mlx_rmvpe import RMVPE

# Load model (auto-downloads weights)
model = RMVPE.from_pretrained()

# Load audio at 16kHz
audio, sr = librosa.load("singing.wav", sr=16000, mono=True)

# Extract F0
f0 = model.infer_from_audio(audio)

print(f"F0 shape: {f0.shape} at 100fps")
print(f"Pitch range: {f0[f0 > 0].min():.1f} - {f0[f0 > 0].max():.1f} Hz")

Manual Loading

from huggingface_hub import hf_hub_download
from mlx_rmvpe import RMVPE

weights_path = hf_hub_download(
    repo_id="lexandstuff/mlx-rmvpe",
    filename="rmvpe.safetensors"
)

model = RMVPE()
model.load_weights(weights_path)
model.eval()

Technical Details

This implementation is converted from the PyTorch weights and produces numerically similar outputs:

MetricValue
Mean F0 difference1.29 Hz
Correlation>0.99

See the GitHub repository for implementation details and the full API reference.

Citation

@inproceedings{wei2023rmvpe,
  title={RMVPE: A Robust Model for Vocal Pitch Estimation in Polyphonic Music},
  author={Wei, Yongmao and others},
  booktitle={ISMIR},
  year={2023}
}

License

MIT

Acknowledgments

  • RMVPE - Original implementation
  • RVC - Voice conversion pipeline
  • MLX - Apple's machine learning framework

Fuentes

1 fuente
Hugging FacePrincipalVersión 8ef0e7d9e1db1109e2faffbb54d0ad8d0588394b
huggingface.co/lexandstuff/mlx-rmvpe/tree/8ef0e7d9e1db1109e2faffbb54d0ad8d0588394b

Verificado 29 ago

Artefactos del modelo

1 artefacto

rmvpe.safetensors

safetensors · 345 MB · SHA-256 9d26636a5b0e…19a9 · Hugging Face

Descargar

Extractos de fuentes

2 extractos

--- license: mit tags: - mlx - audio - pitch-estimation - f0 - voice-conversion - rvc - apple-silicon library_name: mlx pipeline_tag: audio-to-audio --- # MLX-RMVPE MLX implementation of [RMVPE](https://arxiv.org/abs/2306.15412) (Robust Model for Vocal Pitch Estimation) for Apple Silicon. ## Model Description RMVPE extracts **fundamental frequency (F0)** from audio, essential for preserving pitch/melody in voice conversion. Unlike simpler methods (CREPE, pYIN), RMVPE is specifically designed for **polyphonic music**, making it ideal for singing voice conversion where background music may be present. - **Architecture**: Deep U-Net with BiGRU layers - **Parameters**: ~15.4M - **Input**: 16kHz audio - **Output**: F0 in Hz at 100fps (hop_length=160) - **Pitch range**: ~32 Hz to ~1975 Hz (360 bins) ## Usage ```bash pip install mlx-rmvpe ``` ```python import librosa from mlx_rmvpe import RMVPE # Load model (auto-downloads weights) model = RMVPE.from_pretrained() # Load audio at 16kHz audio, sr = librosa.load("singing.wav", sr=16000, mono=True) # Extract F0 f0 = model.infer_from_audio(audio) print(f"F0 shape: {f0.shape} at 100fps") print(f"Pitch range: {f0[f0 > 0].min():.1f} - {f0[f0 > 0].max():.1f} Hz") ``` ## Manual Loading ```python from huggingface_hub import hf_hub_download from mlx_rmvpe import RMVPE weights_path = hf_hub_download( repo_id="lexandstuff/mlx-rmvpe", filename="rmvpe.safetensors" ) model = RMVPE() model.load_weights(weights_path) model.eval() ``` ## Technical Details This implementation is converted from the PyTorch weights and produces numerically similar outputs: | Metric | Value | |--------|-------| | Mean F0 difference | 1.29 Hz | | Correlation | >0.99 | See the [GitHub repository](https://github.com/lexandstuff/mlx-rmvpe) for implementation details and the full API reference. ## Citation ```bibtex @inproceedings{wei2023rmvpe, title={RMVPE: A Robust Model for Vocal Pitch Estimation in Polyphonic Music}, author={Wei, Yongmao and others}, booktitle={ISMIR}, year={2023} } ``` ## License MIT ## Acknowledgments - [RMVPE](https://github.com/Dream-High/RMVPE) - Original implementation - [RVC](https://github.com/RVC-Project/Retrieval-based-Voice-Conversion-WebUI) - Voice conversion pipeline - [MLX](https://github.com/ml-explore/mlx) - Apple's machine learning framework

Source context: 0 downloads · 0 likes · Pipeline audio-to-audio · Library mlx · Repo lexandstuff/mlx-rmvpe