0

Microsoft Visual Studio 2015에서 AI를 만들고 있는데 speechRecognitionEngine 객체 대신 SpeechRecognizer 객체와 함께 SpeechSytheizer 객체를 사용하고 있습니다. SpeechRecognitionEngine에 내장 된 인식기 대신 Microsoft 음성 인식기를 사용하여 grammarBuilders를 사용하고 SpeechRecognitionEngine에로드해야합니다.AI가 말하는 모든 단어를 인식하고 모든 단어를 말합니다.

내가 말하고 인식 한 단어를 richtextBox에 추가하는 richTextBox를 만들었습니다. 그러나, 나는 인공 지능을 가지고 노력하고 내가 뭔가를 사용하여 말을 다시 한 후 뭔가를 말 :

if(e.result.text.toString().contains("whatever I said")){ 
s.speak("whatever i want it to say back"); 
} 

그러나 어떤 이유로 내가 뭔가 말을하지만, 텍스트하지만 다시 saything 인공 지능 나던을 추가 한 후 마이크로 소프트 음성 인식 나던 수면.

사람은 음성 인식기 잠 한 번 문장 말했다되었습니다 확인한 다음 speechSythesizer 개체가하는 방법을 알고 있다면 말 것을 다시 나중에 너무 큰

감사합니다, thatProgrammingGuy23

을 Heres 코드가 될 것이라고 지금까지 : 당신이 SpeechRecognizer가 일정 시간 동안 연설을 무시하려면

public partial class Form1 : Form{ 

    public Form1() 
    { 
     InitializeComponent(); 
    } 
    SpeechSynthesizer s = new SpeechSynthesizer(); 
    SpeechRecognizer rec = new SpeechRecognizer(); 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     rec.SpeechRecognized += rec_SpeechRecognized; 
    } 

    private void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
    { 

     richTextBox1.AppendText(e.Result.Text.ToString() + ""); 

     if (e.Result.Text.Contains("hello")){ 
      s.Speak("hi"); 

     } 
    } 
} 
+0

'Result.Text.ToString() + ""'Text는 ToString()을 호출하는 문자열이기 때문에 Result.Text'로 단순화 할 수 있습니다. 동일한 문자열을 반환하며'SpeechRecognizer.PauseRecognizerOnRecognition'도 찾고 계십니까? ? –

+0

나는 당신이 활성화를위한 키워드와 그것이 음성을 읽는 시간을 제어하는 ​​타이머를 자극 할 필요가 있다고 생각한다. 그런 다음 시간 창이 닫히고 나면 ppl이 응답에서 말한 것을 사용하여 듣기 기능을 해제하고 내레이션을 수행 할 수 있습니다. 문제가 해결되면 ... – Niklas

+0

Microsoft의 봇 프레임 워크를 살펴 보았습니까? https://docs.botframework.com/en-us/bot-intelligence/speech/#navtitle –

답변

1

당신이 사용할 수있는 SpeechRecognizer.Enabled

SpeechSynthesizer s = new SpeechSynthesizer(); 
SpeechRecognizer rec = new SpeechRecognizer(); 
private void Form1_Load(object sender, EventArgs e) 
{ 
    rec.SpeechRecognized += rec_SpeechRecognized; 
} 

private void rec_SpeechRecognized(object sender, SpeechRecognizedEventArgs e) 
{ 
    richTextBox1.AppendText(e.Result.Text); 

    if (e.Result.Text.Contains("hello")) 
    { 
     rec.Enabled = false; 
     //Do stuff 
     s.Speak("hi"); 
     rec.Enabled = true; 
    } 
} 
+0

내가하고 싶은 일은 speechRecognizer에 뭔가 말하고 내 ai가 다시 말하면서 마이크로 소프트 음성 인식기를 잠자 게하는 것이다. 나 그리고 어떤 행동을 취한 다음 마치 speechRecognitionEngine처럼 다시 듣기 시작합니다. – thatProgrammingGuy