Drbrain0620 commited on
Commit
43c3828
ยท
verified ยท
1 Parent(s): 00a977d

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +10 -7
main.py CHANGED
@@ -3,6 +3,8 @@ import base64
3
  import torch
4
  from transformers import pipeline
5
  import io
 
 
6
  from moviepy import VideoFileClip
7
 
8
  # Whisper ๋ชจ๋ธ์„ pipeline์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
@@ -10,15 +12,16 @@ whisper = pipeline("automatic-speech-recognition", model="openai/whisper-small")
10
 
11
  def extract_audio(video_path):
12
  try:
 
 
 
13
  # ๋น„๋””์˜ค ํŒŒ์ผ ๋กœ๋“œ
14
  video = VideoFileClip(video_path)
15
 
16
- # ์˜ค๋””์˜ค ์ถ”์ถœ
17
- audio_buffer = io.BytesIO()
18
- video.audio.write_audiofile(audio_buffer, codec='mp3')
19
- audio_buffer.seek(0)
20
 
21
- return audio_buffer
22
  except Exception as e:
23
  return f"์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}"
24
 
@@ -28,7 +31,7 @@ def transcribe_audio(audio):
28
  return "์—๋Ÿฌ: ์˜ค๋””์˜ค ์—†์Œ", ""
29
 
30
  result = whisper(audio)
31
- return result["text"], base64.b64encode(result["text"].encode()).decode() #type: ignore
32
 
33
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค
34
  demo1 = gr.Interface(
@@ -51,4 +54,4 @@ demo2 = gr.Interface(
51
  demo = gr.TabbedInterface((demo1, demo2), ('Speech-To-Text', '์˜ค๋””์˜ค ์ถ”์ถœ๊ธฐ'))
52
 
53
  # ์•ฑ ์‹คํ–‰
54
- demo.launch()
 
3
  import torch
4
  from transformers import pipeline
5
  import io
6
+ import os
7
+ import tempfile
8
  from moviepy import VideoFileClip
9
 
10
  # Whisper ๋ชจ๋ธ์„ pipeline์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ
 
12
 
13
  def extract_audio(video_path):
14
  try:
15
+ # ์ž„์‹œ ํŒŒ์ผ ์ƒ์„ฑ
16
+ temp_audio_path = tempfile.NamedTemporaryFile(suffix='.mp3', delete=False).name
17
+
18
  # ๋น„๋””์˜ค ํŒŒ์ผ ๋กœ๋“œ
19
  video = VideoFileClip(video_path)
20
 
21
+ # ์˜ค๋””์˜ค ์ถ”์ถœ ๋ฐ ์ž„์‹œ ํŒŒ์ผ๋กœ ์ €์žฅ
22
+ video.audio.write_audiofile(temp_audio_path, codec='mp3', verbose=False, logger=None)
 
 
23
 
24
+ return temp_audio_path
25
  except Exception as e:
26
  return f"์˜ค๋ฅ˜ ๋ฐœ์ƒ: {e}"
27
 
 
31
  return "์—๋Ÿฌ: ์˜ค๋””์˜ค ์—†์Œ", ""
32
 
33
  result = whisper(audio)
34
+ return result["text"], base64.b64encode(result["text"].encode()).decode()
35
 
36
  # Gradio ์ธํ„ฐํŽ˜์ด์Šค
37
  demo1 = gr.Interface(
 
54
  demo = gr.TabbedInterface((demo1, demo2), ('Speech-To-Text', '์˜ค๋””์˜ค ์ถ”์ถœ๊ธฐ'))
55
 
56
  # ์•ฑ ์‹คํ–‰
57
+ demo.launch()