owiedotch commited on
Commit
73fdeaf
1 Parent(s): 50a007c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -6
app.py CHANGED
@@ -49,9 +49,11 @@ def encode_audio(audio_file_path):
49
  # Convert tokens to NumPy and save to .owie file
50
  tokens_numpy = tokens.detach().cpu().numpy()
51
 
52
- # Ensure tokens_numpy is 1D
53
- if tokens_numpy.ndim != 1:
54
- raise ValueError("Tokens array must be 1D")
 
 
55
 
56
  # Create temporary .owie file
57
  temp_fd, temp_file_path = tempfile.mkstemp(suffix=".owie")
@@ -67,10 +69,18 @@ def encode_audio(audio_file_path):
67
 
68
  except Exception as e:
69
  print(f"Encoding error: {e}")
70
- return str(e) # Return error message as string
71
 
72
  finally:
73
  cancel_encode = False # Reset cancel flag after encoding
 
 
 
 
 
 
 
 
74
 
75
  @spaces.GPU(duration=250)
76
  def decode_audio(encoded_file_path):
@@ -156,8 +166,13 @@ with gr.Blocks() as demo:
156
  encode_button = gr.Button("Encode")
157
  cancel_encode_button = gr.Button("Cancel")
158
  encoded_output = gr.File(label="Encoded File (.owie)", type="filepath") # Using "filepath" mode
 
159
 
160
- encode_button.click(encode_audio, inputs=input_audio, outputs=encoded_output)
 
 
 
 
161
  cancel_encode_button.click(lambda: globals().update(cancel_encode=True), outputs=None) # Set cancel_encode flag
162
 
163
  with gr.Tab("Decode"):
@@ -178,4 +193,4 @@ with gr.Blocks() as demo:
178
  stream_button.click(stream_decode_audio, inputs=input_encoded_stream, outputs=audio_output)
179
  cancel_stream_button.click(lambda: globals().update(cancel_stream=True), outputs=None) # Set cancel_stream flag
180
 
181
- demo.queue().launch()
 
49
  # Convert tokens to NumPy and save to .owie file
50
  tokens_numpy = tokens.detach().cpu().numpy()
51
 
52
+ # Ensure tokens_numpy is 2D
53
+ if tokens_numpy.ndim == 1:
54
+ tokens_numpy = tokens_numpy.reshape(1, -1)
55
+ elif tokens_numpy.ndim > 2:
56
+ raise ValueError("Tokens array must be 1D or 2D")
57
 
58
  # Create temporary .owie file
59
  temp_fd, temp_file_path = tempfile.mkstemp(suffix=".owie")
 
69
 
70
  except Exception as e:
71
  print(f"Encoding error: {e}")
72
+ return None # Return None instead of the error message
73
 
74
  finally:
75
  cancel_encode = False # Reset cancel flag after encoding
76
+ if 'temp_wav_file_path' in locals():
77
+ os.remove(temp_wav_file_path) # Clean up temporary WAV file
78
+
79
+ # Add this function to handle the output
80
+ def handle_encode_output(file_path):
81
+ if file_path is None:
82
+ return None, gr.Markdown("Encoding failed. Please check the input file and try again.", visible=True)
83
+ return file_path, gr.Markdown(visible=False)
84
 
85
  @spaces.GPU(duration=250)
86
  def decode_audio(encoded_file_path):
 
166
  encode_button = gr.Button("Encode")
167
  cancel_encode_button = gr.Button("Cancel")
168
  encoded_output = gr.File(label="Encoded File (.owie)", type="filepath") # Using "filepath" mode
169
+ encode_error_message = gr.Markdown(visible=False)
170
 
171
+ encode_button.click(
172
+ lambda x: handle_encode_output(encode_audio(x)),
173
+ inputs=input_audio,
174
+ outputs=[encoded_output, encode_error_message]
175
+ )
176
  cancel_encode_button.click(lambda: globals().update(cancel_encode=True), outputs=None) # Set cancel_encode flag
177
 
178
  with gr.Tab("Decode"):
 
193
  stream_button.click(stream_decode_audio, inputs=input_encoded_stream, outputs=audio_output)
194
  cancel_stream_button.click(lambda: globals().update(cancel_stream=True), outputs=None) # Set cancel_stream flag
195
 
196
+ demo.queue().launch()