internal Voice(ITerminal terminal) { synth = new SpeechSynthesizer(); m_Terminal = terminal; }
private void sre_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) { maintxt = main; maintxt.Text = "You: " + e.Result.Text + "\r\n" + maintxt.Text; if (e.Result.Confidence > 0.5 && e.Result.Text == "алиса") { SpeechSynthesizer ss = new SpeechSynthesizer(); Random rnd = new Random(); Debug.Print(rnd.Next(4).ToString()); switch (rnd.Next(4)) { case 0: ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Чего вам надобно, мой господин?"); maintxt.Text = "Me: " + "Чего вам надобно, мой господин?" + "\r\n" + maintxt.Text; //l.Text = e.Result.Text; flag = true; break; case 1: ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Слушаю"); maintxt.Text = "Me: " + "Слушаю" + "\r\n" + maintxt.Text; //l.Text = e.Result.Text; flag = true; break; case 2: ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Алло, директор?"); maintxt.Text = "Me: " + "Алло, директор?" + "\r\n" + maintxt.Text; //l.Text = e.Result.Text; flag = true; break; case 3: ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Алло"); maintxt.Text = "Me: " + "Алло" + "\r\n" + maintxt.Text; //l.Text = e.Result.Text; flag = true; break; case 4: ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Панки хой"); maintxt.Text = "Me: " + "Панки хой" + "\r\n" + maintxt.Text; //l.Text = e.Result.Text; flag = true; break; } } else if (e.Result.Confidence > 0.8 && e.Result.Text == "включи свет" && flag == true && flag1 == true) { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Свет уже всключён, мой господин"); maintxt.Text = "Me: " + "Свет уже всключён, мой господин" + "\r\n" + maintxt.Text; flag = false; } else if (e.Result.Confidence > 0.5 && e.Result.Text == "включи свет" && flag && !flag1) { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Включаю свет, мой господин"); maintxt.Text = "Me: " + "Включаю свет, мой господин" +"\r\n" + maintxt.Text; try { using (SerialPort sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One)) { sp.Open(); sp.Write("1"); sp.Close(); } } catch { Check(); } flag = false; flag1 = true; } else if (e.Result.Confidence > 0.8 && e.Result.Text == "выключи свет" && flag == true && flag1 == false) { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Свет уже выключен, мой господин"); maintxt.Text = "Me: " + "Свет уже выключен, мой господин" +"\r\n" + maintxt.Text; flag = false; } else if (e.Result.Confidence > 0.5 && e.Result.Text == "выключи свет" && flag == true) { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("Выключаю свет, мой господин"); maintxt.Text = "Me: " + "Выключаю свет, мой господин" +"\r\n" + maintxt.Text; try { using (SerialPort sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One)) { sp.Open(); sp.Write("0"); sp.Close(); } } catch { Check(); } flag = false; flag1 = false; } else if (e.Result.Confidence > 0.8 && e.Result.Text == "температура" && flag) { string temp; SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; try { using (SerialPort sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One)) { sp.Open(); sp.Write("2"); l.Text = sp.ReadLine(); sp.Close(); } } catch { Check(); } temp = "на данный момент в комнате температура равна " + l.Text; if (Convert.ToInt32(l.Text) % 10 == 1 && Convert.ToInt32(l.Text)/10 != 1) { temp += " градус, мой господин"; } else if ((Convert.ToInt32(l.Text) % 10 == 2 || Convert.ToInt32(l.Text) % 10 == 3 || Convert.ToInt32(l.Text) % 10 == 4) && Convert.ToInt32(l.Text)/10 != 10) { temp += " градуса, мой господин"; } else { temp += " градусов, мой господин"; } ss.SpeakAsync(temp); maintxt.Text = "Me: " + temp +"\r\n" + maintxt.Text; flag = false; } else if (e.Result.Confidence > 0.8 && e.Result.Text == "влажность" && flag) { string temp; SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; try { using (SerialPort sp = new SerialPort("COM3", 9600, Parity.None, 8, StopBits.One)) { sp.Open(); sp.Write("3"); l.Text = sp.ReadLine(); sp.Close(); } } catch { Check(); } temp = "на данный момент в комнате влажность равна " + l.Text; if (Convert.ToInt32(l.Text) % 10 == 1) { temp += " процент, мой господин"; } else if (Convert.ToInt32(l.Text) % 10 == 2 || Convert.ToInt32(l.Text) % 10 == 3 || Convert.ToInt32(l.Text) % 10 == 4) { temp += " процента, мой господин"; } else { temp += " процентов, мой господин"; } ss.SpeakAsync(temp); maintxt.Text = "Me: " + temp +"\r\n" + maintxt.Text; flag = false; } else if (e.Result.Confidence > 0.8 && e.Result.Text == "погода" && flag) { WebRequest request; request = WebRequest.Create(@"http://informer.gismeteo.ru/xml/34929_1.xml"); using (var response = request.GetResponse()) { using (var stream = response.GetResponseStream()) using (var reader = new StreamReader(stream)) { string data = reader.ReadToEnd(); string temp, temp1; string tempmin = null, tempmax = null; Debug.WriteLine(data); XmlDocument xdata = new XmlDocument(); xdata.LoadXml(data); //Debug.WriteLine(xdata.InnerText); XmlNodeList temperature = xdata.GetElementsByTagName("TEMPERATURE"); XmlNode tempmx = temperature[0].Attributes.GetNamedItem("max"); XmlNode tempmn = temperature[0].Attributes.GetNamedItem("min"); tempmax = tempmx.InnerText; tempmin = tempmn.InnerText; Debug.WriteLine(tempmax); Debug.WriteLine(tempmin); tempint = (Convert.ToInt32(tempmin) + Convert.ToInt32(tempmax)) / 2; Debug.WriteLine(tempint); SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; temp = tempint.ToString(); temp1 = "на данный момент температура в Краснодаре равна " + temp; if (tempint % 10 == 1 && (tempint > 19 || tempint < 10)) { temp1 += " градус"; } else if (tempint % 10 == 2 || tempint % 10 == 3 || tempint % 10 == 4 && (tempint > 19 || tempint < 10)) { temp1 += " градуса"; } else { temp1 += " градусов"; } ss.SpeakAsync(temp1); maintxt.Text = "Me: " + temp1 +"\r\n" + maintxt.Text; flag = false; } } } else if (e.Result.Confidence > 0.6 && e.Result.Text == "что по нгуену") { sp.Stream = Properties.Resources.durak; sp.Play(); } else if (e.Result.Confidence > 0.7 && e.Result.Text == "горшок включи свет") { sp.Stream = Properties.Resources.svet; sp.Play(); } else if (e.Result.Confidence > 0.7 && e.Result.Text == "горшок воскресни") { sp.Stream = Properties.Resources.hoy; sp.Play(); } else if (e.Result.Confidence > 0.8 && e.Result.Text == "закройся") { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 2; ss.SpeakAsync("ариведерчи, надеюсь ты меня потом откроешь"); maintxt.Text = "Me: " + "ариведерчи, надеюсь ты меня потом откроешь" +"\r\n" + maintxt.Text; flag = false; Process[] shpion = Process.GetProcessesByName("AIMP"); if (shpion.Length > 0) { foreach (Process process in shpion) { process.Kill(); } } Process[] shpion2 = Process.GetProcessesByName("wmplayer"); if (shpion2.Length > 0) { foreach (Process process in shpion2) { process.Kill(); } } } else if (e.Result.Confidence > 0.7 && e.Result.Text == "это что сейчас было") { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("извините, мой господин, позволила себе лишнего, можете наказать меня как хотите"); maintxt.Text = "Me: " + "извините, мой господин, позволила себе лишнего, можете наказать меня как хотите" +"\r\n" + maintxt.Text; } else if (e.Result.Confidence > 0.85 && e.Result.Text == "вруби музон" && music) { sp.Stream = Properties.Resources.music; sp.Play(); Thread.Sleep(11500); Process.Start(@"C:\Program Files (x86)\AIMP\AIMP.exe"); } else if(e.Result.Confidence > 0.7 && e.Result.Text == "вруби музон" && !music) { Process.Start(@"C:\Program Files (x86)\AIMP\AIMP.exe"); } else if (e.Result.Confidence > 0.5 && e.Result.Text == "будь как сбербанк на украине") { sp.Stream = Properties.Resources.nu_ladno; sp.Play(); Thread.Sleep(2000); Application.Exit(); } else if (e.Result.Confidence > 0.7 && e.Result.Text == "режим диско") { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("ну ок"); maintxt.Text = "Me: " + "ну ок" +"\r\n" + maintxt.Text; Process.Start(@"C://Users/Admin/Videos/disco.mp4"); } else if (e.Result.Confidence > 0.7 && e.Result.Text == "без музыки") { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("ок, поняла"); maintxt.Text = "Me: " + "ок, поняла" +"\r\n" + maintxt.Text; music = false; } else if (e.Result.Confidence > 0.7 && e.Result.Text == "с музыкой"){ music = true; } else if (e.Result.Confidence > 0.5 && e.Result.Text == "дэмэха") { SpeechSynthesizer ss = new SpeechSynthesizer(); ss.Volume = 100; ss.Rate = 3; ss.SpeakAsync("дебил, ты его снёс"); maintxt.Text = "Me: " + "дебил, ты его снёс" + "\r\n" + maintxt.Text; //Process.Start(@"C://Users/Admin/Videos/disco.mp4"); } }
public static void Main(string[] args) { int songNumber = -1; // Creating a new SpeechSynthesizer object called using System.Speech.Synthesis SpeechSynthesizer aSpeechSynthesizer = new SpeechSynthesizer(); // Making a new song object Song aSong = new Song(); // Array of song paths string[] anArrayOfSongPaths = { @"C:\Users\noahc\Desktop\Old School Stuff\CIS 122\Lecture Files\Songs\Gorgeous by Taylor Swift.txt", @"C:\Users\noahc\Desktop\Old School Stuff\CIS 122\Lecture Files\Songs\Grenade Bruno Mars.txt", @"C:\Users\noahc\Desktop\Old School Stuff\CIS 122\Lecture Files\Songs\Too Late by Weeknd.txt", @"C:\Users\noahc\Desktop\Old School Stuff\CIS 122\Lecture Files\Songs\Feel Good.txt" }; // User data entry Console.WriteLine("List of songs:"); Console.WriteLine("Enter 1 for Gorgeous by Taylor Swift"); Console.WriteLine("Enter 2 for Grenade by Bruno Mars"); Console.WriteLine("Enter 3 for Too Late by The Weeknd"); Console.WriteLine("Enter 4 for Feel Good Inc"); // Try/catch to make sure user enters an int. try { songNumber = Convert.ToInt32(Console.ReadLine()); } catch (System.FormatException e) { Console.WriteLine("Input needs to be a number between 1 and 4."); } // Listing Installed Voices /* * foreach (var v in aSpeechSynthesizer.GetInstalledVoices().Select(v => v.VoiceInfo)) * { * Console.WriteLine("Name:{0}, Gender:{1}, Age:{2}", v.Description, v.Gender, v.Age); * } */ Console.WriteLine(); // Select a voice aSpeechSynthesizer.SelectVoiceByHints(VoiceGender.Female, VoiceAge.Adult); // Write each line to console and speak the lyrics try { for (int i = 0; i < aSong.GetSong(anArrayOfSongPaths[songNumber - 1]).Length; i++) { Console.WriteLine(aSong.GetSong(anArrayOfSongPaths[songNumber - 1])[i]); aSpeechSynthesizer.Speak(aSong.GetSong(anArrayOfSongPaths[songNumber - 1])[i]); } } catch (System.IndexOutOfRangeException e) { Console.WriteLine("Input needs to be a number between 1 and 4."); } Console.ReadLine(); }
static void Main(string[] args) { SpeechSynthesizer synth = new SpeechSynthesizer(); synth.Speak(" Anna is the most beautiful girl in the world"); }
void _speechSynthesizer_BookmarkReached(SpeechSynthesizer sender, SpeechBookmarkReachedEventArgs args) { Dispatcher.BeginInvoke(() => MessageBox.Show(args.Bookmark + " Reached")); }