--- license: mit --- # Vocos: Closing the gap between time-domain and Fourier-based neural vocoders for high-quality audio synthesis [Audio samples](https://charactr-platform.github.io/vocos/) | Paper [[abs]](https://arxiv.org/abs/2306.00814) [[pdf]](https://arxiv.org/pdf/2306.00814.pdf) Vocos is a fast neural vocoder designed to synthesize audio waveforms from acoustic features. Trained using a Generative Adversarial Network (GAN) objective, Vocos can generate waveforms in a single forward pass. Unlike other typical GAN-based vocoders, Vocos does not model audio samples in the time domain. Instead, it generates spectral coefficients, facilitating rapid audio reconstruction through inverse Fourier transform. ## Installation To use Vocos only in inference mode, install it using: ```bash pip install vocos ``` If you wish to train the model, install it with additional dependencies: ```bash pip install vocos[train] ``` ## Usage ### Reconstruct audio from EnCodec tokens Additionally, you need to provide a `bandwidth_id` which corresponds to the embedding for bandwidth from the list: `[1.5, 3.0, 6.0, 12.0]`. ```python vocos = Vocos.from_pretrained("charactr/vocos-encodec-24khz") audio_tokens = torch.randint(low=0, high=1024, size=(8, 200)) # 8 codeboooks, 200 frames features = vocos.codes_to_features(audio_tokens) bandwidth_id = torch.tensor([2]) # 6 kbps audio = vocos.decode(features, bandwidth_id=bandwidth_id) ``` Copy-synthesis from a file: It extracts and quantizes features with EnCodec, then reconstructs them with Vocos in a single forward pass. ```python y, sr = torchaudio.load(YOUR_AUDIO_FILE) if y.size(0) > 1: # mix to mono y = y.mean(dim=0, keepdim=True) y = torchaudio.functional.resample(y, orig_freq=sr, new_freq=24000) y_hat = vocos(y, bandwidth_id=bandwidth_id) ``` ## Citation If this code contributes to your research, please cite our work: ``` @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} } ``` ## License The code in this repository is released under the MIT license.