neuralninja110 commited on
Commit
a8e1921
Β·
verified Β·
1 Parent(s): a5a1641

Upload app.py with huggingface_hub

Browse files
Files changed (1) hide show
  1. app.py +14 -4
app.py CHANGED
@@ -179,15 +179,25 @@ def extract3ch(audio, rate=SR):
179
  mel = librosa.feature.melspectrogram(
180
  y=audio, sr=rate, n_mels=NMELS, n_fft=NFFT, hop_length=HOP)
181
  meldb = librosa.power_to_db(mel, ref=np.max)
 
 
 
 
182
  if meldb.shape[1] != MAXFRAMES:
183
- meldb = scipyzoom(meldb, (1, MAXFRAMES / meldb.shape[1]), order=1)
 
 
 
184
  if meldb.shape[1] > MAXFRAMES:
185
  meldb = meldb[:, :MAXFRAMES]
 
 
186
  elif meldb.shape[1] < MAXFRAMES:
187
- meldb = np.pad(meldb, ((0, 0), (0, MAXFRAMES - meldb.shape[1])),
 
188
  constant_values=meldb.min())
189
- d1 = librosa.feature.delta(meldb, order=1)
190
- d2 = librosa.feature.delta(meldb, order=2)
191
  return np.stack([meldb, d1, d2], axis=0).astype(np.float32)
192
 
193
  # ── Prediction Function ─────────────────────────────────────────────
 
179
  mel = librosa.feature.melspectrogram(
180
  y=audio, sr=rate, n_mels=NMELS, n_fft=NFFT, hop_length=HOP)
181
  meldb = librosa.power_to_db(mel, ref=np.max)
182
+ # Compute deltas on the ORIGINAL time resolution (before zoom)
183
+ d1 = librosa.feature.delta(meldb, order=1)
184
+ d2 = librosa.feature.delta(meldb, order=2)
185
+ # Now zoom all 3 channels to MAXFRAMES
186
  if meldb.shape[1] != MAXFRAMES:
187
+ zf = MAXFRAMES / meldb.shape[1]
188
+ meldb = scipyzoom(meldb, (1, zf), order=1)
189
+ d1 = scipyzoom(d1, (1, zf), order=1)
190
+ d2 = scipyzoom(d2, (1, zf), order=1)
191
  if meldb.shape[1] > MAXFRAMES:
192
  meldb = meldb[:, :MAXFRAMES]
193
+ d1 = d1[:, :MAXFRAMES]
194
+ d2 = d2[:, :MAXFRAMES]
195
  elif meldb.shape[1] < MAXFRAMES:
196
+ pad_w = MAXFRAMES - meldb.shape[1]
197
+ meldb = np.pad(meldb, ((0, 0), (0, pad_w)),
198
  constant_values=meldb.min())
199
+ d1 = np.pad(d1, ((0, 0), (0, pad_w)), constant_values=0)
200
+ d2 = np.pad(d2, ((0, 0), (0, pad_w)), constant_values=0)
201
  return np.stack([meldb, d1, d2], axis=0).astype(np.float32)
202
 
203
  # ── Prediction Function ─────────────────────────────────────────────