bai4578 commited on
Commit
a45e589
·
verified ·
1 Parent(s): 0883e72

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +17 -8
app.py CHANGED
@@ -8,7 +8,7 @@ from pydub import AudioSegment
8
  # Initialize the Groq client
9
  client = Groq(api_key=os.environ["keko"])
10
 
11
- def save_audio(audio_file):
12
  if audio_file is None:
13
  return None, None, "No audio file provided."
14
 
@@ -17,7 +17,7 @@ def save_audio(audio_file):
17
  mp3_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
18
  audio.export(mp3_file.name, format="mp3")
19
 
20
- return mp3_file.name, mp3_file.name, "Audio saved successfully as MP3."
21
 
22
  def transcribe_audio(audio_file):
23
  if audio_file is None:
@@ -46,19 +46,28 @@ with gr.Blocks(title="Audio Recorder and Transcriber") as demo:
46
  audio_input = gr.Audio(sources=["microphone", "upload"], type="filepath", label="Record or Upload Audio")
47
 
48
  with gr.Row():
49
- save_btn = gr.Button("Save Audio")
50
  transcribe_btn = gr.Button("Transcribe Audio")
51
 
52
  with gr.Row():
53
- audio_output = gr.Audio(label="Saved Audio (MP3)", format="mp3")
54
- save_msg = gr.Textbox(label="Save Status")
55
 
56
  transcription_output = gr.Textbox(label="Transcription", show_copy_button=True)
57
 
58
- save_btn.click(
59
- save_audio,
 
 
 
60
  inputs=[audio_input],
61
- outputs=[audio_state, audio_output, save_msg]
 
 
 
 
 
 
62
  )
63
 
64
  transcribe_btn.click(
 
8
  # Initialize the Groq client
9
  client = Groq(api_key=os.environ["keko"])
10
 
11
+ def process_audio(audio_file):
12
  if audio_file is None:
13
  return None, None, "No audio file provided."
14
 
 
17
  mp3_file = tempfile.NamedTemporaryFile(delete=False, suffix=".mp3")
18
  audio.export(mp3_file.name, format="mp3")
19
 
20
+ return mp3_file.name, mp3_file.name, "Audio processed successfully."
21
 
22
  def transcribe_audio(audio_file):
23
  if audio_file is None:
 
46
  audio_input = gr.Audio(sources=["microphone", "upload"], type="filepath", label="Record or Upload Audio")
47
 
48
  with gr.Row():
49
+ process_btn = gr.Button("Process Audio")
50
  transcribe_btn = gr.Button("Transcribe Audio")
51
 
52
  with gr.Row():
53
+ audio_output = gr.Audio(label="Processed Audio (MP3)", format="mp3")
54
+ process_msg = gr.Textbox(label="Process Status")
55
 
56
  transcription_output = gr.Textbox(label="Transcription", show_copy_button=True)
57
 
58
+ def update_audio_state(audio):
59
+ return audio if audio else None
60
+
61
+ audio_input.change(
62
+ update_audio_state,
63
  inputs=[audio_input],
64
+ outputs=[audio_state]
65
+ )
66
+
67
+ process_btn.click(
68
+ process_audio,
69
+ inputs=[audio_state],
70
+ outputs=[audio_state, audio_output, process_msg]
71
  )
72
 
73
  transcribe_btn.click(