예제 #1
0
        private void spGen_SpeakCompleted(SpeechGenerator sender, string spokenString, SpeakOperationResult result)
        {
            try
            {
                if (autoDisableSpRec && spRecState)
                {
                    //if (autoDisableSpRec)
                    commandManager.RobotSpeechRecognizer.Enabled = spRecState;
                }
                //commandManager.RobotSpeechRecognizer.Enabled = true;
            }
            catch { }
            switch (result)
            {
            case SpeakOperationResult.Error:
                Console("\tError");
                break;

            case SpeakOperationResult.Canceled:
                Console("\tCanceled");
                break;

            default:
                Console("\tDone!");
                break;
            }
        }
 /// <summary>
 /// Initializes a new instance of
 /// </summary>
 /// <param name="speechGenerator">Speech generator object used for TTS</param>
 public SpgVoiceCommandExecuter(SpeechGenerator speechGenerator)
     : base("spg_voice")
 {
     if (speechGenerator == null)
         throw new ArgumentNullException();
     this.spGen = speechGenerator;
 }
예제 #3
0
 /// <summary>
 /// Initializes a new instance of
 /// </summary>
 /// <param name="compatibleCommandName">The command name (provided for compatibility)</param>
 /// <param name="speechGenerator">Speech generator object used for TTS</param>
 public SpgSayCommandExecuter(string compatibleCommandName, SpeechGenerator speechGenerator)
     : base(compatibleCommandName)
 {
     if (speechGenerator == null)
     {
         throw new ArgumentNullException();
     }
     this.spGen = speechGenerator;
 }
예제 #4
0
 /// <summary>
 /// Initializes a new instance of
 /// </summary>
 /// <param name="speechGenerator">Speech generator object used for TTS</param>
 public SpgSayCommandExecuter(SpeechGenerator speechGenerator)
     : base("spg_say")
 {
     if (speechGenerator == null)
     {
         throw new ArgumentNullException();
     }
     this.spGen = speechGenerator;
 }
예제 #5
0
 /// <summary>
 /// Initializes a new instance of
 /// </summary>
 /// <param name="speechGenerator">Speech generator object used for TTS</param>
 public SpgShutUpCommandExecuter(SpeechGenerator speechGenerator, IAudioPlayer audioPlayer)
     : base("spg_shutup")
 {
     if ((speechGenerator == null) || (audioPlayer == null))
     {
         throw new ArgumentNullException();
     }
     this.spGen       = speechGenerator;
     this.audioPlayer = audioPlayer;
 }
예제 #6
0
 private void spGen_SpeakStarted(SpeechGenerator sender, string textToSay)
 {
     try
     {
         if (autoDisableSpRec)
         {
             spRecState = commandManager.RobotSpeechRecognizer.Enabled;
             //if(spRecState)
             commandManager.RobotSpeechRecognizer.Enabled = false;
         }
     }
     catch { }
     Console("Say: \"" + textToSay + "\"");
     pbSpeechProgress.Value = 0;
 }
예제 #7
0
 private static void AddDefaultPronunciationRules(SpeechGenerator spGen)
 {
     spGen.Pronunciation.Add("robot", "row-bought");
     spGen.Pronunciation.Add("_", " ", ReplaceMode.Normal, -1);
     spGen.Pronunciation.Add("stop", "stup");
 }
예제 #8
0
 private static void AddDefaultPronunciationRules(SpeechGenerator spGen)
 {
     spGen.Pronunciation.Add("robot", "row-bought");
     spGen.Pronunciation.Add("_", " ", ReplaceMode.Normal, -1);
     spGen.Pronunciation.Add("stop", "stup");
 }
예제 #9
0
 private void spGen_VoiceChanged(SpeechGenerator sender, string voiceName)
 {
     UpdateVoiceCombo();
 }
예제 #10
0
 private void spGen_SpeakProgress(SpeechGenerator sender, double percentage)
 {
     UpdateProgressBar(100 * percentage);
 }
예제 #11
0
        /// <summary>
        ///  Initializes a new instance of FrmSocketSpeech
        /// </summary>
        public FrmSocketSpeech()
        {
            x64 = IntPtr.Size == 8;
            InitializeComponent();
            //if (x64 && Loq7SpeechGenerator.LoquendoInstalled)
            //if (Loq7SpeechGenerator.LoquendoInstalled)
            //	spGen = new Loq7SpeechGenerator();
            //else
            spGen = new SapiSpeechGenerator();
            spGen.SpeakStarted   += new SpeakStartedEventHandler(spGen_SpeakStarted);
            spGen.SpeakCompleted += new SpeakCompletedEventHandler(spGen_SpeakCompleted);
            spGen.VoiceChanged   += new VoiceChangedEventHandler(spGen_VoiceChanged);
            spGen.SpeakProgress  += new SpeakProgressEventHandler(spGen_SpeakProgress);

            //if(!x64)
            audioPlayer = new AudioPlayer32();
            //else
            //	audioPlayer = new AudioPlayer64();

            TcpPortIn        = 2052;
            TcpPortOut       = 2052;
            TcpServerAddress = System.Net.IPAddress.Parse("127.0.0.1");

            commandManager = new PacItoCommandManager();
            commandManager.SharedVariablesLoaded += new SharedVariablesLoadedEventHandler(commandManager_SharedVariablesLoaded);
            commandManager.Started               += new CommandManagerStatusChangedEventHandler(commandManager_Started);
            commandManager.Stopped               += new CommandManagerStatusChangedEventHandler(commandManager_Stopped);
            connectionManager                     = new ConnectionManager(2052, commandManager);
            connectionManager.ClientConnected    += new TcpClientConnectedEventHandler(connectionManager_ClientConnected);
            connectionManager.ClientDisconnected += new TcpClientDisconnectedEventHandler(connectionManager_ClientDisconnected);
            connectionManager.Connected          += new TcpClientConnectedEventHandler(connectionManager_Connected);
            //connectionManager.DataReceived += new ConnectionManagerDataReceivedEH(connectionManager_DataReceived);
            connectionManager.Disconnected += new TcpClientDisconnectedEventHandler(connectionManager_Disconnected);

            cexAread    = new SpgAreadCommandExecuter(spGen);
            cexAsay     = new SpgAsayCommandExecuter(spGen);
            cexRead     = new SpgReadCommandExecuter(spGen);
            cexSay      = new SpgSayCommandExecuter(spGen);
            cexShutUp   = new SpgShutUpCommandExecuter(spGen, audioPlayer);
            cexVoice    = new SpgVoiceCommandExecuter(spGen);
            cexAplay    = new SpgAplayCommandExecuter(audioPlayer);
            cexPlay     = new SpgPlayCommandExecuter(audioPlayer);
            cexPlayLoop = new SpgPlayLoopCommandExecuter(audioPlayer);

            cexReadCompatible = new SpgReadCommandExecuter("read", spGen);
            cexSayCompatible  = new SpgAsayCommandExecuter("say", spGen);

            commandManager.CommandExecuters.Add(cexAread);
            commandManager.CommandExecuters.Add(cexAsay);
            commandManager.CommandExecuters.Add(cexRead);
            commandManager.CommandExecuters.Add(cexSay);
            commandManager.CommandExecuters.Add(cexShutUp);
            commandManager.CommandExecuters.Add(cexVoice);
            commandManager.CommandExecuters.Add(cexAplay);
            commandManager.CommandExecuters.Add(cexPlay);
            commandManager.CommandExecuters.Add(cexPlayLoop);
            commandManager.CommandExecuters.Add(cexSayCompatible);
            commandManager.CommandExecuters.Add(cexReadCompatible);

            dlgConsole           = new StringEventHandler(Console);
            dlgUpdateVoiceCombo  = new VoidEventHandler(UpdateVoiceCombo);
            dlgSetTextboxText    = new SetTextboxTextCallback(SetTextboxText);
            dlgAppendTextboxText = new SetTextboxTextCallback(AppendTextboxText);
            dlgUpdatePB          = new DoubleEventHandler(UpdateProgressBar);

            AutoDisableSpRec = false;
        }