Spaces:
Runtime error
Runtime error
fix 2
Browse files- requirements.txt +1 -0
- routes/aminoOSRapi/recognizeVoice.py +0 -58
requirements.txt
CHANGED
|
@@ -1,5 +1,6 @@
|
|
| 1 |
wget
|
| 2 |
flask
|
|
|
|
| 3 |
numpy
|
| 4 |
psutil
|
| 5 |
yt_dlp
|
|
|
|
| 1 |
wget
|
| 2 |
flask
|
| 3 |
+
keras
|
| 4 |
numpy
|
| 5 |
psutil
|
| 6 |
yt_dlp
|
routes/aminoOSRapi/recognizeVoice.py
DELETED
|
@@ -1,58 +0,0 @@
|
|
| 1 |
-
import wget
|
| 2 |
-
import random
|
| 3 |
-
import string
|
| 4 |
-
import ffmpeg
|
| 5 |
-
from .. import helpers
|
| 6 |
-
import speech_recognition as sr
|
| 7 |
-
|
| 8 |
-
def recognizeVoice(request):
|
| 9 |
-
try:
|
| 10 |
-
if request.method == 'POST': url = request.form['url']
|
| 11 |
-
else: url = request.args['url']
|
| 12 |
-
if url.strip() in ['', None]: raise Exception()
|
| 13 |
-
except: return {"status": "error", "details": { "error_code": 101, "error_details": "No link provided" }}
|
| 14 |
-
try:
|
| 15 |
-
if request.method == 'POST': signature = request.form['signature']
|
| 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]
|
| 28 |
-
if fileExt in [".wav",".mp3",".ogg",'.aac']: pass
|
| 29 |
-
else: return {"status": "error", "details": { "error_code": 111, "error_details": "Wrong file format (only ogg, wav, mp3)" }}
|
| 30 |
-
|
| 31 |
-
r = sr.Recognizer()
|
| 32 |
-
|
| 33 |
-
config = helpers.configFile()
|
| 34 |
-
|
| 35 |
-
wget.download(url, f"{config['temp-path']}/{fileId}{fileExt}")
|
| 36 |
-
if fileExt != ".wav":
|
| 37 |
-
audio_input = ffmpeg.input(f"{config['temp-path']}/{fileId}{fileExt}")
|
| 38 |
-
oldFE = fileExt
|
| 39 |
-
fileExt = ".wav"
|
| 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 :(
|
| 53 |
-
#try: houndifyText = r.recognize_houndify(audio)
|
| 54 |
-
#except: houndifyText = ""
|
| 55 |
-
|
| 56 |
-
helpers.deleteAudio(f"temp/{fileId}{fileExt}")
|
| 57 |
-
|
| 58 |
-
return {"status": "pass", "result": {"google": googleText, "houndify": "NOT-WORKING"}}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|