udaykumar351's picture
Update app.py
4149bce verified
raw
history blame contribute delete
883 Bytes
# audio_classification_app.py
import gradio as gr
from transformers import pipeline
# Load pipeline (pretrained model)
classifier = pipeline("audio-classification", model="superb/wav2vec2-base-superb-ks")
def classify_audio(audio):
if audio is None:
return {"error": "No audio provided"}
# Gradio audio returns (sample_rate, data)
sr, data = audio
# Convert to Hugging Face expected format
inputs = {"array": data, "sampling_rate": sr}
# Run classification
results = classifier(inputs)
return results
with gr.Blocks() as demo:
gr.Markdown("## 🎵 Audio Classification (Keyword Spotting)")
with gr.Row():
audio_input = gr.Audio(sources=["microphone", "upload"], type="numpy")
output = gr.JSON()
audio_input.change(classify_audio, audio_input, output)
if __name__ == "__main__":
demo.launch()