def get_wav_content(files): for filee in files: print("Yielding ", filee) try: yield tensorflow_wav.get_wav(filee) except Exception as e: print("Could not load ", filee, e)
def visualize(sess, dcgan, config, option): in_wav = tensorflow_wav.get_wav('input.wav') if option == 0: z_sample = np.random.uniform(-0.5, 0.5, size=(config.batch_size, dcgan.z_dim)) samples = sess.run(dcgan.sampler, feed_dict={dcgan.z: z_sample}) in_wav['data']=samples tensorflow_wav.save_wav(in_wav, './samples/test.wav' ) elif option == 1: values = np.arange(0, 1, 1./config.batch_size) for idx in range(100): print(" [*] %d" % idx) z_sample = np.zeros([config.batch_size, dcgan.z_dim]) for kdx, z in enumerate(z_sample): z[idx] = values[kdx] samples = sess.run(dcgan.sampler, feed_dict={dcgan.z: z_sample}) in_wav['data']=samples tensorflow_wav.save_wav(in_wav, './samples/test_arange_%s.wav'%(idx) ) elif option == 2: values = np.arange(0, 1, 1./config.batch_size) for idx in [random.randint(0, 99) for _ in range(100)]: print(" [*] %d" % idx) z = np.random.uniform(-0.2, 0.2, size=(dcgan.z_dim)) z_sample = np.tile(z, (config.batch_size, 1)) #z_sample = np.zeros([config.batch_size, dcgan.z_dim]) for kdx, z in enumerate(z_sample): z[idx] = values[kdx] samples = sess.run(dcgan.sampler, feed_dict={dcgan.z: z_sample}) make_gif(samples, './samples/test_gif_%s.gif' % (idx)) elif option == 3: values = np.arange(0, 1, 1./config.batch_size) for idx in range(100): print(" [*] %d" % idx) z_sample = np.zeros([config.batch_size, dcgan.z_dim]) for kdx, z in enumerate(z_sample): z[idx] = values[kdx] samples = sess.run(dcgan.sampler, feed_dict={dcgan.z: z_sample}) make_gif(samples, './samples/test_gif_%s.gif' % (idx)) elif option == 4: wav_set = [] values = np.arange(0, 1, 1./config.batch_size) for idx in range(100): print(" [*] %d" % idx) z_sample = np.zeros([config.batch_size, dcgan.z_dim]) for kdx, z in enumerate(z_sample): z[idx] = values[kdx] wav_set.append(sess.run(dcgan.sampler, feed_dict={dcgan.z: z_sample})) make_gif(wav_set[-1], './samples/test_gif_%s.gif' % (idx)) new_wav_set = [merge(np.array([wavs[idx] for wavs in wav_set]), [10, 10]) \ for idx in range(64) + range(63, -1, -1)] make_gif(new_wav_set, './samples/test_gif_merged.gif', duration=8)
def test_sftf1(self): wav_path="input.wav" fs=2048 T=1 framesz=(64/2048) hop=(T*2048-64)/(2048*64) wav= tensorflow_wav.get_wav(wav_path) data = wav['data'][:fs*T] with tf.Session() as sess: x = test_stft_cpu.stft(data, fs, framesz, hop) print('max/min', x.max(),x.min()) raw_data = tf.placeholder(tf.complex64, [fs*T]) tstft=tensorflow_wav.stft(raw_data, fs, framesz, hop) y = sess.run(tstft, {raw_data:data}) print(x) print(y) self.assertEqual(True, True)
def test_sftf1(self): wav_path = "input.wav" fs = 2048 T = 1 framesz = (64 / 2048) hop = (T * 2048 - 64) / (2048 * 64) wav = tensorflow_wav.get_wav(wav_path) data = wav['data'][:fs * T] with tf.Session() as sess: x = test_stft_cpu.stft(data, fs, framesz, hop) print('max/min', x.max(), x.min()) raw_data = tf.placeholder(tf.complex64, [fs * T]) tstft = tensorflow_wav.stft(raw_data, fs, framesz, hop) y = sess.run(tstft, {raw_data: data}) print(x) print(y) self.assertEqual(True, True)
def test_isftf1(self): wav_path="input.wav" fs=2048 T=1 framesz=(64/2048) hop=(T*2048-64)/(2048*64) wav= tensorflow_wav.get_wav(wav_path) data = wav['data'][:fs*T] with tf.Session() as sess: xin = test_stft_cpu.stft(data, fs, framesz, hop) print("Xin is", xin) raw_data = tf.placeholder(tf.complex64, [64, 64]) x=test_stft_cpu.istft(xin, fs, T, hop) tstft=tensorflow_wav.istft(raw_data, fs, hop) y = sess.run(tstft, {raw_data:xin}) print('x is', x) print('y is', y) self.assertEqual(x.tolist()[0:10], y.tolist()[0:10])
def test_isftf1(self): wav_path = "input.wav" fs = 2048 T = 1 framesz = (64 / 2048) hop = (T * 2048 - 64) / (2048 * 64) wav = tensorflow_wav.get_wav(wav_path) data = wav['data'][:fs * T] with tf.Session() as sess: xin = test_stft_cpu.stft(data, fs, framesz, hop) print("Xin is", xin) raw_data = tf.placeholder(tf.complex64, [64, 64]) x = test_stft_cpu.istft(xin, fs, T, hop) tstft = tensorflow_wav.istft(raw_data, fs, hop) y = sess.run(tstft, {raw_data: xin}) print('x is', x) print('y is', y) self.assertEqual(x.tolist()[0:10], y.tolist()[0:10])
framesamp = X.shape[1] print('fsamp',framesamp) hopsamp = int(hop*fs) for n,i in enumerate(range(0, len(x)-framesamp, hopsamp)): if(n>=X.shape[0]): break #print("setting i to i+framesamp", n, i, framesamp, i+framesamp, len(X), len(x)) x[i:i+framesamp] += scipy.real(ifft(X[n])) #print(x.shape) return x if __name__ == '__main__': wav_path="input.wav" wav= tensorflow_wav.get_wav(wav_path) fs=2048 T=1 data = wav['data'][:fs*T] print("data, max, mean, stddev",data.min(), data.max(), np.mean(data), np.std(data)) #data['sampwidth'] framesz=(64./2048) print("fs is ", fs) print("Framesz is", framesz) hop=1./64 print("Hop is", hop) framesamp = int(framesz*fs) hopsamp = int(hop*fs) print("framesamp is", framesamp) print("hopsamp is", hopsamp, hop, fs) print('size is',data-framesamp, 'stride', hopsamp)
# should be [w, h, z] where w=441, h=?(0.25 seconds?), and z=2(complex, real) # Sanity test load and save import tensorflow as tf import numpy as np from numpy.fft import fft, ifft from tensorflow_wav import get_wav, save_wav, encode, decode wav_path="input.wav" wav_size=64 with tf.Session() as sess: wav= get_wav(wav_path) print('data is', wav['data']) print(wav) fs = 2048 T=1 raw_data = tf.placeholder(tf.complex64, [1,fs*T]) #print("WAV IS", wav['data'].tolist()) data = wav['data'][:int(fs*T)] data = data.reshape([1,int(fs*T)]) #data = tf.reshape(raw_data[:64*64*64], [-1]) encoded = encode(raw_data, bitrate=fs) #print(encoded) decoded = decode(encoded, bitrate=fs) noop = decoded
import os from glob import glob import tensorflow as tf import numpy as np import tensorflow_wav from model import CPPNVAE model = CPPNVAE(batch_size=1) model.load_model('save') print("Loaded") data = glob(os.path.join("./training", "*.wav")) sample_file = data[0] sample = tensorflow_wav.get_wav(sample_file) def new_z(): return np.random.normal(size=(1, 32)).astype(np.float32) print("Generating") bitrate = 4096 t_dims = [bitrate, bitrate * 2] scales = [8.0, 16.0, 24.0] for t_dim in t_dims: for scale in scales: wavdata = [ model.generate(new_z(), t_dim=t_dim, scale=scale) for i in range(10) ]
fs = 2048 framesz = (64 / 2048) hop = (2048 - 64) / (2048 * 64) import glob from test_stft_cpu import stft import os import sys import tensorflow_wav import numpy as np import math if (len(sys.argv) < 2): print("You have to pick a file") no_file_Picked_Exception files = glob.glob(sys.argv[1]) if (len(files) == 0): print("Who you trying to kid?") for file in files: print("Reading stft for " + file, ' at rate ', fs) wav = tensorflow_wav.get_wav(file) data = stft(wav['data'], fs, framesz, hop) print(wav) wav['data'] = data.real print(wav['data']) #wav['data'] = np.sign(wav['data'])*np.power(wav['data'], 2) print(np.min(wav['data']), np.max(wav['data'])) res = tensorflow_wav.save_stft(wav, file + ".stft") print(file + ".stft" + " is written")