import speech_recognition as sr from googletrans import Translator from flask import Flask, render_template, request, jsonify app = Flask(__name__) recognizer = sr.Recognizer() translator = Translator() # Language settings mapping language_mapping = { 1: ('ta-IN', 'ta', 'en'), # Tamil: Recognize Tamil and translate to English 2: ('en-US', 'en', 'en'), # English: Recognize English and translate to English 3: ('hi-IN', 'hi', 'en') # Hindi: Recognize Hindi and translate to English } @app.route("/") def index(): return render_template("index.html") @app.route("/translate", methods=["POST"]) def translate(): # Get user input for language selection (1: Tamil, 2: English, 3: Hindi) user_input = int(request.form.get("language")) # Check if user input is valid if user_input in language_mapping: recognition_lang, src_lang, dest_lang = language_mapping[user_input] # Start speech recognition and process the audio with sr.Microphone() as source: recognizer.adjust_for_ambient_noise(source) audio = recognizer.listen(source) # Recognize speech in the selected language try: ori_text = recognizer.recognize_google(audio, language=recognition_lang) translated_text = translator.translate(ori_text, src=src_lang, dest=dest_lang) print(f"Translated Text: {translated_text.text}") return jsonify({"original": ori_text, "translation": translated_text.text}) except Exception as e: return jsonify({"error": str(e)}) else: return jsonify({"error": "Invalid input! Please enter 1, 2, or 3."}) if __name__ == "__main__": app.run(debug=True) # from flask import Flask, request, jsonify # import speech_recognition as sr # app = Flask(__name__) # @app.route('/') # def index(): # return ''' # # #
# # #