def save_to_db(self): if (self.load_check and self.analyze_check): w_name = str(self.wavelet_type) table_name = "Db_GTZAN_function_" + w_name + "_Degree_" + str( self.wavelet_level) Database.create_table( Database.database_name, table_name, self.db_header, "") # creating new table with statistic function for index in range(0, len(self.all_signals)): name = self.all_signals[index].split(sep='/') #name of signal Database.delete_row(Database.database_name, table_name, name[-1], "") Database.add_values_to_table(Database.database_name, table_name, name[-1], self.db_header, self.db_matrix[index], "") #adding db to values Features.message("Your Data Saved Succesfully", QMessageBox.Information) else: if (self.load_check): Features.message("You have to analyze the signals first", QMessageBox.Warning) else: Features.message("You have to load at least 1 signal", QMessageBox.Warning)
def save_to_db(self): if (self.load_check and self.analyze_check): w_name = str(self.wavelet_type) table_name = "Db_GTZAN_function_" + w_name + "_Degree_" + str( self.wavelet_level) Database.create_table( Database.database_name, table_name, self.db_header, "") # İstatistiksel fonksiyonlar için tablo oluşturma for index in range(0, len(self.all_signals)): name = self.all_signals[index].split(sep='/') #Sinyalin adı Database.delete_row(Database.database_name, table_name, name[-1], "") Database.add_values_to_table(Database.database_name, table_name, name[-1], self.db_header, self.db_matrix[index], "") #Db'ye değerleri girme Features.message("Your Data Saved Succesfully", QMessageBox.Information) else: if (self.load_check): Features.message("You have to analyze the signals first", QMessageBox.Warning) else: Features.message("You have to load at least 1 signal", QMessageBox.Warning)
def save_to_db(self): if (self.load_check and self.analyze_check): w_name = str(self.wavelet_type) table_name = "Db_GTZAN_function_" + w_name + "_Scale_" + self.min_scale + "_to_" + self.max_scale + "_Period_" + self.sampling_per Database.create_table( Database.database_name, table_name, self.db_header, "") #İstatistiksel fonksiyonlar ile yeni tablo oluşturma Database.create_table(Database.database_name, table_name, self.db_header, "Comp_") for index in range(0, len(self.all_signals)): name = self.all_signals[index].split(sep='/') Database.delete_row(Database.database_name, table_name, name[-1], "") Database.add_values_to_table(Database.database_name, table_name, name[-1], self.db_header, self.db_matrix[index], "") Database.delete_row(Database.database_name, table_name, name[-1], "Comp_") Database.add_values_to_table(Database.database_name, table_name, name[-1], self.db_header, self.db_matrix[index], "Comp_") Features.message("Your Data Saved Succesfully !", QMessageBox.Warning) else: if (self.load_check): Features.message("You have to analyze the signals first !", QMessageBox.Warning) else: Features.message("You have to load at least 1 signal !", QMessageBox.Warning)
def run(self): wave_types = pywt.wavelist(kind='discrete') levels = [1, 2, 3] signals = [] self.average, self.entropy, self.kurtosis, self.max_v, self.median, self.min_v, self.skewness, self.standart_dev = Features.check_statistics( self) table_names = Database.get_table_names(Database.database_name) for wave_func in wave_types: if wave_func.find("sym") == -1: for level in levels: self.wavelet_level = level self.wavelet_type = wave_func col, self.header, self.db_header = Features.init_table( self, len(self.all_signals)) self.db_matrix = np.zeros( (len(self.all_signals), 8 * (self.wavelet_level + 1))) if not any("Db_GTZAN_function_" + str(wave_func) + "_Degree_" + str(level) in s for s in table_names): for iter in range(0, len(self.all_signals)): self.signals.clear() self.audio, self.sample = librosa.load( self.all_signals[iter]) self.signals.append(self.audio) self.time = np.arange(0, len( self.audio)) / self.sample coeffs = pywt.wavedec( self.audio, self.wavelet_type, level=self.wavelet_level) # wavelet analyze for i in range(0, self.wavelet_level + 1): self.signals.append( coeffs[i] ) # adding signals array to coeffs self.db_matrix[iter] = Features.insertTable( self, iter, col ) # level = 3 ise signals içinde 5 (4 analiz edilmiş + 1 kaynak) w_name = str(wave_func) table_name = "Db_GTZAN_function_" + w_name + "_Degree_" + str( level) Database.create_table(Database.database_name, table_name, self.db_header, "") for index in range(0, len(self.all_signals)): name = self.all_signals[index].split( sep='/') # name of signal Database.delete_row(Database.database_name, table_name, name[-1], "") Database.add_values_to_table( Database.database_name, table_name, name[-1], self.db_header, self.db_matrix[index], "") # adding db to values print(table_name) else: print("Db_GTZAN_function_" + str(wave_func) + "_Degree_" + str(level) + ' passed') else: print(wave_func + " passed")