Spaces:
Running
Running
lang support
Browse files- app.py +1 -1
- 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
|
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 |
-
|
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 :(
|