Пример #1
0
        public IEnumerator RecognizerTimeout()
        {
            float currentTime = 0f;

            while (true)
            {
                if (_dictationStarted)
                {
                    if (currentTime == 0)
                    {
                        currentTime = Time.time;
                    }
                    //Debug.Log("startTime :" + currentTime);
                    //Debug.Log("currentTime :" + Time.time);
                    if (currentTime + 3 > Time.time)
                    {
                        if (!_isProcessing)
                        {
                            //Debug.Log("Reset");
                            _dictationRecognizer.Stop();
                            _dictationStarted = false;
                        }
                        currentTime = 0f;
                    }
                }
                yield return(null);
            }
        }
Пример #2
0
    private void DictationRecognizer_DictationResult(string text, ConfidenceLevel confidence)
    {
        GameObject holoMenu = null;

        Debug.Log("String heard: " + text);
        dictationRecognizer.Stop();


        // Cases to set holoMenu to the correct menu
        if (text.ToLower().Equals("main") || text.ToLower().Equals("main menu") || text.ToLower().Equals("maine") || text.ToLower().Equals("mean"))
        {
            holoMenu = mc.m_mainMenu;
        }
        else if (text.ToLower().Equals("biometrics"))
        {
            holoMenu = mc.m_biometricsMenu;
        }
        else if (text.ToLower().Equals("help"))
        {
            holoMenu = mc.m_helpMenu;
        }
        else if (text.ToLower().Equals("music"))
        {
            holoMenu = mc.m_musicMenu;
        }
        else if (text.ToLower().Equals("settings"))
        {
            holoMenu = mc.m_settingsMenu;
        }
        else if (text.ToLower().Equals("brightness"))
        {
            holoMenu = mc.m_brightnessMenu;
        }
        else if (text.ToLower().Equals("volume"))
        {
            holoMenu = mc.m_volumeMenu;
        }
        else if (text.ToLower().Equals("procedure"))
        {
            holoMenu = mc.m_blankTaskMenu;
        }
        else
        {
            Debug.Log("Cmd not recognized.");
            // This does not fail eloquently
        }


        // call function in MenuController to retrieve the specific menu
        if (holoMenu != null)
        {
            mc.Retrieve(holoMenu);
        }

        dictationRecognizer.Dispose();
        PhraseRecognitionSystem.Restart();
    }
Пример #3
0
    void onDictationComplete(DictationCompletionCause cause)
    {
        if (cause != DictationCompletionCause.Complete)
        {
            Debug.LogErrorFormat("Dictation completed unsuccessfully: {0}.", cause);
        }

        if (cause == DictationCompletionCause.TimeoutExceeded)
        {
            dictationRecognizer.Stop();
            dictationRecognizer.Start();
        }
    }
Пример #4
0
 private void Update()
 {
     if (startSpeechRecognition)
     {
         startSpeechRecognition = false;
         m_DictationRecognizer.Start();
     }
     if (stopSpeechRecognition)
     {
         stopSpeechRecognition = false;
         m_DictationRecognizer.Stop();
     }
 }
    private IEnumerator _toggleDictation(bool state)
    {
        if (state)
        {
            keywordRecognizer.Stop();
            PhraseRecognitionSystem.Shutdown();

            while (PhraseRecognitionSystem.Status == SpeechSystemStatus.Running)
            {
                yield return(null);
            }

            dictationRecognizer.Start();
        }
        else
        {
            dictationRecognizer.Stop();

            while (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                yield return(null);
            }

            PhraseRecognitionSystem.Restart();
            keywordRecognizer.Start();
        }
    }
Пример #6
0
 /// <summary>
 /// Stops the the windows speech to text as a streaming service
 /// </summary>
 public override void DisableSpeechToText()
 {
     if (dictationRecognizer.Status == SpeechSystemStatus.Running)
     {
         dictationRecognizer.Stop();
     }
 }
        /// <summary>
        /// Ends the recording session.
        /// </summary>
        public static async Task StopRecordingAsync()
        {
#if UNITY_STANDALONE_WIN || UNITY_WSA || UNITY_EDITOR_WIN
            if (!IsListening || isTransitioning)
            {
                Debug.LogWarning("Unable to stop recording");
                return;
            }

            IsListening     = false;
            isTransitioning = true;

            if (hasListener)
            {
                InputSystem.PopModalInputHandler();
                hasListener = false;
            }

            Microphone.End(DeviceName);

            if (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                dictationRecognizer.Stop();
            }

            await new WaitUntil(() => PhraseRecognitionSystem.Status != SpeechSystemStatus.Running);

            PhraseRecognitionSystem.Restart();

            await new WaitUntil(() => PhraseRecognitionSystem.Status == SpeechSystemStatus.Running);

            isTransitioning = false;
#endif // UNITY_STANDALONE_WIN || UNITY_WSA || UNITY_EDITOR_WIN
        }
        /// <summary>
        /// Ends the recording session.
        /// </summary>
        private IEnumerator StopRecordingInternal()
        {
#if UNITY_WSA || UNITY_STANDALONE_WIN
            if (!IsListening || isTransitioning)
            {
                Debug.LogWarning("Unable to stop recording");
                yield break;
            }

            IsListening     = false;
            isTransitioning = true;

            if (hasListener)
            {
                InputManager.Instance.PopModalInputHandler();
                hasListener = false;
            }

            Microphone.End(DeviceName);

            if (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                dictationRecognizer.Stop();
            }

            StartCoroutine(FinishStopRecording());
#else
            return(null);
#endif
        }
Пример #9
0
 /// <summary>
 /// Stops the dictionation, if it is running.
 ///
 /// Pre-condition: SpeechSystemStatus is runnning.
 ///
 /// Post-condition: Dication is no longer running.
 /// </summary>
 public void StopReadingSpeech()
 {
     if (dictationRecognizer.Status == SpeechSystemStatus.Running)
     {
         dictationRecognizer.Stop();
     }
 }
 public void PauseRecognition()
 {
     if (recognizer != null && recognizer.Status == SpeechSystemStatus.Running)
     {
         recognizer.Stop();
     }
 }
Пример #11
0
        /// <summary>
        /// Ends the recording session.
        /// </summary>
        private IEnumerator StopListeningInternal()
        {
            #if UNITY_WSA || UNITY_STANDALONE_WIN
            if (!isListening || isTransitioning)
            {
                LogWarn("Unable to stop recording");
                yield break;
            }

            isListening     = false;
            isTransitioning = true;

            LogInfo("Stopping microphone");
            Microphone.End(deviceName);

            LogInfo("Stopping dictation");
            if (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                dictationRecognizer.Stop();
            }

            LogInfo("Waiting for speech to stop");
            while (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                yield return(null);
            }

            PhraseRecognitionSystem.Restart();
            isTransitioning = false;

            LogInfo("Stopped listening");
            #else
            return(null);
            #endif
        }
    private void InputKeyBoard()
    {
        if (dR != null && dRState)
        {
            dR.Stop();
            dRState = false;
        }

        input = Vector3.up * Input.GetAxis(VAxis) + Vector3.right * Input.GetAxis(HAxis);

        jumpB   = Input.GetButtonDown(JumpButon);
        jumpBUP = Input.GetButtonUp(JumpButon);
        jumpBP  = Input.GetButton(JumpButon);
        useB    = Input.GetButtonDown(UseButon);
        invB    = Input.GetButtonDown(InvButon);
    }
 public void keywordRestart()
 {
     dictationRecognizer.Stop();
     dictationRecognizer.Dispose();
     PhraseRecognitionSystem.Restart();
     keywordRecognizer.Start();
 }
        /// <summary>
        /// Ends the recording session.
        /// </summary>
        public static IEnumerator StopRecording()
        {
#if UNITY_EDITOR || UNITY_WSA
            if (!IsListening || isTransitioning)
            {
                Debug.LogWarning("Unable to stop recording");
                yield break;
            }

            IsListening     = false;
            isTransitioning = true;

            Microphone.End(DeviceName);

            if (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                dictationRecognizer.Stop();
            }

            while (dictationRecognizer.Status == SpeechSystemStatus.Running)
            {
                yield return(null);
            }

            PhraseRecognitionSystem.Restart();
            isTransitioning = false;
#else
            return(null);
#endif
        }
Пример #15
0
 /// <summary>
 /// Close out any further input
 /// </summary>
 public void TurnOff()
 {
     if (recognizer.Status == SpeechSystemStatus.Running)
     {
         recognizer.Stop();
     }
 }
Пример #16
0
 public void StopRecording(DictationRecognizer.DictationResultDelegate dictationResultDelegate)
 {
     Microphone.End(deviceName);
     dictationRecognizer.Stop();
     dictationRecognizer.DictationResult -= dictationResultDelegate;
     PhraseRecognitionSystem.Restart();
 }
 /// <summary>
 ///  Stops the recognizer if one is running.
 /// </summary>
 public void stopRecognizer()
 {
     if (recognizer != null && recognizer.Status == SpeechSystemStatus.Running)
     {
         recognizer.Stop();
     }
 }
Пример #18
0
 public void FinishSearch()
 {
     if (dictationRecognizer != null && dictationRecognizer.Status.Equals(SpeechSystemStatus.Running))
     {
         dictationRecognizer.Stop();
     }
 }
Пример #19
0
    private void OnBotResponse(object sender, Assets.BotDirectLine.BotResponseEventArgs e)
    {
        Debug.Log($"OnBotResponse: {e.ToString()}");

        switch (e.EventType)
        {
        case EventTypes.ConversationStarted:
            if (!string.IsNullOrWhiteSpace(e.ConversationId))
            {
                // Store the ID
                textToSpeech.SpeakSsml("<?xml version=\"1.0\"?><speak speed=\"80%\" version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" xml:lang=\"en-US\">Bot connection established!</speak>");
                conversationId = e.ConversationId;
            }
            else
            {
                textToSpeech.SpeakSsml("<?xml version=\"1.0\"?><speak speed=\"80%\" version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" xml:lang=\"en-US\">Error while connecting to Bot!</speak>");
            }
            break;

        case EventTypes.MessageSent:
            if (!string.IsNullOrEmpty(conversationId))
            {
                // Get the bot's response(s)
                BotDirectLineManager.Instance.GetMessagesAsync(conversationId).Wait();
            }

            break;

        case EventTypes.MessageReceived:
            // Handle the received message(s)
            if (!string.IsNullOrWhiteSpace(conversationId))
            {
                var messageActivity = e.Messages.LastOrDefault();
                Debug.Log(messageActivity.Text);
                textToSpeech.SpeakSsml("<?xml version=\"1.0\"?><speak speed=\"80%\" version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:schemaLocation=\"http://www.w3.org/2001/10/synthesis http://www.w3.org/TR/speech-synthesis/synthesis.xsd\" xml:lang=\"en-US\"> " + messageActivity.Text + "</speak>");

                dictationRecognizer.Stop();

                dictationRecognizer.DictationResult     -= DictationRecognizer_DictationResult;
                dictationRecognizer.DictationHypothesis -= DictationRecognizer_DictationHypothesis;
                dictationRecognizer.DictationComplete   -= DictationRecognizer_DictationComplete;
                dictationRecognizer.DictationError      -= DictationRecognizer_DictationError;

                dictationRecognizer.Dispose();

                //do
                //{

                //} while (dictationRecognizer.Status != SpeechSystemStatus.Stopped);

                PhraseRecognitionSystem.Restart();
            }
            break;

        case EventTypes.Error:
            // Handle the error
            break;
        }
    }
Пример #20
0
 private void StopRecording()
 {
     if (recordingOn)
     {
         recordingOn = false;
         dictationRecognizer.Stop();
     }
 }
Пример #21
0
 // Ends the recording session.
 public void StopRecording()
 {
     if (dictationRecognizer.Status == SpeechSystemStatus.Running)
     {
         dictationRecognizer.Stop();
     }
     Microphone.End(deviceName);
 }
Пример #22
0
 public void EndDictation()
 {
     m_DictationRecognizer.Dispose();
     m_DictationRecognizer.Stop();
     m_DictationRecognizer = null;
     Debug.Log("Dictation stopped");
     enableUI("EndDictation");
 }
Пример #23
0
 public void StopCapturingAudio()
 {
     TranslationResults.instance.SetMicrophoneStatus("Mic sleeping");
     Microphone.End(null);
     dictationRecognizer.DictationResult -= DictationReconizer_DictationResult;
     dictationRecognizer.Stop();
     dictationRecognizer.Dispose();
 }
Пример #24
0
 /// <summary>
 /// If recording, stop the dictation recognizer and destroy it so that Voice commands can resume.
 /// </summary>
 public void StopRecording()
 {
     if (isRecording)
     {
         isRecording = false;
         dictationRecognizer.Stop();
         dictationRecognizer.Dispose();
     }
 }
Пример #25
0
        /// <summary>
        /// Terminate dictation mode.
        /// </summary>
        /// TODO: Something needs to call this.
        public void EndDictation()
        {
#if UNITY_WSA || UNITY_STANDALONE_WIN
            if (m_Dictation.Status == SpeechSystemStatus.Running)
            {
                m_Dictation.Stop();
            }
#endif
        }
Пример #26
0
    IEnumerator esperarDictation()
    {
        //Debug.Log("Desactivado");
        dictationRecognizer.Stop();
        yield return(new WaitForSeconds(1));

        dictationRecognizer.Start();
        //Debug.Log("Activado");
    }
Пример #27
0
        /// <summary>
        /// Terminate dictation mode.
        /// </summary>
        /// TODO: Something needs to call this.
        public void EndDictation()
        {
#if UNITY_WSA
            if (m_Dictation.Status == SpeechSystemStatus.Running)
            {
                m_Dictation.Stop();
            }
#endif
        }
Пример #28
0
 public void keywordRestart()
 {
     dictationRecognizer.Stop();
     dictationRecognizer.Dispose();
     IsRunning = false;
     checkDictationOn();
     PhraseRecognitionSystem.Restart();
     keywordRecognizer.Start();
 }
Пример #29
0
    void Start()
    {
        m_DictationRecognizer = new DictationRecognizer();

        m_DictationRecognizer.DictationResult += (text, confidence) =>
        {
            Debug.LogFormat("Dictation result: {0}", text);
            inputText.GetComponent <InputField>().text = text;
            icon.GetComponent <RawImage>().texture     = completedImage;
            m_DictationRecognizer.Stop();
            if (text.Equals("all"))
            {
                SongPlateManager.instance.showAllSongs();
            }
            else
            {
                SongPlateManager.instance.searchSong(text);
            }
            //add done icon
            //perform searching
        };

        m_DictationRecognizer.DictationHypothesis += (text) =>
        {
            Debug.LogFormat("Dictation hypothesis: {0}", text);
            inputText.GetComponent <InputField>().text = text;
        };

        m_DictationRecognizer.DictationComplete += (completionCause) =>
        {
            if (completionCause != DictationCompletionCause.Complete)
            {
                Debug.LogErrorFormat("Dictation completed unsuccessfully: {0}.", completionCause);
            }
        };

        m_DictationRecognizer.DictationError += (error, hresult) =>
        {
            Debug.LogErrorFormat("Dictation error: {0}; HResult = {1}.", error, hresult);
        };

        //readyImage = Resources.Load<Texture2D>("readyImage"); //Create ar
        loadingImage   = Resources.Load <Texture2D>("loadingImage");   //Create ar
        completedImage = Resources.Load <Texture2D>("completedImage"); //Create ar

        button = GameObject.Find("ButtonSpeech").GetComponent <Button>();
        //buttonTextSearch = GameObject.Find("ButtonTextSearch").GetComponent<Button>();
        input     = GameObject.Find("InputSongSearch");
        inputText = GameObject.Find("InputSongSearch"); //This inputText should not be placeholder
        icon      = GameObject.Find("IconSpeech");      //Create ar
        icon.SetActive(false);
        //icon.GetComponent<RawImage>().texture = readyImage;
        button.onClick.AddListener(OnClick);
        inputText.GetComponent <InputField>().onValueChanged.AddListener(delegate { ValueChangeCheck(); });
        print("textSR");
    }
Пример #30
0
    /// <summary>
    /// Ends the recording session.
    /// </summary>
    public void StopRecording()
    {
        // 3.a: Check if dictationRecognizer.Status is Running and stop it if so
        if (dictationRecognizer.Status == SpeechSystemStatus.Running)
        {
            dictationRecognizer.Stop();
        }

        Microphone.End(deviceName);
    }