woolbot commited on
Commit
11ba6b5
1 Parent(s): bbb9123

lang support

Browse files
Files changed (2) hide show
  1. app.py +1 -1
  2. routes/recognizeApi/recognizeVoice.py +8 -2
app.py CHANGED
@@ -8,7 +8,7 @@ from routes import *
8
 
9
  #initing
10
  app = Flask(__name__)
11
- VERSION = '1.0 build81'
12
  app.config['JSON_AS_ASCII'] = False
13
  limiter = Limiter(app=app, key_func=get_remote_address, default_limits=["5/minute"], storage_uri="memory://",)
14
 
 
8
 
9
  #initing
10
  app = Flask(__name__)
11
+ VERSION = '1.0 build82'
12
  app.config['JSON_AS_ASCII'] = False
13
  limiter = Limiter(app=app, key_func=get_remote_address, default_limits=["5/minute"], storage_uri="memory://",)
14
 
routes/recognizeApi/recognizeVoice.py CHANGED
@@ -16,6 +16,12 @@ def recognizeVoice(request):
16
  else: signature = request.args['signature']
17
  except: return {"status": "error", "details": { "error_code": 103, "error_details": "No signature" }}
18
  if not helpers.checkSignature(signature): return {"status": "error", "details": { "error_code": 105, "error_details": "Invalid signature" }}
 
 
 
 
 
 
19
 
20
  fileId = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(16))
21
  fileExt = url[url.rfind('.'):url.rfind('.')+4]
@@ -34,13 +40,13 @@ def recognizeVoice(request):
34
  audio_output = ffmpeg.output(audio_input.audio, f"{config['temp-path']}/{fileId}{fileExt}")
35
  ffmpeg.run(audio_output)
36
  helpers.deleteAudio(f"temp/{fileId}.{oldFE}")
37
- #with open(f"{config['temp-path']}/{fileId}{fileExt}", 'rb') as f:
38
  rawSource = sr.AudioFile(f"{config['temp-path']}/{fileId}{fileExt}")
39
  with rawSource as source:
40
  r.adjust_for_ambient_noise(source)
41
  audio = r.record(source)
42
 
43
- try: googleText = r.recognize_google(audio)
44
  except: googleText = ""
45
 
46
  # at now here's no keys :(
 
16
  else: signature = request.args['signature']
17
  except: return {"status": "error", "details": { "error_code": 103, "error_details": "No signature" }}
18
  if not helpers.checkSignature(signature): return {"status": "error", "details": { "error_code": 105, "error_details": "Invalid signature" }}
19
+ try:
20
+ if request.method == 'POST': lang = request.form['lang']
21
+ else: lang = request.args['lang']
22
+ if lang.lower() in ['en','en-us']: lang = 'en-US'
23
+ elif lang.lower() in ['ru','ru-ru']: lang = 'ru-RU'
24
+ except: lang = "en-US"
25
 
26
  fileId = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(16))
27
  fileExt = url[url.rfind('.'):url.rfind('.')+4]
 
40
  audio_output = ffmpeg.output(audio_input.audio, f"{config['temp-path']}/{fileId}{fileExt}")
41
  ffmpeg.run(audio_output)
42
  helpers.deleteAudio(f"temp/{fileId}.{oldFE}")
43
+
44
  rawSource = sr.AudioFile(f"{config['temp-path']}/{fileId}{fileExt}")
45
  with rawSource as source:
46
  r.adjust_for_ambient_noise(source)
47
  audio = r.record(source)
48
 
49
+ try: googleText = r.recognize_google(audio, language=lang)
50
  except: googleText = ""
51
 
52
  # at now here's no keys :(