ankandrew commited on
Commit
3fafc46
·
verified ·
1 Parent(s): c924184

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -2
app.py CHANGED
@@ -3,6 +3,7 @@ import torch
3
  import numpy as np
4
  import librosa
5
  from torchmetrics.functional.audio.nisqa import non_intrusive_speech_quality_assessment as tm_nisqa
 
6
 
7
  SR = 16000
8
 
@@ -29,6 +30,7 @@ def explain_dim(name: str):
29
  "Loudness": "Perceived loudness appropriateness (higher = more appropriate)."
30
  }[name]
31
 
 
32
  def predict_nisqa(audio):
33
  if isinstance(audio, tuple):
34
  _sr, y = audio
@@ -36,8 +38,11 @@ def predict_nisqa(audio):
36
  else:
37
  y, _ = librosa.load(audio, sr=SR, mono=True)
38
 
39
- wav = torch.tensor(y, dtype=torch.float32)
40
- mos, noisiness, discontinuity, coloration, loudness = tm_nisqa(wav, SR).detach().cpu().numpy().tolist()
 
 
 
41
 
42
  metrics = [
43
  ("MOS (overall)", mos, label_mos(mos), "Higher = better perceived quality."),
 
3
  import numpy as np
4
  import librosa
5
  from torchmetrics.functional.audio.nisqa import non_intrusive_speech_quality_assessment as tm_nisqa
6
+ import spaces
7
 
8
  SR = 16000
9
 
 
30
  "Loudness": "Perceived loudness appropriateness (higher = more appropriate)."
31
  }[name]
32
 
33
+ @spaces.GPU()
34
  def predict_nisqa(audio):
35
  if isinstance(audio, tuple):
36
  _sr, y = audio
 
38
  else:
39
  y, _ = librosa.load(audio, sr=SR, mono=True)
40
 
41
+ device = "cuda" if torch.cuda.is_available() else "cpu"
42
+ wav = torch.tensor(y, dtype=torch.float32, device=device)
43
+ mos, noisiness, discontinuity, coloration, loudness = (
44
+ tm_nisqa(wav, SR).detach().to("cpu").numpy().tolist()
45
+ )
46
 
47
  metrics = [
48
  ("MOS (overall)", mos, label_mos(mos), "Higher = better perceived quality."),