Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -0,0 +1,50 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# app.py
|
2 |
+
|
3 |
+
import gradio as gr
|
4 |
+
import speech_recognition as sr
|
5 |
+
from transformers import pipeline
|
6 |
+
from datetime import datetime
|
7 |
+
|
8 |
+
# μμ½κΈ° μ΄κΈ°ν
|
9 |
+
summarizer = pipeline("summarization", model="t5-small")
|
10 |
+
|
11 |
+
# μμ± νμΌμ λ°μ ν
μ€νΈ λ³ν β μμ½ β νμλ‘ μμ±
|
12 |
+
def transcribe_and_summarize(audio):
|
13 |
+
recognizer = sr.Recognizer()
|
14 |
+
with sr.AudioFile(audio) as source:
|
15 |
+
audio_data = recognizer.record(source)
|
16 |
+
try:
|
17 |
+
text = recognizer.recognize_google(audio_data, language="ko-KR")
|
18 |
+
except:
|
19 |
+
return "μμ± μΈμ μ€ν¨", "", ""
|
20 |
+
|
21 |
+
summary = summarizer(text, max_length=100, min_length=30, do_sample=False)[0]['summary_text']
|
22 |
+
|
23 |
+
now = datetime.now().strftime("%Y-%m-%d %H:%M")
|
24 |
+
minutes = f"""
|
25 |
+
# νμλ‘
|
26 |
+
|
27 |
+
- λ μ§: {now}
|
28 |
+
- νμ μμ½:
|
29 |
+
{summary}
|
30 |
+
|
31 |
+
- μ 체 λ΄μ©:
|
32 |
+
{text}
|
33 |
+
"""
|
34 |
+
return text, summary, minutes
|
35 |
+
|
36 |
+
# Gradio UI ꡬμ±
|
37 |
+
demo = gr.Interface(
|
38 |
+
fn=transcribe_and_summarize,
|
39 |
+
inputs=gr.Audio(source="microphone", type="filepath", label="π λ§μ΄ν¬λ‘ λ§νμΈμ"),
|
40 |
+
outputs=[
|
41 |
+
gr.Textbox(label="π μ 체 ν
μ€νΈ"),
|
42 |
+
gr.Textbox(label="π§ μμ½λ¬Έ"),
|
43 |
+
gr.Textbox(label="π νμλ‘ (볡μ¬/μ μ₯ κ°λ₯)"),
|
44 |
+
],
|
45 |
+
title="νμλ‘ μλ μμ±κΈ°",
|
46 |
+
description="λ§νλ©΄ ν
μ€νΈμ μμ½, νμλ‘μ μλμΌλ‘ μμ±ν΄μ€λλ€. iPad/PC λͺ¨λ μ¬μ© κ°λ₯.",
|
47 |
+
)
|
48 |
+
|
49 |
+
if __name__ == "__main__":
|
50 |
+
demo.launch()
|