File size: 987 Bytes
4acc3cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import torch
from transformers import pipeline
import gradio as gr

MODEL_NAME = "JackismyShephard/whisper-medium.en-finetuned-gtzan"

device = 0 if torch.cuda.is_available() else "cpu"

pipe = pipeline(
    task="audio-classification",
    model=MODEL_NAME,
    device=device,
)

def classify_audio(filepath):
    preds = pipe(filepath, top_k = 10)
    outputs = {}
    for p in preds:
        outputs[p["label"]] = p["score"]
    return outputs

demo = gr.Interface(
    fn=classify_audio,
    inputs= gr.Audio(label="Audio file", type="filepath"),
    outputs=gr.Label(),
    title="Music Genre Classification",
    description=(
        "Classify long-form audio or microphone inputs with the click of a button! Demo uses the"
        f" checkpoint [{MODEL_NAME}](https://huggingface.co/{MODEL_NAME}) and 🤗 Transformers to classify audio files"
        " of arbitrary length."
    ),
    examples="./examples",
    cache_examples=True,
    allow_flagging="never",
)

demo.launch()