Views
No views yet
pip install torch torchaudio librosa scipy1import torch
2import torchaudio
3from scipy.io.wavfile import write
4
5# Load model
6from env import AttrDict
7from models import Generator
8import json
9
10config = AttrDict(json.load(open('config.json')))
11generator = Generator(config).cuda()
12checkpoint = torch.load('generator_best.pt', map_location='cuda')
13generator.load_state_dict(checkpoint['generator'])
14generator.eval()
15generator.remove_weight_norm()
16
17# Load and process audio
18wav, sr = torchaudio.load('your_audio.wav')
19if sr != 22050:
20 wav = torchaudio.functional.resample(wav, sr, 22050)
21wav = wav.mean(dim=0) # stereo to mono
22
23# Generate mel spectrogram
24from meldataset import mel_spectrogram
25mel = mel_spectrogram(wav.unsqueeze(0).cuda(), config.n_fft, config.num_mels,
26 config.sampling_rate, config.hop_size, config.win_size,
27 config.fmin, config.fmax)
28
29# Generate audio
30with torch.no_grad():
31 generated = generator(mel)
32audio = generated.squeeze().cpu().numpy()
33
34# Save
35write('output.wav', 22050, (audio * 32768).astype('int16'))1{
2 "upsample_rates": [8, 8, 2, 2],
3 "upsample_initial_channel": 512,
4 "resblock_kernel_sizes": [3, 7, 11],
5 "num_mels": 80,
6 "n_fft": 1024,
7 "hop_size": 256,
8 "sampling_rate": 22050
9}config.json - Model architecture configurationgenerator_best.pt - Generator checkpoint (best validation error at step 34000)discriminator_optimizer.pt - Discriminator + optimizer checkpointtraining_metrics.csv - Training step-by-step metricstraining_loss_plot.png - Training loss visualization@article{kong2020hifigan,
author = {Jongun Kong and Jaeheyun Kim and Jaekyoung Bae},
title = {HiFi-GAN: Generative Adversarial Networks for Efficient and High Fidelity Speech Synthesis},
year = {2020},
eprint = {2010.05646},
archivePrefix = {arXiv}
}