TheVera commited on
Commit
0f9eebe
·
verified ·
1 Parent(s): 0729396

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +34 -1
app.py CHANGED
@@ -1,13 +1,15 @@
1
- from flask import Flask, request, jsonify
2
  from pymongo import MongoClient
3
  from pydantic import BaseModel
4
  from flask_limiter import Limiter
5
  from flask_limiter.util import get_remote_address
6
  from flask_cors import CORS
7
  from functools import wraps
 
8
  import datetime
9
  import uvicorn
10
  import bcrypt
 
11
  import jwt
12
  import os
13
 
@@ -276,6 +278,37 @@ def validate_token(user_info):
276
  }, 200
277
 
278
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
279
  if __name__ == "__main__":
280
  app.run(host="0.0.0.0", port=7860)
281
 
 
1
+ from flask import Flask, request, jsonify, send_file
2
  from pymongo import MongoClient
3
  from pydantic import BaseModel
4
  from flask_limiter import Limiter
5
  from flask_limiter.util import get_remote_address
6
  from flask_cors import CORS
7
  from functools import wraps
8
+ from gtts import gTTS
9
  import datetime
10
  import uvicorn
11
  import bcrypt
12
+ import uuid
13
  import jwt
14
  import os
15
 
 
278
  }, 200
279
 
280
 
281
+
282
+ ############### For TTS ####################
283
+ @app.route('/generate_sanskrit_audio', methods=['POST'])
284
+ def generate_sanskrit_audio():
285
+ data = request.get_json()
286
+ text = data.get('text', '')
287
+
288
+ # Check if text is provided
289
+ if not text:
290
+ return {"error": "No text provided"}, 400
291
+
292
+ try:
293
+ # Generate audio using gTTS
294
+ audio_file = f'output_{uuid.uuid4()}.mp3' # Unique file name
295
+ tts = gTTS(text=text, lang='hi', slow=False) # 'sa' is for Sanskrit
296
+ tts.save(audio_file)
297
+
298
+ # Send the audio file back
299
+ response = send_file(audio_file, mimetype='audio/mp3', as_attachment=True)
300
+
301
+ # Cleanup: remove the audio file after sending
302
+ os.remove(audio_file)
303
+
304
+ return response
305
+
306
+ except Exception as e:
307
+ return {"error": str(e)}, 500
308
+
309
+
310
+
311
+
312
  if __name__ == "__main__":
313
  app.run(host="0.0.0.0", port=7860)
314