kjysmu commited on
Commit
08680f3
Β·
verified Β·
1 Parent(s): a71c174

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -1
app.py CHANGED
@@ -275,6 +275,18 @@ def safe_remove_dir(directory):
275
  print(f"Unexpected error while deleting {directory}: {e}")
276
 
277
 
 
 
 
 
 
 
 
 
 
 
 
 
278
  class Music2emo:
279
  def __init__(
280
  self,
@@ -377,12 +389,13 @@ class Music2emo:
377
  mert_dir.mkdir(parents=True, exist_ok=True)
378
 
379
  waveform, sample_rate = torchaudio.load(audio)
 
 
380
  if waveform.shape[0] > 1:
381
  waveform = waveform.mean(dim=0).unsqueeze(0)
382
  waveform = waveform.squeeze()
383
  waveform, sample_rate = resample_waveform(waveform, sample_rate, resample_rate)
384
 
385
-
386
  # πŸ” Check duration
387
  duration_sec = waveform.shape[-1] / sample_rate
388
  is_split = duration_sec > 30.0
 
275
  print(f"Unexpected error while deleting {directory}: {e}")
276
 
277
 
278
+ def pad_to_30_seconds(waveform, sample_rate):
279
+ target_len = 30 * sample_rate
280
+ current_len = waveform.shape[-1]
281
+
282
+ if current_len >= target_len:
283
+ return waveform[:, :target_len] # Truncate if longer
284
+ else:
285
+ pad_len = target_len - current_len
286
+ padding = torch.zeros((waveform.shape[0], pad_len))
287
+ padded_waveform = torch.cat((waveform, padding), dim=1)
288
+ return padded_waveform
289
+
290
  class Music2emo:
291
  def __init__(
292
  self,
 
389
  mert_dir.mkdir(parents=True, exist_ok=True)
390
 
391
  waveform, sample_rate = torchaudio.load(audio)
392
+ waveform = pad_to_30_seconds(waveform, sample_rate)
393
+
394
  if waveform.shape[0] > 1:
395
  waveform = waveform.mean(dim=0).unsqueeze(0)
396
  waveform = waveform.squeeze()
397
  waveform, sample_rate = resample_waveform(waveform, sample_rate, resample_rate)
398
 
 
399
  # πŸ” Check duration
400
  duration_sec = waveform.shape[-1] / sample_rate
401
  is_split = duration_sec > 30.0