Nitzantry1's picture
Update app.py
3ab5767 verified
raw
history blame
843 Bytes
import gradio as gr
from pyannote.audio import Pipeline
# ื˜ื•ืขืŸ ืืช ื”ืžื•ื“ืœ ืฉืœ Pyannote ืœื–ื™ื”ื•ื™ ื“ื•ื‘ืจื™ื
pipeline = Pipeline.from_pretrained("pyannote/speaker-diarization")
# ืคื•ื ืงืฆื™ื” ืœื‘ื™ืฆื•ืข ื–ื™ื”ื•ื™ ื“ื•ื‘ืจื™ื
def diarize(audio_file):
diarization = pipeline(audio_file)
segments = []
for turn, _, speaker in diarization.itertracks(yield_label=True):
segments.append({
"start": turn.start,
"end": turn.end,
"speaker": speaker
})
return segments
# ื”ื’ื“ืจืช ืžืžืฉืง Gradio
interface = gr.Interface(
fn=diarize,
inputs=gr.Audio(source="upload", type="filepath"),
outputs="json",
description="Upload an audio file to get speaker diarization (timestamps and speaker IDs only)."
)
# ื”ืจืฆืช ื”ืžืžืฉืง
interface.launch()