def test(filename=None): import random, os import matplotlib.pyplot as plt from sys import argv #signal, params = read_signal(sound,WINSIZE) scenario = None if filename != None: scene = os.path.basename(filename)[0] else: filename = random.choice([ x for x in os.listdir("tmp/") if os.path.splitext(x)[1] == ".flac" ]) scene = filename[0] filename = "tmp/" + filename print(filename) truths = vad.load_truths() signal, rate = speech.read_soundfile(filename) seconds = float(len(signal)) / rate winsize = librosa.time_to_samples(float(WINMS) / 1000, rate)[0] window = sp.hanning(winsize) ltsd = LTSD(winsize, window, 5) res, threshold, nstart, nend = ltsd.compute(signal) segments = ltsd.segments(res, threshold) #print(float(len(signal))/rate, librosa.core.frames_to_time(len(res), 8000, winsize/2)) segments = librosa.core.frames_to_time(segments, rate, winsize / 2) fig = plt.figure() ax = fig.add_subplot(111) #ax.plot((signal/np.max(signal))*np.mean(res)+np.mean(res)) ax.plot(np.linspace(0, seconds, len(res)), res) ax.plot([0, seconds], [threshold, threshold]) vad.plot_segments(truths[scene]['combined'], segments, ax) n1 = float(nstart) / rate n2 = float(nend) / rate ax.vlines([n1, n2], -20, 20) plt.show()
def test(filename=None): import random, os import matplotlib.pyplot as plt from sys import argv #signal, params = read_signal(sound,WINSIZE) scenario=None if filename != None: scene = os.path.basename(filename)[0] else: filename = random.choice([x for x in os.listdir("tmp/") if os.path.splitext(x)[1] == ".flac"]) scene = filename[0] filename = "tmp/"+filename print(filename) truths = vad.load_truths() signal,rate = speech.read_soundfile(filename) seconds = float(len(signal))/rate winsize = librosa.time_to_samples(float(WINMS)/1000, rate)[0] window = sp.hanning(winsize) ltsd = LTSD(winsize,window,5) res, threshold,nstart,nend = ltsd.compute(signal) segments = ltsd.segments(res, threshold) #print(float(len(signal))/rate, librosa.core.frames_to_time(len(res), 8000, winsize/2)) segments = librosa.core.frames_to_time(segments, rate, winsize/2) fig = plt.figure() ax = fig.add_subplot(111) #ax.plot((signal/np.max(signal))*np.mean(res)+np.mean(res)) ax.plot(np.linspace(0,seconds, len(res)), res) ax.plot([0, seconds], [threshold, threshold]) vad.plot_segments(truths[scene]['combined'], segments, ax) n1 = float(nstart)/rate n2 = float(nend)/rate ax.vlines([n1,n2], -20,20) plt.show()
def read_label_list_file(fn): with open(fn) as f: times = [float(x) for x in f.readlines()] segments = [times[i:i + 2] for i in xrange(0, len(times), 2)] if len(segments[-1]) == 1: segments = segments[:-1] return segments if __name__ == "__main__": import os import matplotlib.pyplot as plt from sys import argv #signal, params = read_signal(sound,WINSIZE) scenario = None truths = vad.load_truths() args = set([ 'sig', 'ac-spec', 'var', 'ltac', 'ac-feature', 'batch', 'test-labels', 'print' ]) if len(argv) >= 2 and argv[1] in args: if len(argv) >= 3 and argv[1] != 'batch': filename = argv[2] scene = os.path.basename(filename)[0] else: filename = random.choice([ x for x in os.listdir("tmp/") if os.path.splitext(x)[1] == ".flac" ]) scene = filename[0] filename = "tmp/" + filename
def read_label_list_file(fn): with open(fn) as f: times = [float(x) for x in f.readlines()] segments = [times[i:i+2] for i in xrange(0, len(times), 2)] if len(segments[-1]) == 1: segments = segments[:-1] return segments if __name__ == "__main__": import os import matplotlib.pyplot as plt from sys import argv #signal, params = read_signal(sound,WINSIZE) scenario=None truths = vad.load_truths() args = set(['sig', 'ac-spec', 'var', 'ltac', 'ac-feature', 'batch', 'test-labels']) if len(argv) >= 2 and argv[1] in args: if len(argv)>=3 and argv[1] != 'batch': filename = argv[2] scene = os.path.basename(filename)[0] else: filename = random.choice([x for x in os.listdir("tmp/") if os.path.splitext(x)[1] == ".flac"]) scene = filename[0] filename = "tmp/"+filename print(filename) if argv[1] != 'batch': sig, rate, frames, fsize, naccs, acvars, ltacs, more = pipeline(filename) predictions = [] seconds = float(len(sig))/rate if argv[1] == 'sig':