Implementation of Vocos with the MLX framework. Vocos allows for high quality reconstruction of audio from Mel spectrograms or EnCodec tokens.
Vocos: Closing the gap between time-domain and Fourier-based neural vocoders for high-quality audio synthesis
To use Vocos in inference mode, install it using:
pip install vocos-mlx
from vocos_mlx import Vocos, load_audio, log_mel_spectrogram
vocos = Vocos.from_pretrained("lucasnewman/vocos-mel-24khz")
# reconstruct
audio = load_audio("audio.wav", 24_000)
reconstructed_audio = vocos(audio)
# decode from mel spec
mel_spec = log_mel_spectrogram(audio, n_mels = 100)
decoded_audio = vocos.decode(mel_spec)
from vocos_mlx import Vocos, load_audio
vocos = Vocos.from_pretrained("lucasnewman/vocos-encodec-24khz")
# reconstruct
audio = load_audio("audio.wav", 24_000)
reconstructed_audio = vocos(audio, bandwidth_id = 3)
# decode with encodec codes
codes = vocos.get_encodec_codes(audio, bandwidth_id = 3)
decoded_audio = vocos.decode_from_codes(codes, bandwidth_id = 3)
Awni Hannun for the reference EnCodec implementation for MLX.
@article{siuzdak2023vocos,
title={Vocos: Closing the gap between time-domain and Fourier-based neural vocoders for high-quality audio synthesis},
author={Siuzdak, Hubert},
journal={arXiv preprint arXiv:2306.00814},
year={2023}
}
The code in this repository is released under the MIT license as found in the LICENSE file.