t = x[ni, 0] t = t[:, 0] orig_buf[ni * step:(ni * step) + cut] += t x_o = orig_buf x_r = rec_buf f, axarr = plt.subplots(2, 1) axarr[0].plot(x_r) axarr[0].set_title("Reconstruction") axarr[1].plot(x_o) axarr[1].set_title("Original") plt.savefig("vq_vae_generation_results") plt.close() f, axarr = plt.subplots(2, 1) specplot(specgram(x_r), axarr[0]) axarr[0].set_title("Reconstruction") specplot(specgram(x_o), axarr[1]) axarr[1].set_title("Original") plt.savefig("vq_vae_generation_results_spec") plt.close() wavfile.write("original_wav.wav", 8000, soundsc(x_o)) wavfile.write("reconstructed_wav.wav", 8000, soundsc(x_r)) from IPython import embed embed() raise ValueError()
post_time = 0 joint_time = 0 for jj in range(n_plot): # use extra steps from earlier pjj = preds[:(finished_step[jj] + extra_steps), jj] spectrogram = pjj * itr._std + itr._mean prename = "{}_{}_sample_{}_pre.wav".format(file_names[jj], args.input_type, jj) this_time = time.time() if os.path.exists(prename): print("{} file already found, not redoing calculations".format(prename)) fs, reconstructed_waveform = wavfile.read(prename) else: reconstructed_waveform = sonify(spectrogram, len(spectrogram) * step, logmel) end_this_time = time.time() wavfile.write(prename, sample_rate, soundsc(reconstructed_waveform)) elapsed = end_this_time - this_time print("Elapsed pre sampling time {} s".format(elapsed)) pre_time += elapsed joint_time += elapsed fftsize = 512 substep = 32 postname = "{}_{}_sample_{}_post.wav".format(file_names[jj], args.input_type, jj) this_time = time.time() if not os.path.exists(postname): rw_s = np.abs(stft(reconstructed_waveform, fftsize=fftsize, step=substep, real=False, compute_onesided=False)) rw = iterate_invert_spectrogram(rw_s, fftsize, substep, n_iter=gl_steps, verbose=True) end_this_time = time.time() wavfile.write(postname, sample_rate, soundsc(rw))
# put all the shorter traces into one long sequence, no overlap add or anything i_rec = final_hidden_indices rec_buf = np.zeros((len(x_rec) * step + 2 * cut)) i_buf = np.zeros((len(x_rec) * step + 2 * cut)) for ni in range(len(x_rec)): t = x_rec[ni, 0] t = t[:, 0] rec_buf[ni * step:(ni * step) + cut] += t i_buf[ni * step:(ni * step) + cut] = i_rec[ni] x_r = rec_buf i_r = i_buf f, axarr = plt.subplots(2, 1) axarr[0].plot(x_r) axarr[0].set_title("Generation") axarr[1].plot(i_r, color="r") plt.savefig("vq_vae_generation_results") plt.close() f, axarr = plt.subplots(1, 1) specplot(specgram(x_r), axarr) axarr.set_title("Generation") #axarr[1].plot(i_r, color="r") plt.savefig("vq_vae_generation_results_spec") plt.close() wavfile.write("generated_wav.wav", 8000, soundsc(x_r))
with tf.Session(): spectrogram = logmel(waveform).eval() spectrogram2 = logmel2(waveform) spectrogram = (spectrogram - spectrogram.min()) / float(spectrogram.max() - spectrogram.min()) spectrogram2 = (spectrogram2 - spectrogram2.min()) / float(spectrogram2.max() - spectrogram2.min()) f, axarr = plt.subplots(1, 2) axarr[0].imshow(spectrogram) axarr[1].imshow(spectrogram2) plt.savefig("tmpspec") reconstructed_waveform = sonify(spectrogram, len(waveform), logmel) wavfile.write("tmp.wav", sample_rate, soundsc(reconstructed_waveform)) reconstructed_waveform2 = sonify(spectrogram2, len(waveform), logmel) wavfile.write("tmp2.wav", sample_rate, soundsc(reconstructed_waveform2)) fftsize = 512 substep = 32 rw_s = np.abs( stft(reconstructed_waveform, fftsize=fftsize, step=substep, real=False, compute_onesided=False)) rw = iterate_invert_spectrogram(rw_s, fftsize, substep, n_iter=100,