pierreguillou
commited on
Commit
•
a05b433
1
Parent(s):
6f557bd
Update app.py
Browse files
app.py
CHANGED
@@ -22,8 +22,13 @@ def get_filename(file_obj):
|
|
22 |
|
23 |
def audio_to_transcript(file_obj):
|
24 |
# get all audio segments
|
25 |
-
|
26 |
-
|
|
|
|
|
|
|
|
|
|
|
27 |
start_segments, end_segments, text_segments = list(), list(), list()
|
28 |
for segment in segments:
|
29 |
start, end, text = segment.start, segment.end, segment.text
|
@@ -37,20 +42,23 @@ def audio_to_transcript(file_obj):
|
|
37 |
df["end"] = end_segments
|
38 |
df["text"] = text_segments
|
39 |
|
40 |
-
|
|
|
|
|
41 |
|
42 |
-
return
|
43 |
|
44 |
## Gradio interface
|
45 |
headers = ["start", "end", "text"]
|
46 |
iface = gr.Interface(fn=audio_to_transcript,
|
47 |
inputs=gr.File(label="Audio file"),
|
48 |
outputs=[
|
49 |
-
gr.Textbox(label="
|
|
|
50 |
gr.DataFrame(label="Transcript", headers=headers),
|
51 |
],
|
52 |
allow_flagging="never",
|
53 |
title="Audio to Transcript",
|
54 |
description="Just paste any audio file and get its corresponding transcript with timeline.",
|
55 |
)
|
56 |
-
iface.launch()
|
|
|
22 |
|
23 |
def audio_to_transcript(file_obj):
|
24 |
# get all audio segments
|
25 |
+
try:
|
26 |
+
filename = get_filename(file_obj)
|
27 |
+
segments, _ = model_whisper.transcribe(file_obj.name, beam_size=5, vad_filter=True)
|
28 |
+
except:
|
29 |
+
filename = file_obj.split("/")[-1]
|
30 |
+
segments, _ = model_whisper.transcribe(file_obj, beam_size=5, vad_filter=True)
|
31 |
+
|
32 |
start_segments, end_segments, text_segments = list(), list(), list()
|
33 |
for segment in segments:
|
34 |
start, end, text = segment.start, segment.end, segment.text
|
|
|
42 |
df["end"] = end_segments
|
43 |
df["text"] = text_segments
|
44 |
|
45 |
+
csv_file = filename.split(".")[0] + ".csv"
|
46 |
+
df.to_csv(csv_file, encoding="utf-8", index=False)
|
47 |
+
path_to_csv = gr.File.update(value=csv_file, visible=True)
|
48 |
|
49 |
+
return filename, path_to_csv, df
|
50 |
|
51 |
## Gradio interface
|
52 |
headers = ["start", "end", "text"]
|
53 |
iface = gr.Interface(fn=audio_to_transcript,
|
54 |
inputs=gr.File(label="Audio file"),
|
55 |
outputs=[
|
56 |
+
gr.Textbox(label="Audio file name"),
|
57 |
+
gr.File(label="Transcript csv file"),
|
58 |
gr.DataFrame(label="Transcript", headers=headers),
|
59 |
],
|
60 |
allow_flagging="never",
|
61 |
title="Audio to Transcript",
|
62 |
description="Just paste any audio file and get its corresponding transcript with timeline.",
|
63 |
)
|
64 |
+
iface.launch(debug=True)
|