import cPickle
import csv
import scipy.io.wavfile as wav
csvfile = open('call_analysis.csv', 'wb')
writer = csv.writer(csvfile, delimiter=',')
audio_files = [f for f in os.listdir(path) if os.path.isfile(os.path.join(path, f))]
counter = 0
for audio_file in audio_files:
row = []
counter += 1
try:
fs, audio = wav.read(os.path.join(path, audio_file))
complete_call_result = emo.evaluate(clf, audio_signal = (fs,audio))
row.append(audio_file)
row.append(str("{:.0f} min {:.0f} sec".format(int( (len(audio)/fsrate_sig)/60,len(sig)/rate_sig)%60)
row.append(complete_call_result)
writer.writerow(row)
csvfile.flush()
except:
print "Skipping file: "+str(counter)+", name: "+audio_file
csvfile.close()
def Get_calssifer(f_fname="cls1.pkl") :
if(os.path.exists(f_name)):
print "Loading existing classifier..."
with open('my_dumped_classifier.pkl', 'rb') as fid:
clf = cPickle.load(fid)
print "Loaded..."
else:
print "Building a classifier..."
clf = emo.train_classifier([inp, lab])
# save the classifier
with open(f_fname, 'wb') as fid:
cPickle.dump(clf, fid)