forked from React-Group/interstellar_ai
		
	main #22
					 4 changed files with 25 additions and 4 deletions
				
			
		|  | @ -6,6 +6,7 @@ from ai import AI | |||
| from db import DB | ||||
| from weather import Weather | ||||
| from voice import VoiceRecognition | ||||
| from tts import TTS | ||||
| 
 | ||||
| 
 | ||||
| class API: | ||||
|  | @ -17,6 +18,7 @@ class API: | |||
|         self.db = DB() | ||||
|         self.weather = Weather() | ||||
|         self.voice = VoiceRecognition() | ||||
|         self.tts = TTS() | ||||
|         self.db.load_database() | ||||
|         self.ai_response_lock = threading.Lock() | ||||
|         CORS(self.app) | ||||
|  | @ -98,7 +100,7 @@ class API: | |||
|         @self.app.route('/interstellar_ai/api/voice_recognition', methods=['POST']) | ||||
|         def voice_recognition(): | ||||
|             recognition_type = request.args.get('type') | ||||
|             audio = request.args.get('audio_data') | ||||
|             audio = request.files['audio'] | ||||
|             option = request.args.get('option') | ||||
|             if recognition_type == "basic": | ||||
|                 return jsonify({'status': 200, 'response': self.voice.basic_recognition(audio, option)}) | ||||
|  | @ -113,6 +115,11 @@ class API: | |||
| 
 | ||||
|         self.app.run(debug=True, host='0.0.0.0', port=5000) | ||||
| 
 | ||||
|         @self.app.route('/interstellar_ai/api/tts', methods=['POST']) | ||||
|         def tts(): | ||||
|             text = request.args.get('text') | ||||
|             return jsonify({'status': 200, 'response': self.tts.gen_tts(text)}) | ||||
| 
 | ||||
| 
 | ||||
| api = API() | ||||
| api.run() | ||||
|  |  | |||
|  | @ -11,3 +11,5 @@ google-cloud-speech | |||
| google-generativeai | ||||
| python-weather | ||||
| pycouchdb | ||||
| pyttsx3 | ||||
| pip-licenses | ||||
							
								
								
									
										10
									
								
								py/tts.py
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								py/tts.py
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,10 @@ | |||
| import pyttsx3 | ||||
| 
 | ||||
| 
 | ||||
| class TTS: | ||||
|     @staticmethod | ||||
|     def gen_tts(text): | ||||
|         engine = pyttsx3.init() | ||||
|         engine.setProperty('rate', 70) | ||||
|         engine.say(text) | ||||
|         engine.runAndWait() | ||||
|  | @ -6,8 +6,10 @@ class VoiceRecognition: | |||
|     def basic_recognition(audio, option): | ||||
|         r = sr.Recognizer() | ||||
|         if option == "online": | ||||
|             return r.recognize_google_cloud(audio) | ||||
|             with audio as source: | ||||
|                 return r.recognize_google_cloud(source) | ||||
|         elif option == "offline": | ||||
|             return r.recognize_sphinx(audio) | ||||
|             with audio as source: | ||||
|                 return r.recognize_sphinx(source) | ||||
| 
 | ||||
|         return False | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue