def plot_obs(self): #Tamano caja L = self.Lbox.get() #Posicion de la fuente X0 = self.xsource.get() Y0 = self.ysource.get() #Posicion del observador XOb = self.xobs.get() YOb = self.yobs.get() #Frecuencia f = self.freq.get() #Velocidad de onda vel = self.vel.get() #Longitud de onda lamb = vel / f #Condicional de fronteras reflectivas reflex = self.frontera.get() #Intervalo de tiempo dt = 1 / (44100.) #Tiempo maximo tmax = self.tmax.get() #Arreglo de tiempo self.tiempo = np.arange(0, tmax, dt) #Calculo de campo en el punto del observador self.Z = \ Z_amplitud(XOb, YOb, X0, Y0, self.tiempo, f, lamb ) if reflex == 1: self.Z -= \ Z_amplitud(XOb, YOb, 0.0, -Y0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, 0.0, 2*L-Y0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, -X0, 0.0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, 2*L-X0, 0.0, self.tiempo, f, lamb ) self.Z *= 1 / (5.) #Grafica self.ax.clear() self.ax.grid() self.ax.set_title('Amplitud Onda Sonora por Observador') self.ax.set_xlabel('tiempo [s]') self.ax.set_ylabel('Amplitud [$A_0$]') self.ax.plot(self.tiempo, self.Z / (1.0 * ad.Amplitude)) self.ax.set_ylim((-1, 1)) self.ax.set_xlim((0, tmax)) self.canvas.draw() #Creando objeto de audio sonido = ad.audio() #Cargando nota de audio sonido.load(self.Z) #Reproduciendo sonido sonido.play()
def plot_obs(self): #Tamano caja L = self.Lbox.get() #Posicion de la fuente X0 = self.xsource.get() Y0 = self.ysource.get() #Posicion del observador XOb = self.xobs.get() YOb = self.yobs.get() #Frecuencia f = self.freq.get() #Velocidad de onda vel = self.vel.get() #Longitud de onda lamb = vel/f #Condicional de fronteras reflectivas reflex = self.frontera.get() #Intervalo de tiempo dt = 1/(44100.) #Tiempo maximo tmax = self.tmax.get() #Arreglo de tiempo self.tiempo = np.arange( 0, tmax, dt ) #Calculo de campo en el punto del observador self.Z = \ Z_amplitud(XOb, YOb, X0, Y0, self.tiempo, f, lamb ) if reflex == 1: self.Z -= \ Z_amplitud(XOb, YOb, 0.0, -Y0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, 0.0, 2*L-Y0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, -X0, 0.0, self.tiempo, f, lamb )+\ Z_amplitud(XOb, YOb, 2*L-X0, 0.0, self.tiempo, f, lamb ) self.Z *= 1/(5.) #Grafica self.ax.clear() self.ax.grid() self.ax.set_title('Amplitud Onda Sonora por Observador') self.ax.set_xlabel('tiempo [s]') self.ax.set_ylabel('Amplitud [$A_0$]') self.ax.plot( self.tiempo, self.Z/(1.0*ad.Amplitude) ) self.ax.set_ylim( (-1, 1) ) self.ax.set_xlim( (0, tmax) ) self.canvas.draw() #Creando objeto de audio sonido = ad.audio() #Cargando nota de audio sonido.load( self.Z ) #Reproduciendo sonido sonido.play()
tau = 1. #Tiempo maximo [s] tmax = 5 #Intervalos dt = 1/44100. #Arreglo de tiempo tiempo = np.arange( 0, tmax, dt ) #Potencial V = Vfem( tiempo ) #Oscilacion original y_cuerda = y( tiempo ) #Grafica plt.plot( tiempo, V, linewidth = 0.5 ) plt.grid() plt.title( "Potencial inducido por una bobina fonocaptora") plt.xlabel( "t [s]" ) plt.ylabel( "Potential [V_0]" ) plt.show() #Audio producido por la bobina nota_bobina = ad.audio() nota_bobina.load( V*ad.Amplitude/max(V) ) nota_bobina.play() #Audio original de la cuerda nota_cuerda = ad.audio() nota_cuerda.load( y_cuerda*ad.Amplitude/max(y_cuerda) ) nota_cuerda.play()
# Efecto Doppler #========================================================== #********************************************************** # MODULOS #********************************************************** import numpy as np import os import matplotlib.pylab as plt import AudioLib as ad #Velocidad del sonido [m/s] vs = 331.5 #Creando objeto de audio sonido = ad.audio() #Intervalo de tiempo dt = 1/(44100.) #Frecuencia de nota [Hz] freq0 = 110. #Tiempo maximo [s] tmax = 6. #Arreglo de tiempo tiempo = np.arange( 0, tmax, dt ) #Nota a reproducir nota = ad.Amplitude*np.sin( 2*np.pi*freq0*tiempo ) #Cargando nota de audio sonido.load( nota )
# Efecto Doppler #========================================================== #********************************************************** # MODULOS #********************************************************** import numpy as np import os import matplotlib.pylab as plt import AudioLib as ad #Velocidad del sonido [m/s] vs = 331.5 #Creando objeto de audio sonido = ad.audio() #Intervalo de tiempo dt = 1 / (44100.) #Frecuencia de nota [Hz] freq0 = 110. #Tiempo maximo [s] tmax = 6. #Arreglo de tiempo tiempo = np.arange(0, tmax, dt) #Nota a reproducir nota = ad.Amplitude * np.sin(2 * np.pi * freq0 * tiempo) #Cargando nota de audio sonido.load(nota)