Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Interpretación de una señal sonora mediante Python para poder apreciar el análisis de frecuencias
y demás componentes. Para esta ocasión se hará uso de un audio con sonido ambiente de una
lluvia y truenos , a continuación, se muestra el código usado y sus resultados.
import numpy as np
#import scipy
# Entradas
archivo = 'clp00765.wav'
print(sonido)
# Intervalo de tiempo
Ini = 0
Fin = 122868
Canal = 1
dt = 1/muestreo
NumM = len(t)
# Salida
plt.plot(t,fragmento)
plt.xlabel('t [segundos]')
plt.ylabel('Amplitud')
plt.show()
fft = np.fft.fft(fragmento)
magnitud = np.abs(fft)
FreqIzq = frecuencia[:int(len(frecuencia)/2)]
MagIzq = magnitud[:int(len(frecuencia)/2)]
ListMagIzq = list(MagIzq)
tmp = max(ListMagIzq)
index = ListMagIzq.index(tmp)
Frecuencia_Val_Max = frecuencia[index]
plt.figure(figsize = Fsize)
plt.ylabel('Magnitud')
plt.xlabel('Frecuencia')
plt.figure(figsize=Fsize)
librosa.display.waveshow(senal, NumM)
plt.ylabel("Amplitud")
# STFT
n_fft = 2048
hop_length = 512
stft = librosa.core.stft(senal, hop_length = hop_length, n_fft = n_fft)
espectrograma = np.abs(stft)
plt.figure(figsize=Fsize)
plt.xlabel("Tiempo")
plt.ylabel("Frecuencia")
cbar = plt.colorbar()
cbar.ax.set_ylabel('Magnitud')
GRAFICAS
• Amplitud de la señal