Advertisement
Guest User

C#

a guest
Dec 12th, 2013
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.20 KB | None | 0 0
  1. /*
  2.  * Created by StackOverload
  3.  * Date: 12/9/2013
  4.  * Time: 7:55 PM
  5.  * Last updated: 12/9/2013 18:49
  6.  * Version: 0.1
  7.  */
  8. using System;
  9. using System.Collections.Generic;
  10. using System.Drawing;
  11. using System.IO;
  12. using System.Windows.Forms;
  13. using System.Speech.Recognition;
  14. using System.Speech.Synthesis;
  15.  
  16. namespace Jarvis
  17. {
  18.     public partial class MainForm : Form
  19.     {
  20.         SpeechRecognitionEngine listener = new SpeechRecognitionEngine();
  21.         SpeechSynthesizer JARVIS = new SpeechSynthesizer();          
  22.         Random rnd = new Random();
  23.        
  24.         //String variables
  25.         string userFirst = "Jacob";
  26.         string userLast = "Cross";
  27.         string userTitle = "Mr";
  28.         string userGender = "Sir";
  29.         //Integer variables
  30.         int rndGreet;
  31.         int rndLeave;
  32.        
  33.         public MainForm()
  34.         {
  35.             InitializeComponent();
  36.         }
  37.        
  38.         void MainFormLoad(object sender, EventArgs e)
  39.         {
  40.             listener.SetInputToDefaultAudioDevice();
  41.             listener.LoadGrammar(new DictationGrammar());
  42.             listener.LoadGrammar(new Grammar(new GrammarBuilder(new Choices(File.ReadAllLines(@"C:\JARVIS\Grammar\Commands.txt")))));
  43.             listener.SpeechRecognized += new EventHandler<SpeechRecognizedEventArgs>(listener_SpeechRecognized);
  44.             listener.RecognizeAsync(RecognizeMode.Multiple);
  45.         }
  46.        
  47.         //Voice reconized event void
  48.         void listener_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
  49.         {
  50.             string s = e.Result.Text;
  51.             switch(s)
  52.             {
  53.                 //Greetings
  54.                 case "Hello Jarvis":
  55.                 case "Hello":
  56.                 case "Hey Jarvis":
  57.                 case "Hey":
  58.                 case "Hi":
  59.                 case "Hi Jarvis":
  60.                     Greet();
  61.                     break;
  62.                    
  63.                 //Closing
  64.                 case "Goodbye Jarvis":
  65.                 case "Goodbye":
  66.                 case "Close Jarvis":
  67.                     leave();
  68.                     break;   
  69.             }
  70.         }
  71.        
  72.         void Greet()
  73.         {
  74.             //Choose random greeting
  75.             rndGreet = rnd.Next(1, 8);
  76.             switch(rndGreet)
  77.             {
  78.                 case 1:
  79.                     JARVIS.Speak("Hello, " + userGender);
  80.                     break;
  81.                 case 2:
  82.                     JARVIS.Speak("Hello, " + userTitle + " " + userLast);
  83.                     break;
  84.                 case 3:
  85.                     JARVIS.Speak("Hello, " + userFirst);
  86.                     break;
  87.                 case 4:
  88.                     JARVIS.Speak("Welcome, " + userGender);
  89.                     break;
  90.                 case 5:
  91.                     JARVIS.Speak("Welcome, " + userTitle + " " + userLast);
  92.                     break;
  93.                 case 6:
  94.                     JARVIS.Speak("Welcome, " + userFirst);
  95.                     break;
  96.                 case 7:
  97.                     JARVIS.Speak("Welcome back");
  98.                     break;
  99.                 case 8:
  100.                     JARVIS.Speak("Good to see you");
  101.                     break;
  102.             }
  103.         }
  104.        
  105.         void  leave()
  106.         {
  107.             rndLeave = rnd.Next(1, 6);
  108.             switch(rndLeave)
  109.             {
  110.                 case 1:
  111.                     JARVIS.Speak("Goodbye, " + userGender);
  112.                     break;
  113.                 case 2:
  114.                     JARVIS.Speak("Good day, " + userGender);
  115.                     break;
  116.                 case 3:
  117.                     JARVIS.Speak("Goodbye, " + userTitle + " " + userLast);
  118.                     break;
  119.                 case 4:
  120.                     JARVIS.Speak("See you later, " + userFirst);
  121.                     break;
  122.                 case 5:
  123.                     JARVIS.Speak("Good day, " + userFirst);
  124.                     break;
  125.                 case 6:
  126.                     JARVIS.Speak("Goodbye");
  127.                     break;
  128.             }
  129.             Close();
  130.         }
  131.        
  132.     }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement