###################This is the Existing CODE######################################## from flask import Flask, render_template, request, jsonify import speech_recognition as sr from googletrans import Translator import requests import os # import pyttsx3 app = Flask(__name__) # Initialize recognizer and translator recognizer = sr.Recognizer() translator = Translator() # engine = pyttsx3.init() # Language settings mapping language_mapping = { 1: ('ta-IN', 'ta', 'en'), # Tamil 2: ('en-US', 'en', 'en'), # English 3: ('hi-IN', 'hi', 'en'), # Hindi 4: ('ms-MY', 'ms', 'en') # Malay } @app.route('/') def index(): return render_template("index.html") # def speak(text): # engine.say(text) # engine.runAndWait() @app.route('/speech-to-text', methods=['POST']) def speech_to_text(): """Convert speech to text, translate, and query the /ask endpoint""" language = int(request.form.get("language", 0)) if language not in language_mapping: return jsonify({"error": "Invalid language selection"}), 400 recognition_lang, src_lang, dest_lang = language_mapping[language] with sr.Microphone() as source: print(f"Listening for {recognition_lang}...") recognizer.adjust_for_ambient_noise(source) audio = recognizer.listen(source) try: text = recognizer.recognize_google(audio, language=recognition_lang) print(f"Recognized: {text}") # Translate text translated = translator.translate(text, src=src_lang, dest=dest_lang) print(f"Translated: {translated.text}") # Send to /ask API API_KEY = os.getenv("RAG_API_KEY") # Hugging Face API endpoint url = "https://aitestingworkspace-aiagentchatup.hf.space/ask" # Headers with authentication headers = { "Authorization": f"Bearer {API_KEY}" } response = requests.post(url=url,data={"question": translated.text},headers=headers) # # Get response and speak it # server_response = response.json().get('answer', 'No response received.') # print(f"Server Response: {server_response}") # speak(server_response) return jsonify({ "recognized_text": text, "translated_text": translated.text, "server_response": response.json()['answer'] }) except sr.UnknownValueError: return jsonify({"error": "Could not understand audio"}), 400 except Exception as e: return jsonify({"error": str(e)}), 500 if __name__ == "__main__": app.run(host="0.0.0.0", port=5000, debug=True)