Example #1
0
 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)
Example #2
0
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)
Example #4
0
 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])
Example #6
0
    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)
        ]
Example #10
0
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")