Created
August 16, 2018 07:16
-
-
Save wini2810/50200f921c99002ad490fffbb1fe6f9c to your computer and use it in GitHub Desktop.
This is simple voice recognition code created using Visual C# as windows application. It is made in Visual Studio 2015 Professional.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| using System; | |
| using System.IO; | |
| using System.Speech.Recognition; | |
| using System.Speech.Synthesis; | |
| using System.Windows.Forms; | |
| namespace Jarvis | |
| { | |
| public partial class Form1 : Form | |
| { | |
| SpeechRecognitionEngine _recognizer = new SpeechRecognitionEngine(); | |
| SpeechSynthesizer JARVIS = new SpeechSynthesizer(); | |
| string QEvent; | |
| string ProcWindow; | |
| double timer = 10; | |
| int count = 1; | |
| Random rnd = new Random(); | |
| public Form1() | |
| { | |
| InitializeComponent(); | |
| } | |
| private void Form1_Load(object sender, EventArgs e) | |
| { | |
| _recognizer.SetInputToDefaultAudioDevice(); | |
| _recognizer.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"C:\Users\Ashwini\Desktop\Jarvis\Jarvis\bin\Debug\commands.txt"))))); | |
| _recognizer.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(_recognizer_SpeechRecognized); | |
| _recognizer.RecognizeAsync(RecognizeMode.Multiple); | |
| } | |
| void _recognizer_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) | |
| { | |
| int ranNum = rnd.Next(1, 10); | |
| string speech = e.Result.Text; | |
| switch (speech) | |
| { | |
| case "hello": | |
| case "hello jarvis": | |
| if (ranNum < 6) { JARVIS.Speak("Hello sir"); } | |
| else if (ranNum > 5) { JARVIS.Speak("Hello"); } | |
| break; | |
| case "goodbye": | |
| case "goodbye jarvis": | |
| case "close": | |
| case "close jarvis": | |
| JARVIS.Speak("Until next time"); | |
| Close(); | |
| break; | |
| case "jarvis": | |
| if (ranNum < 5) { QEvent = ""; JARVIS.Speak("Yes sir"); } | |
| else if (ranNum > 4) { QEvent = ""; JARVIS.Speak("Yes?"); } | |
| break; | |
| //WEBSITES | |
| case "open google": | |
| System.Diagnostics.Process.Start("https://www.google.com/"); | |
| break; | |
| case "open my facebook": | |
| System.Diagnostics.Process.Start("https://www.facebook.com/"); | |
| break; | |
| case "open gmail": | |
| System.Diagnostics.Process.Start("https://www.google.com/gmail/"); | |
| break; | |
| //SHELL COMMANDS | |
| case "open this pc": | |
| System.Diagnostics.Process.Start("This PC"); | |
| JARVIS.Speak("Loading"); | |
| break; | |
| case "open my folder": | |
| System.Diagnostics.Process.Start("F:"); | |
| JARVIS.Speak("Loading"); | |
| break; | |
| //CLOSE PROGRAMS | |
| case "close this pc": | |
| ProcWindow = "This PC"; | |
| StopWindow(); | |
| break; | |
| //CONDITION OF DAY | |
| case "what time is it": | |
| DateTime now = DateTime.Now; | |
| string time = now.GetDateTimeFormats('t')[0]; | |
| JARVIS.Speak(time); | |
| break; | |
| case "what day is it": | |
| JARVIS.Speak(DateTime.Today.ToString("dddd")); | |
| break; | |
| case "whats the date": | |
| case "whats todays date": | |
| JARVIS.Speak(DateTime.Today.ToString("dd-MM-yyyy")); | |
| break; | |
| //OTHER COMMANDS | |
| case "go fullscreen": | |
| FormBorderStyle = FormBorderStyle.None; | |
| WindowState = FormWindowState.Maximized; | |
| TopMost = true; | |
| JARVIS.Speak("expanding"); | |
| break; | |
| case "exit fullscreen": | |
| FormBorderStyle = FormBorderStyle.Sizable; | |
| WindowState = FormWindowState.Normal; | |
| TopMost = false; | |
| break; | |
| case "switch window": | |
| SendKeys.Send("%{TAB " + count + "}"); | |
| count += 1; | |
| break; | |
| case "out of the way": | |
| if (WindowState == FormWindowState.Normal || WindowState == FormWindowState.Maximized) | |
| { | |
| WindowState = FormWindowState.Minimized; | |
| JARVIS.Speak("My apologies"); | |
| } | |
| break; | |
| case "come back": | |
| if (WindowState == FormWindowState.Minimized) | |
| { | |
| JARVIS.Speak("Alright?"); | |
| WindowState = FormWindowState.Normal; | |
| } | |
| break; | |
| case "show commands": | |
| string[] commands = (File.ReadAllLines(@"C:\Users\Ashwini\Desktop\Jarvis\Jarvis\bin\Debug\commands.txt")); | |
| JARVIS.Speak("Very well"); | |
| lstCommands.Items.Clear(); | |
| lstCommands.SelectionMode = SelectionMode.None; | |
| lstCommands.Visible = true; | |
| foreach (string command in commands) | |
| { | |
| lstCommands.Items.Add(command); | |
| } | |
| break; | |
| case "hide listbox": | |
| lstCommands.Visible = false; | |
| break; | |
| } | |
| } | |
| private void StopWindow() | |
| { | |
| } | |
| } | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment