def extraerMensaje(self): global msj global variable msj = self.ui.lineEdit.text() mensajeBinario = c_emisor.text_to_bits(msj) destinoBinario = c_emisor.text_to_bits(nuevo_receptor.get_direccion()) señalDigital = c_emisor.codificar( mensajeBinario, destinoBinario, c_emisor.text_to_bits(nuevo_emisor.get_direccion()), c_emisor.text_to_bits("1"), c_util.dec_to_bin(c_util.checksum(4, mensajeBinario)), ) señalDigitalArray = c_util.text_to_array(señalDigital) señalAnaloga = c_modulador.output_sound( "audios/pruebaSinRuido_desdeGUI" + str(variable) + ".wav", señalDigitalArray, 1200, 44100 ) # Canal # señalAnalogaRuido = c_util.generar_ruido("audios/ruido_Jonas_desdeGUI" + str(variable) + ".wav") rate_ruido, data_ruido = c_util.leeraudio("audios/ruido_Jonas_desdeGUI" + str(variable) + ".wav") rate_original, data_original = c_util.leeraudio("audios/pruebaSinRuido_desdeGUI" + str(variable) + ".wav") señalFinal = c_canal.sumar_ruido( "audios/senal_ruido_jonas_desdeGUI" + str(variable) + ".wav", data_original, data_ruido ) variable += 1 if msj: self.ui.mostrarmensaje(usuario, msj, color_rmte) self.ui.lineEdit.clear() else: func.aviso()
def abrir_archivo(self): fname = QtGui.QFileDialog.getOpenFileName( self, "Cargar archivo de Audio", "/Users/Camilo/PycharmProjects/digital-radio/src/audios", "" ) print(fname) if fname != "": rate_obtenido, data_obtenido = c_util.leeraudio(fname) try: cadena_obtenida = c_demodular.demodular(data_obtenido) mensaje_final = c_util.array_to_string(cadena_obtenida) print(mensaje_final[0:8]) if mensaje_final[0:8] == "10000001": if nuevo_receptor.get_direccion() == c_receptor.recuperar_receptor(mensaje_final): validacion = c_util.checksum(4, mensaje_final[128:2176]) # print(int(c_receptor.recuperar_fcs(mensaje_final), 2)) # valor = c_util.dec_to_bin(validacion) # print("el valor es:"+valor) # print("el otro valor es:"+c_receptor.recuperar_fcs(mensaje_final)) if int(c_receptor.recuperar_fcs(mensaje_final), 2) == validacion: global direcciones if c_receptor.recuperar_emisor(mensaje_final) in direcciones: print(direcciones.get(c_receptor.recuperar_emisor(mensaje_final))) self.ui.pinta_amarillo(direcciones.get(c_receptor.recuperar_emisor(mensaje_final))) rmte = direcciones.get(c_receptor.recuperar_emisor(mensaje_final)) msg = c_receptor.recuperar_mensaje(mensaje_final) mensajes[rmte] = msg # direcciones.pop(c_receptor.recuperar_emisor(mensaje_final)) else: func.aviso_noestuyo() else: func.aviso_check() else: func.bandera_incorrecta() print("mensaje viene de forma incorrecta") except UnicodeDecodeError: func.aviso_ruido()