Asssident's picture
Create app.py
3d42d48 verified
raw
history blame contribute delete
909 Bytes
import gradio as gr
import librosa
import numpy as np
import tensorflow as tf
from tensorflow import keras
# Load trained model
model = keras.models.load_model("engine_sound_model.h5")
# Class labels
labels = ["normal", "faulty", "background_noise", "unknown"]
def predict_engine_sound(audio_file):
y, sr = librosa.load(audio_file, sr=22050)
mfccs = librosa.feature.mfcc(y=y, sr=sr, n_mfcc=13)
features = np.mean(mfccs.T, axis=0)
features = np.expand_dims(features, axis=0)
prediction = model.predict(features)
return labels[np.argmax(prediction)]
# Create a Gradio interface
iface = gr.Interface(
fn=predict_engine_sound,
inputs=gr.Audio(type="filepath"),
outputs="text",
title="Engine Sound Fault Detector",
description="Upload an engine sound and the model will classify it as normal, faulty, or background noise."
)
# Launch the Gradio app
iface.launch()