私はMicrosoft Visual Studios 2015でAIを作成しています.SpeechRecognizerオブジェクトの代わりにSpeechSytheizerオブジェクトをspeechRecognitionEngineオブジェクトの代わりに使用しています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");
}
しかし、いくつかの理由で、マイクロソフトの音声認識doesntの睡眠私が何かを言うが、テキストが、バックsaythingのAIのdoesntを追加した後。
誰もが音声認識の睡眠を作る方法を知っていれば、一度の文がspeechSythesizerオブジェクトを持って、その後前記されたが戻ってその後何かを言う相続人
おかげで、 thatProgrammingGuy23
ので、コード素晴らしいことだというはるか:あなたは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");
}
}
}
'Result.Text.ToString()+" "' TextはToString()を呼び出す文字列であるため、Result.Text'に単純化できます。同じ文字列を返します。また、 'SpeechRecognizer.PauseRecognizerOnRecognition' ? –
私はアクティブ化のためのキーワードと、音声を読み込む時間を制御するタイマーを迫害する必要があると信じています。その後、時間窓が閉じられた後、あなたが聞いていることを無効にしてナレーションをする答えに言ったことを使うことができます。 – Niklas
Microsoftのボットフレームワークを調べましたか? https://docs.botframework.com/en-us/bot-intelligence/speech/#navtitle –