def test_analyze_directory(soundfiles_dir,call_back, do_long_tests): if not do_long_tests: return kwargs = {'rep': 'mfcc','win_len': 0.025, 'time_step': 0.01, 'num_coeffs': 13, 'freq_lims': (0,8000),'return_rep':True, 'use_multi':True} scores,reps = analyze_directory(soundfiles_dir, call_back = call_back,**kwargs)
def run(self): kwargs = self.kwargs self.results = list() if kwargs['type'] == 'one': try: asim = analyze_directory(kwargs['query'], **kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return elif kwargs['type'] == 'two': try: asim, output_val = acoustic_similarity_directories( *kwargs['query'], **kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return #asim[(kwargs['query'][0],kwargs['query'][1])] = output_val elif kwargs['type'] == 'file': try: asim = acoustic_similarity_mapping(kwargs['query'], **kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return if self.stopped: return for k, v in asim.items(): if self.stopped: return self.results.append(list(k) + [v]) if kwargs['type'] == 'two': self.results.append([ os.path.basename(kwargs['query'][0]), os.path.basename(kwargs['query'][1]), output_val ]) else: self.results.append(['AVG', 'AVG', sum(asim.values()) / len(asim)]) if self.stopped: self.finishedCancelling.emit() return self.dataReady.emit(self.results)
def test_clustering(test_dir, call_back): kwargs = {'rep': 'mfcc','win_len': 0.025, 'time_step': 0.01, 'num_coeffs': 13, 'freq_lims': (0,8000),'return_rep':True} scores,reps = analyze_directory(test_dir, call_back = call_back,**kwargs) kwargs['cache'] = reps cn = ClusterNetwork(reps) cn.cluster(scores,'complete',False) cn.cluster(scores, 'affinity', False) cn.cluster(scores, 'affinity', True)
def test_analyze_directory(soundfiles_dir, call_back): kwargs = { 'rep': 'mfcc', 'win_len': 0.025, 'time_step': 0.01, 'num_coeffs': 13, 'freq_lims': (0, 8000), 'return_rep': True, 'use_multi': True } scores, reps = analyze_directory(soundfiles_dir, call_back=call_back, **kwargs)
def run(self): kwargs = self.kwargs self.results = list() if kwargs['type'] == 'one': try: asim = analyze_directory(kwargs['query'], **kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return elif kwargs['type'] == 'two': try: asim, output_val = acoustic_similarity_directories(*kwargs['query'],**kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return #asim[(kwargs['query'][0],kwargs['query'][1])] = output_val elif kwargs['type'] == 'file': try: asim = acoustic_similarity_mapping(kwargs['query'], **kwargs) except AcousticSimError as e: self.errorEncountered.emit(e) return except Exception as e: e = PCTPythonError(e) self.errorEncountered.emit(e) return if self.stopped: return for k,v in asim.items(): if self.stopped: return self.results.append(list(k) + [v]) if kwargs['type'] == 'two': self.results.append([os.path.basename(kwargs['query'][0]),os.path.basename(kwargs['query'][1]), output_val]) else: self.results.append(['AVG', 'AVG',sum(asim.values())/len(asim)]) if self.stopped: self.finishedCancelling.emit() return self.dataReady.emit(self.results)
def main(): kwargs = {'rep':'mfcc', 'match_function':word_distance, 'use_multi':True, 'num_cores':4, 'return_rep': True, } scores, reps = analyze_directory(data_dir, **kwargs) cn = ClusterNetwork(reps) cluster_method = 'affinity' one_cluster = False cn.cluster(scores,cluster_method,one_cluster) save_output(cn)
def test_clustering(test_dir, call_back): kwargs = { 'rep': 'mfcc', 'win_len': 0.025, 'time_step': 0.01, 'num_coeffs': 13, 'freq_lims': (0, 8000), 'return_rep': True } scores, reps = analyze_directory(test_dir, call_back=call_back, **kwargs) kwargs['cache'] = reps cn = ClusterNetwork(reps) cn.cluster(scores, 'complete', False) cn.cluster(scores, 'affinity', False) cn.cluster(scores, 'affinity', True)
def run(self): token_path = self.settings['path'] cluster_method = self.settings['cluster_alg'] one_cluster = self.settings['one_cluster'] if self.redo_scores: self.updateProgress.emit("Recalculating distances...") kwarg_dict = self.settings.acousticsim_kwarg() kwarg_dict['cache'] = self.cn.reps kwarg_dict['return_rep'] = False scores = analyze_directory(token_path,**kwarg_dict) else: scores = None self.updateProgress.emit("Clustering tokens...") self.cn.cluster(scores,cluster_method,one_cluster) self.updateProgress.emit("Ready") self.dataReady.emit(self.cn)
def find_durations(): kwargs = {'rep':'mfcc', 'match_function':word_distance, 'use_multi':True, 'num_cores':4, 'return_rep': True, } scores, reps = analyze_directory(data_dir, **kwargs) out = list() with open('output_dur_word.txt', 'w') as f: writer = csv.writer(f, delimiter = '\t') writer.writerow(['Label','Duration']) for v in reps.values(): if 'Exp3' not in v._true_label: continue base, _ = os.path.splitext(v._filepath) one_textgrid = base + '.TextGrid' one_begin,one_end = get_vowel_points(one_textgrid, tier_name = 'word', vowel_label = 'word') dur = one_end - one_begin writer.writerow([v._true_label,str(dur)])
def run(self): token_path = self.settings['path'] if not os.path.exists(token_path): token_path = '' if not token_path: return self.updateProgress.emit("Processing acoustic tokens, please be patient...") kwarg_dict = self.settings.acousticsim_kwarg() scores,self.reps = analyze_directory(token_path, call_back = self.updateProgress.emit,**kwarg_dict) self.updateProgress.emit("Finished acoustic processing! Clustering tokens now...") cn = ClusterNetwork(self.reps) cluster_method = self.settings['cluster_alg'] one_cluster = self.settings['one_cluster'] cn.cluster(scores,cluster_method,one_cluster) self.updateProgress.emit("Ready") self.dataReady.emit(cn)
def test_analyze_directory(call_back): kwargs = {'rep': 'mfcc','win_len': 0.025, 'time_step': 0.01, 'num_coeffs': 13, 'freq_lims': (0,8000),'return_rep':True, 'use_multi':True} scores,reps = analyze_directory(TEST_DIR, call_back = call_back,**kwargs)