Está en la página 1de 6

Señal Componentes

Si diseña un equipo para transmitir el tono «la» de 440Hz, debe tomar en


cuenta que no siempre es posible obtener una expresión matemática
«sencilla» de una señal.

Escuche los siguientes sonidos, vea sus gráficas y realice sus observaciones:

○ sonido 1
○ sonido 2
○ sonido 3

○ Proponga algunas expresiones matemáticas para cada una de las


graficas mostradas.
○ ¿Que tienen en común cada una de las señales?
○ ¿Que tienen de diferente?

Algoritmo en Python

Para obtener la gráfica de los sonidos, se leen los datos y frecuencias de


muestreo de cada uno de los archivos.wav

% matplotlib inline
# Señales analógicas
# propuesta: edelros@espol.edu.ec
# librerias
import numpy as np
import matplotlib.pyplot as plt
import scipy.io.wavfile as waves

# INGRESO
archivo1 = '440Hz_44100Hz_16bit_05sec.wav'
muestreo1, sonido1 = waves.read(archivo1)
archivo2 = '440Hz_piano.wav'
muestreo2, sonido2 = waves.read(archivo2)
archivo3 = '440Hz_violin_A4.wav'
muestreo3, sonido3 = waves.read(archivo3)

c:\python34\lib\site-packages\scipy\io\wavfile.py:17
9: WavFileWarning: Chunk (non-data) not understood,
skipping it.
WavFileWarning)
Nota​: si el archivo.wav tiene etiquetas, se descartan para el ejercicio. por lo
que se presenta una advertencia «WavFileWarning».

# SALIDA - Observacion intermedia


print('archivo, frecuencia , dimensiones:')
print('sonido1: ', muestreo1, np.shape(sonido1))
print('sonido2: ', muestreo2, np.shape(sonido2))
print('sonido3: ', muestreo3, np.shape(sonido3))

archivo, frecuencia , dimensiones:


sonido1: 44100 (220500,)
sonido2: 11025 (16538,)
sonido3: 22050 (98160,)

Se observa que:

○ todos los «sonidos» son monofónicos,


○ las frecuencias de ​muestreo​ de cada archivo son diferentes
○ las ​dimensiones​ de cada «sonido» o cantidad de muestras
indican una duración diferente

Se recomienda escuchar nuevamente cada​ sonido​ y decidir el intervalo de


observación para las gráficas. Se propone usar una ventana de observación o
fragmento​ desde de los 1.2 segundos por 11 milisegundos.

Se extraen los ​fragmentos​ de cada ​sonido​ y se determinan los tiempos a los


que corresponden basados en cada ​dt​, con lo que se grafican los fragmentos.
# PROCEDIMIENTO
# ventana de observación
inicia = 1.2
termina = 1.211
canal = 0

# Extraen los fragmentos de sonido


dt1 = 1/muestreo1
t1 = np.arange(inicia,termina,dt1)
muestras = len(t1)
fragmento1=sonido1[int(inicia/dt1):int(inicia/dt1)+m
uestras]

dt2 = 1/muestreo2
t2 = np.arange(inicia,termina,dt2)
muestras = len(t2)
fragmento2 =
sonido2[int(inicia/dt2):int(inicia/dt2)+muestras]

dt3 = 1/muestreo3
t3 = np.arange(inicia,termina,dt3)
muestras = len(t3)
fragmento3 =
sonido3[int(inicia/dt3):int(inicia/dt3)+muestras]

# SALIDA
plt.subplot(311)
plt.plot(t1,fragmento1)
plt.ylabel('sonido1(t)')
plt.subplot(312)
plt.plot(t2,fragmento2)
plt.ylabel('sonido2(t)')
plt.subplot(313)
plt.plot(t3,fragmento3)
plt.ylabel('sonido3(t)')
plt.xlabel('t segundos')
plt.show()

Una vez obtenidas las gráficas, realice observaciones adicionales a cada una
de las señales de sonido:

1.

2.

3.

Pregunta​:

Para la nota musical «la», ejecutada en un violin tradicional tradicional de


madera, ¿tendrá la misma forma de señal siempre?.

Considere las siguientes situaciones:


a. Tocada por diferentes músicos

b. en diferentes lugares

c. en diferentes días

Tarea

Buscar la nota «La» en otros instrumentos en formato.wav. De ser necesario


realizar observaciones adicionales.

También podría gustarte