Skip to content

Instantly share code, notes, and snippets.

@adhithyan15
Created May 2, 2016 00:46
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save adhithyan15/25d5337859f20639756ea3dbbd5ffc65 to your computer and use it in GitHub Desktop.
Save adhithyan15/25d5337859f20639756ea3dbbd5ffc65 to your computer and use it in GitHub Desktop.
from scikits.audiolab import wavread
from scikits.talkbox.features import mfcc
from scikits.talkbox.linpred.levinson_lpc import lpc
import os
import numpy as np
from test.LPC import LPCExtractor
from test.MFCC import get_mfcc_extractor
from collections import defaultdict
from sklearn.mixture import GMM
from collections import Counter
import pickle
import operator
import random
from random import randint
gmm_labels = []
gmm_instances = []
gmm_tables = {}
random_str = str(1290152)
f = open("pickle_dump/"+ random_str + "/ubm-pickle.txt","r")
ubm_model = pickle.load(f)
f.close()
f = open("pickle_dump/"+ random_str + "/correct_scores.txt","r")
correct_scores = pickle.load(f)
f.close()
base_dir = "/Users/adhithyar/Desktop/ece6255/"
l = LPCExtractor(16000)
mfcc_extractor = get_mfcc_extractor()
counter = 0
for file_name in os.listdir(base_dir + "pickle_dump/" + random_str + "/"):
print file_name
if file_name != random_str:
counter = counter + 1
f = open("pickle_dump/" + random_str + "/" + file_name)
gmm_instance = pickle.load(f)
f.close()
k = file_name.split("-")[0]
if file_name != "ubm-pickle.txt" or file_name != "correct_scores.txt":
gmm_labels.append(k)
gmm_tables[k] = gmm_instance
gmm_instances.append(gmm_instance)
results = {}
f = open("testing_list"+random_str+".txt","r")
testing_set_filenames = pickle.load(f)
f.close()
base_dir = "/Users/adhithyar/Desktop/ece6255/converted_data/"
audio_files = os.listdir(base_dir)
avg = []
counter = 0
for file_name in audio_files:
if file_name != "ubm":
print file_name
print counter + 1
counter = counter + 1
flits = file_name.split("-")
data, fs = wavread(base_dir + file_name)[:2]
ceps = mfcc_extractor.extract(data)
lpcs = l.extract(data)
b = np.concatenate((ceps, lpcs), axis=1)
corresponding_gmm_instance = gmm_tables[flits[0]]
orig_value = np.sum(corresponding_gmm_instance.score(b))
print orig_value
random_flit_entry = random.choice(gmm_labels)
while random_flit_entry == flits[0]:
random_flit_entry = random.choice(gmm_labels)
while random_flit_entry == 'ubm':
random_flit_entry = random.choice(gmm_labels)
while random_flit_entry == "correct_scores.txt":
random_flit_entry = random.choice(gmm_labels)
corresponding_gmm_instance = gmm_tables[random_flit_entry]
test_value = np.sum(corresponding_gmm_instance.score(b))
print test_value
avg.append(orig_value/test_value)
print avg
print min(avg)
print max(avg)
above_70_counter = 0
for value in avg:
if value > 0.7:
above_70_counter = above_70_counter + 1
print above_70_counter
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment