Delik's picture
Update app.py
db1ee1f verified
raw
history blame
994 Bytes
import gradio as gr
import os
import torch
import io
from pyannote.audio import Pipeline
from pyannote.audio import Audio
from pyannote.audio.pipelines.utils.hook import TimingHook
from pyannote.core import Segment
pipeline = Pipeline.from_pretrained(
"pyannote/speaker-diarization-3.1",
use_auth_token=os.environ['api'])
def process_audio(audio):
# Use the diarization pipeline to process the audio
diarization = diarization_pipeline(audio)
# Optionally, you can write the diarization output to disk using RTTM format
# with open("audio.rttm", "w") as rttm:
# diarization.write_rttm(rttm)
# Return the diarization output
return diarization
with gr.Blocks() as demo:
audio_input = gr.Audio(label="Upload Audio", source="upload")
process_button = gr.Button("Process")
diarization_output = gr.JSON(label="Diarization Output")
process_button.click(fn=process_audio, inputs=audio_input, outputs=diarization_output)
demo.launch()