Advertisement
Guest User

jarvis project

a guest
Jan 3rd, 2016
19
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.45 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. using System.Speech.Recognition;
  11. using System.Speech.Synthesis;
  12. using System.IO;
  13. using System.Xml;
  14. using System.Runtime.ConstrainedExecution;
  15. using System.Runtime.InteropServices;
  16. using Microsoft.Win32.SafeHandles;
  17. using System.Diagnostics;
  18. using System.Windows.Forms;
  19. using System.Web;
  20.  
  21.  
  22. namespace jarvis
  23. {
  24. public partial class Jarvis : Form
  25. {
  26.  
  27. SpeechRecognitionEngine recengine = new SpeechRecognitionEngine();
  28. System.Speech.Synthesis.SpeechSynthesizer synthesizer = new SpeechSynthesizer();
  29. Random random = new Random();
  30. string firefoxpath = "";
  31. string skypepath = "";
  32. string originpath = "";
  33.  
  34.  
  35. public Jarvis()
  36. {
  37. InitializeComponent();
  38. }
  39.  
  40. private void Jarvis_Load(object sender, EventArgs e)
  41. {
  42.  
  43. Choices commands = new Choices();
  44.  
  45. commands.Add(new string[] {"write commands","search","open origin", "disable","open youtube", "open notepad", "open command line", "show commands", "open skype", "open reddit", "speak selected text", "Hello", "Hi", "open firefox", "open facebook", "what time is it", "open hacker news", "exit", "open code" });
  46. GrammarBuilder gbuilder = new GrammarBuilder();
  47. gbuilder.Append(commands);
  48. Grammar grammar = new Grammar(gbuilder);
  49.  
  50. recengine.LoadGrammarAsync(grammar);
  51.  
  52. recengine.SetInputToDefaultAudioDevice();
  53. recengine.SpeechRecognized += Recengine_SpeechRecognized;
  54. }
  55.  
  56. private void Recengine_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
  57. {
  58.  
  59. string Speech = e.Result.Text;
  60.  
  61. switch (e.Result.Text)
  62. {
  63.  
  64. case "Hello":
  65. case "Hi":
  66. int randomi = random.Next(1, 3);
  67. if (randomi == 1)
  68. {
  69. synthesizer.SpeakAsync("hello my creator");
  70. richTextBox1.Text += "\nhello my creator";
  71. }
  72. else if (randomi == 2)
  73. {
  74. synthesizer.SpeakAsync("hello my creator, did you have a nice day");
  75. richTextBox1.Text += "\nhello my creator, did you have a nice day";
  76. }
  77. else
  78. {
  79.  
  80. synthesizer.SpeakAsync("hello my creator, how are you");
  81. richTextBox1.Text += "\nhello my creator, how are you";
  82. }
  83. break;
  84. case "open youtube":
  85. synthesizer.SpeakAsync("yes sir");
  86. richTextBox1.Text += "\nyes sir";
  87. System.Diagnostics.Process.Start("https://www.youtube.com");
  88. break;
  89.  
  90. case "open firefox":
  91. try
  92. {
  93. TextReader file = new StreamReader(@"F:\jarvispath\firefoxpath.txt");
  94. firefoxpath = file.ReadLine();
  95. synthesizer.SpeakAsync("yes sir");
  96. richTextBox1.Text += "\nyes sir";
  97. //MessageBox.Show(settings.firefox);
  98. System.Diagnostics.Process.Start(firefoxpath);
  99. break;
  100. }catch(InvalidOperationException inv)
  101. {
  102. synthesizer.SpeakAsync("error");
  103. richTextBox1.Text += "\nerror";
  104. break;
  105. }
  106. case "open skype":
  107. try {
  108.  
  109. TextReader skype = new StreamReader(@"F:\jarvispath\skypepath.txt");
  110. skypepath = skype.ReadLine();
  111. synthesizer.SpeakAsync("yes sir");
  112. richTextBox1.Text += "\nyes sir";
  113. System.Diagnostics.Process.Start(skypepath);
  114. break;
  115. }catch (InvalidOperationException skyperror)
  116. {
  117. synthesizer.SpeakAsync("error");
  118. richTextBox1.Text += "\nerror";
  119. break;
  120. }
  121. case "open origin":
  122. try
  123. {
  124. TextReader origin = new StreamReader(@"F:\jarvispath\originpath.txt");
  125. originpath = origin.ReadLine();
  126. synthesizer.SpeakAsync("yes sir");
  127. richTextBox1.Text += "\nyes sir";
  128. System.Diagnostics.Process.Start(originpath);
  129. break;
  130. }
  131. catch(InvalidOperationException originerror)
  132. {
  133. synthesizer.SpeakAsync("error");
  134. richTextBox1.Text += "\nerror";
  135. break;
  136. }
  137.  
  138. case "open facebook":
  139. synthesizer.SpeakAsync("yes sir");
  140. richTextBox1.Text += "\nyes sir";
  141. System.Diagnostics.Process.Start("https://www.facebook.com/");
  142. break;
  143. case "what time is it":
  144. DateTime now = System.DateTime.Now;
  145. string time = now.GetDateTimeFormats('t')[0];
  146. synthesizer.SpeakAsync(time);
  147. richTextBox1.Text += "\n";
  148. richTextBox1.Text += time;
  149. break;
  150. case "open hacker news":
  151. synthesizer.SpeakAsync("yes sir");
  152. richTextBox1.Text += "\nyes sir";
  153. System.Diagnostics.Process.Start("http://thehackernews.com/");
  154. break;
  155. case "exit":
  156. this.Close();
  157. break;
  158. case "speak selected text":
  159. synthesizer.SpeakAsync(richTextBox1.SelectedText);
  160. break;
  161. case "open code":
  162. synthesizer.SpeakAsync("you are going to make me better?");
  163. richTextBox1.Text += "\nyou are going to make me better?";
  164. System.Diagnostics.Process.Start(@"F:\jarvis\jarvis.sln");
  165. break;
  166. case "open reddit":
  167. synthesizer.SpeakAsync("yes sir");
  168. richTextBox1.Text += "\nyes sir";
  169. System.Diagnostics.Process.Start("https://www.reddit.com/r/security");
  170. break;
  171.  
  172. break;
  173. case "show commands":
  174. System.Diagnostics.Process.Start(@"F:\choices.txt");
  175. break;
  176. case "open command line":
  177. synthesizer.SpeakAsync("yes sir");
  178. richTextBox1.Text += "\nyes sir";
  179. System.Diagnostics.Process.Start("cmd.exe");
  180. break;
  181. case "open notepad":
  182. synthesizer.SpeakAsync("yes sir");
  183. richTextBox1.Text += "\nyes sir";
  184. System.Diagnostics.Process.Start("notepad");
  185. break;
  186. case "disable":
  187. recengine.RecognizeAsyncStop();
  188. button1.Enabled = true;
  189. button2.Enabled = false;
  190. synthesizer.SpeakAsync("yes sir");
  191. richTextBox1.Text += "\nyes sir";
  192. break;
  193.  
  194. default:
  195.  
  196. if (Speech.ToLower().Contains("search"))
  197. {
  198. string search = Speech.Replace("search", "");
  199. search = HttpUtility.UrlEncode(search);
  200.  
  201. System.Diagnostics.Process.Start("https://www.google.com/search?q=" + search);
  202. synthesizer.SpeakAsync("yes sir");
  203. richTextBox1.Text += "\nyes sir";
  204. }
  205. break;
  206.  
  207. }
  208. }
  209.  
  210. private void button1_Click(object sender, EventArgs e)
  211. {
  212. recengine.RecognizeAsync(RecognizeMode.Multiple);
  213. button2.Enabled = true;
  214. button1.Enabled = false;
  215. }
  216.  
  217. private void button2_Click(object sender, EventArgs e)
  218. {
  219. recengine.RecognizeAsyncStop();
  220. button2.Enabled = false;
  221. button1.Enabled = true;
  222. }
  223.  
  224. private void commandsToolStripMenuItem_Click(object sender, EventArgs e)
  225. {
  226. System.Diagnostics.Process.Start(@"F:\choices.txt");
  227. }
  228.  
  229. private void exitToolStripMenuItem_Click(object sender, EventArgs e)
  230. {
  231. this.Close();
  232. }
  233.  
  234. private void settingsToolStripMenuItem_Click(object sender, EventArgs e)
  235. {
  236. settings Settings = new settings();
  237. Settings.ShowDialog();
  238. }
  239.  
  240.  
  241. }
  242. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement