def voiceContoursGetter(pitchContourJson, classificationResult): contours_bins, contours_contourSaliences, contours_start_times, duration = cr.contourReader(pitchContourJson) contours_bins, contours_contourSaliences, contours_start_times, toRmIndex_cal = cr.contourFilter(contours_bins, contours_contourSaliences, contours_start_times, framesize = 2048, hopsize = 128) toRmIndex_json, classification = classificationResultReader(classificationResult) if len(toRmIndex_cal) == len(toRmIndex_json): contours_bins_out = [] contours_contourSaliences_out = [] contours_start_times_out = [] for ii in range(len(classification)): if classification[ii] == 0: contours_bins_out.append(contours_bins[ii]) contours_contourSaliences_out.append(contours_contourSaliences[ii]) contours_start_times_out.append(contours_start_times[ii]) return contours_bins_out, contours_contourSaliences_out, contours_start_times_out, duration else: print 'problem with toRmIndex length, not equal.' return
def featureNormalization(featureList): ''' the structure of normalized feature list is [(feature0, mean0, sd0), (feature1, mean1, sd1), ...] ''' normalizedFeatureList = [] for ii in range(len(featureList)-1): normalizedFeature, mean, sd = fc.scaleFeatures(featureList[ii]) normalizedFeatureList.append((normalizedFeature, mean, sd)) normalizedFeatureList.append(featureList[-1]) return normalizedFeatureList jj = 1 for filename in filenamesvoicePath: print jj, len(allfilenames) contours_bins, contours_contourSaliences, contours_start_times, duration = cr.contourReader(filename) contours_bins, contours_contourSaliences, contours_start_times, toRmIndexCF = cr.contourFilter(contours_bins, contours_contourSaliences, contours_start_times, framesize = 2048, hopsize = 128) #contours_bins, contours_contourSaliences, contours_start_times, toRmIndexRF = registerFilter(contours_bins, contours_contourSaliences, contours_start_times, tonicHz = 350.0) # need to give tonic firstly lengthContour, meanPitchContour, sdPitchContour, totalSalience, meanSalience, sdSalience, mfccs = fc.featureExtract(contours_bins, contours_contourSaliences) featureList = featureListCreate(featureList, lengthContour, meanPitchContour, sdPitchContour, totalSalience, meanSalience, sdSalience, mfccs, 0) jj += 1 for filename in filenamesnonvoicePath: print jj, len(allfilenames) contours_bins, contours_contourSaliences, contours_start_times, duration = cr.contourReader(filename) contours_bins, contours_contourSaliences, contours_start_times, toRmIndexCF = cr.contourFilter(contours_bins, contours_contourSaliences, contours_start_times, framesize = 2048, hopsize = 128) #contours_bins, contours_contourSaliences, contours_start_times, toRmIndexRF = registerFilter(contours_bins, contours_contourSaliences, contours_start_times, tonicHz = 350.0) # need to give tonic firstly lengthContour, meanPitchContour, sdPitchContour, totalSalience, meanSalience, sdSalience, mfccs = fc.featureExtract(contours_bins, contours_contourSaliences)