-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsp_trans.py
More file actions
50 lines (38 loc) · 1.34 KB
/
sp_trans.py
File metadata and controls
50 lines (38 loc) · 1.34 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from flask import Flask, jsonify, request
from googletrans import Translator
#import urllib.request
import speech_recognition as sr
import requests
#from ffprobe import FFProbe
from pydub import AudioSegment as am
app = Flask(__name__)
translator = Translator()
@app.route('/translator')
def trans():
param1 = request.args.get('word', default='hello', type=str)
param2 = request.args.get('lang', default='th', type=str)
lang = translator.detect(param1).lang
result = translator.translate(text=param1, src=lang, dest=param2)
return jsonify({'result':str(result.text)})
@app.route('/sp2txt')
def uploader():
r = sr.Recognizer()
language = request.args.get('lang', type=str)
url = request.args.get('audiourl')
#print('input lang and url')
#urllib.request.urlretrieve(url, file)
response = requests.get(url)
open('audio.wav', "wb").write(response.content)
#print('create file')
sound = am.from_file('audio.wav')
sound = sound.set_frame_rate(8000)
sound.export('audio.wav', format='wav')
#print('save wav')
with sr.AudioFile('audio.wav') as source:
#audio = r.listen(source)
audio = r.record(source)
text = r.recognize_google(audio, language=language)
#print('recognize txt')
return jsonify({"text":text})
if __name__ == "__main__":
app.run(debug=True)