Update app.py
Browse files
app.py
CHANGED
|
@@ -11,9 +11,11 @@ pipeline = Pipeline.from_pretrained(
|
|
| 11 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 12 |
pipeline.to(device)
|
| 13 |
|
|
|
|
|
|
|
|
|
|
| 14 |
|
| 15 |
-
|
| 16 |
-
diarization = pipeline(audio_path)
|
| 17 |
|
| 18 |
segments = []
|
| 19 |
speaker_map = {}
|
|
@@ -28,25 +30,7 @@ def diarize(audio_path):
|
|
| 28 |
"end": round(turn.end, 2)
|
| 29 |
})
|
| 30 |
|
| 31 |
-
|
| 32 |
-
merged = []
|
| 33 |
-
if segments:
|
| 34 |
-
current = segments[0]
|
| 35 |
-
for seg in segments[1:]:
|
| 36 |
-
if seg["speaker"] == current["speaker"] and seg["start"] <= current["end"] + 0.3:
|
| 37 |
-
current["end"] = seg["end"]
|
| 38 |
-
else:
|
| 39 |
-
merged.append(current)
|
| 40 |
-
current = seg
|
| 41 |
-
merged.append(current)
|
| 42 |
-
|
| 43 |
-
return {"segments": merged}
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
def process(audio):
|
| 47 |
-
if audio is None:
|
| 48 |
-
return {"error": "No audio"}
|
| 49 |
-
return diarize(audio)
|
| 50 |
|
| 51 |
|
| 52 |
demo = gr.Interface(
|
|
|
|
| 11 |
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
| 12 |
pipeline.to(device)
|
| 13 |
|
| 14 |
+
def process(audio):
|
| 15 |
+
if audio is None:
|
| 16 |
+
return {"error": "No audio"}
|
| 17 |
|
| 18 |
+
diarization = pipeline(audio)
|
|
|
|
| 19 |
|
| 20 |
segments = []
|
| 21 |
speaker_map = {}
|
|
|
|
| 30 |
"end": round(turn.end, 2)
|
| 31 |
})
|
| 32 |
|
| 33 |
+
return {"segments": segments}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 34 |
|
| 35 |
|
| 36 |
demo = gr.Interface(
|