File size: 994 Bytes
f30c373
7c9216a
18e78ec
 
 
 
 
 
ba685bf
1c57ed2
 
 
 
 
1429210
db1ee1f
 
 
 
 
 
 
 
 
 
1429210
db1ee1f
2129f6b
 
db1ee1f
1429210
db1ee1f
2129f6b
 
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
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()