Spaces:
Running
Running
File size: 2,403 Bytes
358177d 273b347 358177d |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
import os
import librosa
import matplotlib.pyplot as plt
import gradio as gr
# Encabezado personalizado para Gradio
encabezado = """
驴C贸mo se almacena digitalmente una onda de voz humana?
Desde la 贸ptica del c贸mputo forense, el an谩lisis de se帽ales de audio como la voz humana es importante para la identificaci贸n de individuos, la verificaci贸n de autenticidad y la detecci贸n de manipulaciones en archivos de audio. Este ejemplo fue desarrollado por Jos茅 R. Leonett para la comunidad de peritos forenses digitales de Guatemala www.forensedigital.gt.
"""
def analizar_audio(archivo_audio):
# Cargar el archivo de audio
y, sr = librosa.load(archivo_audio, sr=None) # y: se帽al de audio, sr: tasa de muestreo
# Calcular la duraci贸n del audio
duracion = len(y) / sr
# Generar la forma de onda
plt.figure(figsize=(10, 4))
librosa.display.waveshow(y, sr=sr)
plt.title(f'Forma de Onda del Audio: {os.path.basename(archivo_audio)}')
plt.xlabel('Tiempo (s)')
plt.ylabel('Amplitud')
plt.tight_layout()
# Guardar la figura como una imagen
ruta_imagen = "forma_onda.png"
plt.savefig(ruta_imagen)
plt.close()
# Obtener las primeras 40 muestras de la se帽al de audio
muestras = y[:40]
muestras_str = "Secuencia num茅rica de la se帽al de audio (primeras 40 muestras):\n"
muestras_str += "\n".join([f"{i+1}: {muestra:.6f}" for i, muestra in enumerate(muestras)])
# Devolver la imagen y los resultados de texto
return ruta_imagen, f"Duraci贸n del audio: {duracion:.2f} segundos\n\n{muestras_str}"
# Crear la interfaz de Gradio
iface = gr.Interface(
fn=analizar_audio,
inputs=gr.Audio(type="filepath", label="Sube tu archivo de audio (.wav, .mp3, etc.)"),
outputs=[
gr.Image(label="Forma de Onda del Audio"),
gr.Textbox(label="Resultados del An谩lisis")
],
title=" 馃摶 An谩lisis de Se帽ales de Audio",
description="Este programa dise帽ado por Jos茅 R. Leonett para comprender que cuando grabamos nuestra voz, la onda de sonido (que es una se帽al anal贸gica) se convierte en una se帽al digital mediante un proceso llamado digitalizaci贸n. Creado pare el grupo de Peritos Forenses Digitales de Guatemala [www.forensedigital.gt](https://www.forensedigital.gt).",
allow_flagging="never",
theme="huggingface" # Tema moderno
)
# Lanzar la interfaz de Gradio
iface.launch()
|