woolbot commited on
Commit
bbb9123
β€’
1 Parent(s): 3f48fa2

fuck wit ai google my friend now

Browse files
app.py CHANGED
@@ -8,7 +8,7 @@ from routes import *
8
 
9
  #initing
10
  app = Flask(__name__)
11
- VERSION = '1.0 build80'
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
 
@@ -63,7 +63,7 @@ def systemInfo(): return siteRoutes.systemInfo()
63
  ###############
64
  #RECOGNIZE API
65
  @app.route('/recognize/api/v1/voice', methods=['GET', 'POST'])
66
- def recognizeVoice(): return witaiApi.recognizeVoice(request)
67
 
68
  ###############
69
  #YT SOUND API
 
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
 
 
63
  ###############
64
  #RECOGNIZE API
65
  @app.route('/recognize/api/v1/voice', methods=['GET', 'POST'])
66
+ def recognizeVoice(): return recognizeApi.recognizeVoice(request)
67
 
68
  ###############
69
  #YT SOUND API
requirements.txt CHANGED
@@ -6,4 +6,5 @@ urllib3
6
  requests
7
  py-cpuinfo
8
  ffmpeg-python
9
- flask_limiter
 
 
6
  requests
7
  py-cpuinfo
8
  ffmpeg-python
9
+ flask_limiter
10
+ SpeechRecognition
routes/__init__.py CHANGED
@@ -1,5 +1,5 @@
1
  from .ytApi import *
2
  from .osuApi import *
3
  from .helpers import *
4
- from .witaiApi import *
5
- from .siteRoutes import *
 
1
  from .ytApi import *
2
  from .osuApi import *
3
  from .helpers import *
4
+ from .siteRoutes import *
5
+ from .recognizeApi import *
routes/{witaiApi β†’ recognizeApi}/__init__.py RENAMED
File without changes
routes/{witaiApi β†’ recognizeApi}/__pycache__/__init__.cpython-310.pyc RENAMED
File without changes
routes/{witaiApi β†’ recognizeApi}/__pycache__/recognizeVoice.cpython-310.pyc RENAMED
File without changes
routes/{witaiApi β†’ recognizeApi}/recognizeVoice.py RENAMED
@@ -3,6 +3,7 @@ import random
3
  import string
4
  import ffmpeg
5
  from .. import helpers
 
6
 
7
  def recognizeVoice(request):
8
  try:
@@ -15,42 +16,37 @@ def recognizeVoice(request):
15
  else: signature = request.args['signature']
16
  except: return {"status": "error", "details": { "error_code": 103, "error_details": "No signature" }}
17
  if not helpers.checkSignature(signature): return {"status": "error", "details": { "error_code": 105, "error_details": "Invalid signature" }}
18
- try:
19
- if request.method == 'POST': extendInfo = request.form['extendInfo']
20
- else: extendInfo = request.args['extendInfo']
21
- if extendInfo in ['true','1',1,'yes','y']: extendInfo = True
22
- else: extendInfo = False
23
- except: extendInfo = False
24
 
25
  fileId = ''.join(random.SystemRandom().choice(string.ascii_uppercase + string.ascii_lowercase + string.digits) for _ in range(16))
26
  fileExt = url[url.rfind('.'):url.rfind('.')+4]
27
- if fileExt == ".wav": fileHeader = {'Content-Type': 'audio/wav'}
28
- elif fileExt == ".mp3": fileHeader = {'Content-Type': 'audio/mpeg3'}
29
- elif fileExt == ".ogg": fileHeader = {'Content-Type': 'audio/ogg'}
30
- elif fileExt == '.aac': fileHeader = {'Content-Type': 'audio/wav'}
31
  else: return {"status": "error", "details": { "error_code": 111, "error_details": "Wrong file format (only ogg, wav, mp3)" }}
32
 
 
 
33
  config = helpers.configFile()
34
 
35
  wget.download(url, f"{config['temp-path']}/{fileId}{fileExt}")
36
- noEx = True
37
- if fileExt == ".aac":
38
  audio_input = ffmpeg.input(f"{config['temp-path']}/{fileId}{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}.aac")
43
- with open(f"{config['temp-path']}/{fileId}{fileExt}", 'rb') as f:
44
- try: resp = helpers.dictation("ANR3UUMGUHZJFF366EY3YM3FS54QDJPF", f, fileHeader)
45
- except Exception as e:
46
- noEx = False
47
- resp = e
48
- helpers.deleteAudio(f"temp/{fileId}{fileExt}")
49
- try:
50
- if resp['text'] == "": return {"status": "pass", "result": "", "details": ""}
51
- except: pass
52
- if noEx:
 
 
53
 
54
- if extendInfo: return {"status": "pass", "result": helpers.delivering(resp), "details": str(helpers.devRaw(resp))}
55
- else: return {"status": "pass", "result": helpers.delivering(resp)}
56
- else: return {"status": "error", "details": { "error_code": 123, "error_details": resp }}
 
3
  import string
4
  import ffmpeg
5
  from .. import helpers
6
+ import speech_recognition as sr
7
 
8
  def recognizeVoice(request):
9
  try:
 
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]
22
+ if fileExt in [".wav",".mp3",".ogg",'.aac']: pass
 
 
 
23
  else: return {"status": "error", "details": { "error_code": 111, "error_details": "Wrong file format (only ogg, wav, mp3)" }}
24
 
25
+ r = sr.Recognizer()
26
+
27
  config = helpers.configFile()
28
 
29
  wget.download(url, f"{config['temp-path']}/{fileId}{fileExt}")
30
+ if fileExt != ".wav":
 
31
  audio_input = ffmpeg.input(f"{config['temp-path']}/{fileId}{fileExt}")
32
+ oldFE = fileExt
33
  fileExt = ".wav"
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 :(
47
+ #try: houndifyText = r.recognize_houndify(audio)
48
+ #except: houndifyText = ""
49
 
50
+ helpers.deleteAudio(f"temp/{fileId}{fileExt}")
51
+
52
+ return {"status": "pass", "result": {"google": googleText, "houndify": "NOT-WORKING"}}