public void TestChorus() { SpeechService SpeechService = new SpeechService(); SpeechService.Speak("Chorus level 0", null, 0, 0, 0, 0, 0, true); SpeechService.Speak("Chorus level 20", null, 0, 0, 20, 0, 0, true); SpeechService.Speak("Chorus level 40", null, 0, 0, 40, 0, 0, true); SpeechService.Speak("Chorus level 60", null, 0, 0, 60, 0, 0, true); SpeechService.Speak("Chorus level 80", null, 0, 0, 80, 0, 0, true); SpeechService.Speak("Chorus level 100", null, 0, 0, 100, 0, 0, true); }
public void TestDamage() { SpeechService SpeechService = new SpeechService(); Ship ship = ShipDefinitions.ShipFromEliteID(128049363); ship.Health = 100; SpeechService.Say(null, ship, "Systems fully operational."); ship.Health = 80; SpeechService.Say(null, ship, "Systems at 80%."); ship.Health = 60; SpeechService.Say(null, ship, "Systems at 60%."); ship.Health = 40; SpeechService.Say(null, ship, "Systems at 40%."); ship.Health = 20; SpeechService.Say(null, ship, "Systems at 20%."); ship.Health = 0; SpeechService.Say(null, ship, "Systems critical."); }
public void TestPathingString1() { SpeechService SpeechService = new SpeechService(); string pathingString = @"There are [4;5] lights"; List<string> pathingOptions = new List<string>() { "There are 4 lights" , "There are 5 lights" }; HashSet<string> pathingResults = new HashSet<string>(); for (int i = 0; i < 1000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); pathingResults.Add(pathedString); } Assert.IsTrue(pathingResults.SetEquals(new HashSet<string>(pathingOptions))); }
public void TestSsml() { SpeechService SpeechService = new SpeechService(); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049363), "You are travelling to the " + Translations.StarSystem("Hotas") + " system."); }
public void TestVariants() { SpeechService SpeechService = new SpeechService(); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049309), "Welcome to your Vulture. Weapons online."); SpeechService.Transmit(null, ShipDefinitions.ShipFromEliteID(128049309), "Vulture x-ray whiskey tango seven one seven six requesting docking."); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049339), "Welcome to your Python. Scanning at full range."); SpeechService.Transmit(null, ShipDefinitions.ShipFromEliteID(128049339), "Python victor oscar Pappa fife tree fawer niner requesting docking."); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049363), "Welcome to your Anaconda. All systems operational."); SpeechService.Transmit(null, ShipDefinitions.ShipFromEliteID(128049363), "Anaconda charlie november delta one niner eight fawer requesting docking."); }
public void TestCallsign() { SpeechService SpeechService = new SpeechService(); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049309), Translations.CallSign("GAB-1655")); }
public void testSendAndReceive() { SpeechService SpeechService = new SpeechService(); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049339), "Issuing docking request. Please stand by."); SpeechService.Transmit(null, ShipDefinitions.ShipFromEliteID(128049339), "Anaconda golf foxtrot lima one niner six eight requesting docking."); SpeechService.Receive(null, ShipDefinitions.ShipFromEliteID(128049339), "Roger golf foxtrot lima one niner six eight docking request received"); }
public void TestPathingString7() { SpeechService SpeechService = new SpeechService(); string pathingString = @"[{TXT:Ship model} {TXT:Ship callsign (spoken)};This is {TXT:Ship model} {TXT:Ship callsign (spoken)}] [requesting docking permission;requesting docking clearance;requesting permission to dock;requesting clearance to dock]."; List<string> pathingOptions = new List<string>() { "{TXT:Ship model} {TXT:Ship callsign (spoken)} requesting docking permission." ,"This is {TXT:Ship model} {TXT:Ship callsign (spoken)} requesting docking permission." ,"{TXT:Ship model} {TXT:Ship callsign (spoken)} requesting docking clearance." ,"This is {TXT:Ship model} {TXT:Ship callsign (spoken)} requesting docking clearance." ,"{TXT:Ship model} {TXT:Ship callsign (spoken)} requesting clearance to dock." ,"This is {TXT:Ship model} {TXT:Ship callsign (spoken)} requesting clearance to dock." ,"{TXT:Ship model} {TXT:Ship callsign (spoken)} requesting permission to dock." ,"This is {TXT:Ship model} {TXT:Ship callsign (spoken)} requesting permission to dock." }; HashSet<string> pathingResults = new HashSet<string>(); for (int i = 0; i < 1000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); pathingResults.Add(pathedString); } Assert.IsTrue(pathingResults.SetEquals(new HashSet<string>(pathingOptions))); }
public void TestPowerplay() { SpeechService SpeechService = new SpeechService(); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Aisling Duval") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Archon Delaine") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Arissa Lavigny-Duval") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Denton Patreus") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Edmund Mahon") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Felicia Winters") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Pranav Antal") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Zachary Hudson") + "."); //SpeechService.Say(ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Zemina Torval") + "."); SpeechService.Say(null, ShipDefinitions.ShipFromEliteID(128049363), Translations.Power("Li Yong-Rui") + "."); }
public void TestPathingString5() { SpeechService SpeechService = new SpeechService(); string pathingString = @"You leave me [no choice]."; List<string> pathingOptions = new List<string>() { "You leave me no choice." }; HashSet<string> pathingResults = new HashSet<string>(); for (int i = 0; i < 1000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); pathingResults.Add(pathedString); } Assert.IsTrue(pathingResults.SetEquals(new HashSet<string>(pathingOptions))); }
public void TestPathingString6() { SpeechService SpeechService = new SpeechService(); string pathingString = @"[There can be only one.]"; List<string> pathingOptions = new List<string>() { "There can be only one." }; HashSet<string> pathingResults = new HashSet<string>(); for (int i = 0; i < 1000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); pathingResults.Add(pathedString); } Assert.IsTrue(pathingResults.SetEquals(new HashSet<string>(pathingOptions))); }
public void TestPathingString4() { SpeechService SpeechService = new SpeechService(); string pathingString = @";;;;;;Seven;;;"; List<string> pathingOptions = new List<string>() { "" , "Seven" }; int sevenCount = 0; for (int i = 0; i < 10000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); if (pathedString == "Seven") { sevenCount++; } } Assert.IsTrue(sevenCount > 750); Assert.IsTrue(sevenCount < 1500); }
public void TestPathingString3() { SpeechService SpeechService = new SpeechService(); string pathingString = @"There [are;might be;could be] [4;5;] lights;It's dark in here;"; List<string> pathingOptions = new List<string>() { "There are 4 lights" , "There are 5 lights" , "There are lights" ,"There might be 4 lights" , "There might be 5 lights" , "There might be lights" ,"There could be 4 lights" , "There could be 5 lights" , "There could be lights" , "It's dark in here" , "" }; HashSet<string> pathingResults = new HashSet<string>(); for (int i = 0; i < 1000; i++) { string pathedString = SpeechService.SpeechFromScript(pathingString); pathingResults.Add(pathedString); } Assert.IsTrue(pathingResults.SetEquals(new HashSet<string>(pathingOptions))); }
private void ttsTestVoiceButtonClicked(object sender, RoutedEventArgs e) { Ship testShip = ShipDefinitions.ShipFromModel((string)ttsTestShipDropDown.SelectedValue); testShip.Health = 100; SpeechServiceConfiguration speechConfiguration = SpeechServiceConfiguration.FromFile(); SpeechService speechService = new SpeechService(speechConfiguration); speechService.Say(null, testShip, "This is how I will sound in your " + Translations.ShipModel((string)ttsTestShipDropDown.SelectedValue) + "."); }
private void testShipName(object sender, RoutedEventArgs e) { Ship ship = (Ship)((Button)e.Source).DataContext; ship.Health = 100; SpeechServiceConfiguration speechConfiguration = SpeechServiceConfiguration.FromFile(); SpeechService speechService = new SpeechService(speechConfiguration); if (String.IsNullOrEmpty(ship.PhoneticName)) { speechService.Say(null, ship, ship.Name + " stands ready."); } else { speechService.Say(null, ship, "<phoneme alphabet=\"ipa\" ph=\"" + ship.PhoneticName + "\">" + ship.Name + "</phoneme>" + " stands ready."); } }
public static void VA_Init1(ref Dictionary<string, object> state, ref Dictionary<string, Int16?> shortIntValues, ref Dictionary<string, string> textValues, ref Dictionary<string, int?> intValues, ref Dictionary<string, decimal?> decimalValues, ref Dictionary<string, Boolean?> booleanValues, ref Dictionary<string, DateTime?> dateTimeValues, ref Dictionary<string, object> extendedValues) { if (!initialised) { lock (initLock) { if (!initialised) { try { logInfo("EDDI " + PLUGIN_VERSION + " starting"); // Set up and/or open our database String dataDir = Environment.GetEnvironmentVariable("AppData") + "\\EDDI"; System.IO.Directory.CreateDirectory(dataDir); // Set up our local star system repository starSystemRepository = new EDDIStarSystemSqLiteRepository(); // Set up the EDDI configuration EDDIConfiguration eddiConfiguration = EDDIConfiguration.FromFile(); setString(ref textValues, "Home system", eddiConfiguration.HomeSystem != null && eddiConfiguration.HomeSystem.Trim().Length > 0 ? eddiConfiguration.HomeSystem : null); setString(ref textValues, "Home system (spoken)", eddiConfiguration.HomeSystem != null && eddiConfiguration.HomeSystem.Trim().Length > 0 ? Translations.StarSystem(eddiConfiguration.HomeSystem) : null); setString(ref textValues, "Home station", eddiConfiguration.HomeStation != null && eddiConfiguration.HomeStation.Trim().Length > 0 ? eddiConfiguration.HomeStation : null); setDecimal(ref decimalValues, "Insurance", eddiConfiguration.Insurance); if (eddiConfiguration.HomeSystem != null && eddiConfiguration.HomeSystem.Trim().Length > 0) { EDDIStarSystem HomeStarSystemData = starSystemRepository.GetEDDIStarSystem(eddiConfiguration.HomeSystem.Trim()); if (HomeStarSystemData == null) { // We have no record of this system; set it up HomeStarSystemData = new EDDIStarSystem(); HomeStarSystemData.Name = eddiConfiguration.HomeSystem.Trim(); HomeStarSystemData.StarSystem = DataProviderService.GetSystemData(eddiConfiguration.HomeSystem.Trim()); HomeStarSystemData.LastVisit = DateTime.Now; HomeStarSystemData.StarSystemLastUpdated = HomeStarSystemData.LastVisit; HomeStarSystemData.TotalVisits = 1; starSystemRepository.SaveEDDIStarSystem(HomeStarSystemData); } HomeStarSystem = HomeStarSystemData.StarSystem; } enableDebugging = eddiConfiguration.Debug; setBoolean(ref booleanValues, "EDDI debug", enableDebugging); // Set up the app service appService = new CompanionAppService(enableDebugging); if (appService.CurrentState == CompanionAppService.State.READY) { // Carry out initial population of profile InvokeUpdateProfile(ref state, ref shortIntValues, ref textValues, ref intValues, ref decimalValues, ref booleanValues, ref dateTimeValues, ref extendedValues); } if (Cmdr != null && Cmdr.Name != null) { setString(ref textValues, "EDDI plugin profile status", "Enabled"); logInfo("EDDI access to the companion app is enabled"); } else { // If InvokeUpdatePlugin failed then it will have have left an error message, but this once we ignore it setPluginStatus(ref textValues, "Operational", null, null); setString(ref textValues, "EDDI plugin profile status", "Disabled"); logInfo("EDDI access to the companion app is disabled"); // We create a commander anyway, as data such as starsystem uses it Cmdr = new Commander(); } // Set up the star map service StarMapConfiguration starMapCredentials = StarMapConfiguration.FromFile(); if (starMapCredentials != null && starMapCredentials.apiKey != null) { // Commander name might come from star map credentials or the companion app's profile string commanderName = null; if (starMapCredentials.commanderName != null) { commanderName = starMapCredentials.commanderName; } else if (Cmdr.Name != null) { commanderName = Cmdr.Name; } if (commanderName != null) { starMapService = new StarMapService(starMapCredentials.apiKey, commanderName); setString(ref textValues, "EDDI plugin EDSM status", "Enabled"); logInfo("EDDI access to EDSM is enabled"); } } if (starMapService == null) { setString(ref textValues, "EDDI plugin EDSM status", "Disabled"); logInfo("EDDI access to EDSM is disabled"); } setString(ref textValues, "EDDI version", PLUGIN_VERSION); speechService = new SpeechService(SpeechServiceConfiguration.FromFile()); InvokeNewSystem(ref state, ref shortIntValues, ref textValues, ref intValues, ref decimalValues, ref booleanValues, ref dateTimeValues, ref extendedValues); CurrentEnvironment = ENVIRONMENT_NORMAL_SPACE; setString(ref textValues, "Environment", CurrentEnvironment); // Set up log monitor NetLogConfiguration netLogConfiguration = NetLogConfiguration.FromFile(); if (netLogConfiguration != null && netLogConfiguration.path != null) { logWatcherThread = new Thread(() => StartLogMonitor(netLogConfiguration)); logWatcherThread.IsBackground = true; logWatcherThread.Name = "EDDI netlog watcher"; logWatcherThread.Start(); setString(ref textValues, "EDDI plugin NetLog status", "Enabled"); logInfo("EDDI netlog monitor is enabled for " + netLogConfiguration.path); } else { setString(ref textValues, "EDDI plugin NetLog status", "Disabled"); logInfo("EDDI netlog monitor is disabled"); } setPluginStatus(ref textValues, "Operational", null, null); initialised = true; } catch (Exception ex) { setPluginStatus(ref textValues, "Failed", "Failed to initialise", ex); } } } } }