forked from kishanrajput23/Java-Projects-Collections
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBasic Jarvis-like AI
33 lines (26 loc) · 1.17 KB
/
Basic Jarvis-like AI
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
import java.util.Scanner;
public class Jarvis {
private SpeechRecognizer speechRecognizer;
private TextToSpeech textToSpeech;
private NaturalLanguageProcessor nlp;
private KnowledgeBase knowledgeBase;
public Jarvis(SpeechRecognizer speechRecognizer, TextToSpeech textToSpeech, NaturalLanguageProcessor nlp, KnowledgeBase knowledgeBase) {
this.speechRecognizer = speechRecognizer;
this.textToSpeech = textToSpeech;
this.nlp = nlp;
this.knowledgeBase = knowledgeBase;
}
public void listenAndRespond() {
String userInput = speechRecognizer.recognizeSpeech();
String response = nlp.processInput(userInput, knowledgeBase);
textToSpeech.speak(response);
}
public static void main(String[] args) {
SpeechRecognizer speechRecognizer = new GoogleCloudSpeechRecognizer();
TextToSpeech textToSpeech = new GoogleCloudTextToSpeech();
NaturalLanguageProcessor nlp = new OpenNLPProcessor();
KnowledgeBase knowledgeBase = new WikidataKnowledgeBase();
Jarvis jarvis = new Jarvis(speechRecognizer, textToSpeech, nlp, knowledgeBase);
jarvis.listenAndRespond();
}
}