How can I generate from trained model?
Jipski opened this issue · 3 comments
Jipski commented
I don't understand how I can generate Audio from my trained model, other than the samples automatically saved during the training process.
markhanslip commented
import torch
import os
import soundfile as sf
DEVICE = 'cuda'
SAMPLING_RATE = 22050 # yours might differ
BATCH_SIZE = 32
MODEL_PATH = '/path/to/saved/model.tar'
AUDIO_OUTPUT_DIR = 'generated_samples'
if not os.path.exists(AUDIO_OUTPUT_DIR):
os.makedirs(AUDIO_OUTPUT_DIR)
model = torch.load(MODEL_PATH)
model.load_state_dict(model['generator'])
noise_vector = torch.FloatTensor(BATCH_SIZE, 100).to(DEVICE)
noise_vector.data.normal_()
with torch.no_grad():
fake = generator(noise_vector).detach().cpu().numpy()
for idx, sample in enumerate(fake):
sample = sample[0]
sf.write(os.path.join(AUDIO_OUTPUT_DIR, '{}.wav'.format(idx)), sample, SAMPLING_RATE)