nahue-passano
fix
ac785c9
raw
history blame
948 Bytes
import streamlit as st
import soundfile as sf
import numpy as np
import matplotlib.pyplot as plt
# Configuraci贸n de la p谩gina de Streamlit
st.title("An谩lisis de Se帽al de Audio")
# Carga del archivo de audio
audio_file = st.file_uploader("Cargar archivo de audio", type=["wav", "flac", "ogg", "mp3"])
# Funci贸n para calcular la envolvente
def calculate_envelope(audio):
signal, sr = sf.read(audio)
abs_signal = np.abs(signal)
envelope = np.convolve(abs_signal, np.ones(100)/100, mode='same') # Suavizado con promedio m贸vil
return envelope
# Procesamiento y visualizaci贸n del resultado
if audio_file is not None:
if st.button("Calcular envolvente"):
envelope = calculate_envelope(audio_file)
# Visualizaci贸n de la envolvente
plt.plot(envelope)
plt.title("Envolvente de la se帽al de audio")
plt.xlabel("Tiempo (muestras)")
plt.ylabel("Amplitud")
st.pyplot(plt)