yachimat commited on
Commit
b060537
1 Parent(s): 4956c3c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -5
app.py CHANGED
@@ -16,7 +16,7 @@ AudioSegment.ffprobe = ffmpeg_path
16
  # OpenAIクライアントの初期化
17
  client = OpenAI()
18
 
19
- def process_audio(audio_file, info):
20
  output_format = info["出力フォーマットを選択"]
21
 
22
  audio_data = audio_file.read()
@@ -40,12 +40,17 @@ def process_audio(audio_file, info):
40
  # Initialize variables
41
  parts = []
42
  start_ms = 0
 
 
 
43
  while start_ms < duration_ms:
44
  # Calculate end of the part
45
  end_ms = min(start_ms + max_duration_per_part, duration_ms)
46
  part = audio[start_ms:end_ms]
47
  parts.append(part)
48
  start_ms = end_ms
 
 
49
 
50
  # Process each part and concatenate text results
51
  full_transcript = ""
@@ -72,16 +77,16 @@ def process_audio(audio_file, info):
72
  docx_buffer.seek(0)
73
  return docx_buffer.getvalue()
74
 
75
-
76
  iface = gr.Interface(
77
  fn=process_audio,
78
  inputs=[
79
  gr.Audio(type="filepath", label="音声ファイルをアップロード"),
80
  gr.Radio(choices=["テキスト", "Docx"], label="出力フォーマットを選択")
81
  ],
82
- outputs=None, # We'll dynamically define the outputs inside the function
83
  title="音声ファイルをテキストに変換",
84
- description="このツールは音声ファイルをテキストに変換します。出力形式としてテキストまたはWord文書を選択できます。"
 
85
  )
86
 
87
- iface.launch()
 
16
  # OpenAIクライアントの初期化
17
  client = OpenAI()
18
 
19
+ def process_audio(audio_file, info, progress):
20
  output_format = info["出力フォーマットを選択"]
21
 
22
  audio_data = audio_file.read()
 
40
  # Initialize variables
41
  parts = []
42
  start_ms = 0
43
+ total_parts = int(duration_ms / max_duration_per_part) + 1
44
+ part_index = 0
45
+
46
  while start_ms < duration_ms:
47
  # Calculate end of the part
48
  end_ms = min(start_ms + max_duration_per_part, duration_ms)
49
  part = audio[start_ms:end_ms]
50
  parts.append(part)
51
  start_ms = end_ms
52
+ part_index += 1
53
+ progress(part_index / total_parts) # Update progress
54
 
55
  # Process each part and concatenate text results
56
  full_transcript = ""
 
77
  docx_buffer.seek(0)
78
  return docx_buffer.getvalue()
79
 
 
80
  iface = gr.Interface(
81
  fn=process_audio,
82
  inputs=[
83
  gr.Audio(type="filepath", label="音声ファイルをアップロード"),
84
  gr.Radio(choices=["テキスト", "Docx"], label="出力フォーマットを選択")
85
  ],
86
+ outputs="textbox",
87
  title="音声ファイルをテキストに変換",
88
+ description="このツールは音声ファイルをテキストに変換します。出力形式としてテキストまたはWord文書を選択できます。",
89
+ allow_flagging="never"
90
  )
91
 
92
+ iface.launch()