istupakov commited on
Commit
b197fed
·
verified ·
1 Parent(s): 3f878f1

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -1
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  from importlib.metadata import version
2
  from timeit import default_timer as timer
3
 
@@ -6,7 +7,11 @@ import numpy as np
6
 
7
  import onnx_asr
8
 
9
- print(f"onnx_asr version: {version('onnx_asr')}")
 
 
 
 
10
  models = {
11
  name: onnx_asr.load_model(name)
12
  for name in [
@@ -22,14 +27,22 @@ models = {
22
 
23
 
24
  def recognize(audio: tuple[int, np.ndarray]):
 
 
 
25
  sample_rate, waveform = audio
 
26
  try:
27
  waveform = waveform.astype(np.float32) / 2 ** (8 * waveform.itemsize - 1)
 
 
 
28
  results = []
29
  for name, model in models.items():
30
  start = timer()
31
  result = model.recognize(waveform, sample_rate=sample_rate, language="ru")
32
  time = timer() - start
 
33
  results.append([name, result, f"{time:.3f} s."])
34
  except Exception as e:
35
  raise gr.Error(f"{e} Audio: sample_rate: {sample_rate}, waveform.shape: {waveform.shape}.") from e
 
1
+ import logging
2
  from importlib.metadata import version
3
  from timeit import default_timer as timer
4
 
 
7
 
8
  import onnx_asr
9
 
10
+ logging.basicConfig(format="%(asctime)s %(levelname)s %(message)s", level=logging.WARNING)
11
+ logger = logging.getLogger(__name__)
12
+ logger.setLevel(logging.DEBUG)
13
+ logger.info("onnx_asr version: %s", version("onnx_asr"))
14
+
15
  models = {
16
  name: onnx_asr.load_model(name)
17
  for name in [
 
27
 
28
 
29
  def recognize(audio: tuple[int, np.ndarray]):
30
+ if audio is None:
31
+ return None
32
+
33
  sample_rate, waveform = audio
34
+ logger.debug("recognize: sample_rate %s, waveform.shape %s.", sample_rate, waveform.shape)
35
  try:
36
  waveform = waveform.astype(np.float32) / 2 ** (8 * waveform.itemsize - 1)
37
+ if waveform.ndim == 2:
38
+ waveform = waveform.mean(axis=1)
39
+
40
  results = []
41
  for name, model in models.items():
42
  start = timer()
43
  result = model.recognize(waveform, sample_rate=sample_rate, language="ru")
44
  time = timer() - start
45
+ logger.debug("recognized by %s: result '%s', time %.3f s.", name, result, time)
46
  results.append([name, result, f"{time:.3f} s."])
47
  except Exception as e:
48
  raise gr.Error(f"{e} Audio: sample_rate: {sample_rate}, waveform.shape: {waveform.shape}.") from e