Convert the following sample C# methods found in Visual Studio to C++ methods, 1
ID: 3676387 • Letter: C
Question
Convert the following sample C# methods found in Visual Studio to C++ methods,
1.
static void PromptBuilding()
{
PromptBuilder builder = new PromptBuilder();
builder.StartSentence();
builder.AppendText("This is a prompt building example.");
builder.EndSentence();
builder.StartSentence();
builder.AppendText("Now, there will be a break of 2 seconds.");
builder.EndSentence();
builder.AppendBreak(new TimeSpan(0, 0, 2));
builder.StartStyle(new PromptStyle(PromptVolume.ExtraSoft));
builder.AppendText("This text is spoken extra soft.");
builder.EndStyle();
builder.StartStyle(new PromptStyle(PromptRate.Fast));
builder.AppendText("This text is spoken fast.");
builder.EndStyle();
SpeechSynthesizer synthesizer = new SpeechSynthesizer();
synthesizer.Speak(builder);
synthesizer.Dispose();
}
2.
static void speechRecognitionWithDictationGrammar_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "exit")
{
manualResetEvent.Set();
return;
}
Console.WriteLine("You said: " + e.Result.Text);
}
3.
static void SpeechRecognitionWithDictationGrammar()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer.LoadGrammar(new Grammar(new GrammarBuilder("exit")));
_recognizer.LoadGrammar(new DictationGrammar());
_recognizer.SpeechRecognized += speechRecognitionWithDictationGrammar_SpeechRecognized;
_recognizer.SetInputToDefaultAudioDevice();
_recognizer.RecognizeAsync(RecognizeMode.Multiple);
}
4.
static void speechRecognitionWithChoices_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
Console.WriteLine("Do you really " + e.Result.Words[1].Text + " " + e.Result.Words[2].Text + "?");
manualResetEvent.Set();
}
5.
static void SpeechRecognitionWithChoices()
{
_recognizer = new SpeechRecognitionEngine();
GrammarBuilder grammarBuilder = new GrammarBuilder();
grammarBuilder.Append("I"); // add "I"
grammarBuilder.Append(new Choices("like", "dislike")); // load "like" & "dislike"
grammarBuilder.Append(new Choices("dogs", "cats", "birds", "snakes", "fishes", "tigers", "lions", "snails", "elephants")); // add animals
_recognizer.LoadGrammar(new Grammar(grammarBuilder)); // load grammar
_recognizer.SpeechRecognized += speechRecognitionWithChoices_SpeechRecognized;
_recognizer.SetInputToDefaultAudioDevice(); // set input to default audio device
_recognizer.RecognizeAsync(RecognizeMode.Multiple); // recognize speech
}
6.
static void _emulateRecognize_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "emulate speech")
{
Console.WriteLine("Speech was emulated!");
}
manualResetEvent.Set();
}
7.
static void EmulateRecognize()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer.LoadGrammar(new Grammar(new GrammarBuilder("emulate speech"))); // load "emulate speech" grammar
_recognizer.SpeechRecognized += _emulateRecognize_SpeechRecognized;
_recognizer.EmulateRecognize("emulate speech");
}
8.
static void _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognitionRejected(object sender, SpeechRecognitionRejectedEventArgs e)
{
if (e.Result.Alternates.Count == 0)
{
Console.WriteLine("No candidate phrases found.");
return;
}
Console.WriteLine("Speech rejected. Did you mean:");
foreach (RecognizedPhrase r in e.Result.Alternates)
{
Console.WriteLine(" " + r.Text);
}
}
9.
static void _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized(object sender, SpeechRecognizedEventArgs e)
{
if (e.Result.Text == "hello computer")
{
SpeechSynthesizer speechSynthesizer = new SpeechSynthesizer();
speechSynthesizer.Speak("hello user");
speechSynthesizer.Dispose();
}
manualResetEvent.Set();
}
10.
static void RecognizeSpeechAndMakeSureTheComputerSpeaksToYou()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer.LoadGrammar(new Grammar(new GrammarBuilder("hello computer"))); // load a "hello computer" grammar
_recognizer.SpeechRecognized += _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized; // if speech is recognized, call the specified method
_recognizer.SpeechRecognitionRejected += _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognitionRejected;
_recognizer.SetInputToDefaultAudioDevice(); // set the input to the default audio device
_recognizer.RecognizeAsync(RecognizeMode.Multiple); // recognize speech asynchronous
}
Explanation / Answer
1.
//.h file code:
static void PromptBuilding();
//.cpp file code:
void <missing_class_definition>::PromptBuilding()
{
PromptBuilder *builder = new PromptBuilder();
builder->StartSentence();
builder->AppendText(L"This is a prompt building example.");
builder->EndSentence();
builder->StartSentence();
builder->AppendText(L"Now, there will be a break of 2 seconds.");
builder->EndSentence();
builder->AppendBreak(TimeSpan(0, 0, 2));
builder->StartStyle(new PromptStyle(PromptVolume::ExtraSoft));
builder->AppendText(L"This text is spoken extra soft.");
builder->EndStyle();
builder->StartStyle(new PromptStyle(PromptRate::Fast));
builder->AppendText(L"This text is spoken fast.");
builder->EndStyle();
SpeechSynthesizer *synthesizer = new SpeechSynthesizer();
synthesizer->Speak(builder);
delete synthesizer;
}
2.
//.h file code:
#include <string>
#include <iostream>
static void speechRecognitionWithDictationGrammar_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e);
//.cpp file code:
void <missing_class_definition>::speechRecognitionWithDictationGrammar_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e)
{
if (e->Result->Text == L"exit")
{
manualResetEvent::Set();
return;
}
std::wcout << std::wstring(L"You said: ") << e->Result->Text << std::endl;
}
3.
//.h file code:
static void SpeechRecognitionWithDictationGrammar();
//.cpp file code:
void <missing_class_definition>::SpeechRecognitionWithDictationGrammar()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer::LoadGrammar(new Grammar(new GrammarBuilder(L"exit")));
_recognizer::LoadGrammar(new DictationGrammar());
_recognizer::SpeechRecognized += speechRecognitionWithDictationGrammar_SpeechRecognized;
_recognizer::SetInputToDefaultAudioDevice();
_recognizer::RecognizeAsync(RecognizeMode::Multiple);
}
4.
//.h file code:
#include <string>
#include <iostream>
static static void speechRecognitionWithChoices_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e);
//.cpp file code:
static void <missing_class_definition>::speechRecognitionWithChoices_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e)
{
std::wcout << std::wstring(L"Do you really ") << e->Result->Words[1]->Text << std::wstring(L" ") << e->Result->Words[2]->Text << std::wstring(L"?") << std::endl;
manualResetEvent::Set();
}
5.
//.h file code:
static void SpeechRecognitionWithChoices();
//.cpp file code:
void <missing_class_definition>::SpeechRecognitionWithChoices()
{
_recognizer = new SpeechRecognitionEngine();
GrammarBuilder *grammarBuilder = new GrammarBuilder();
grammarBuilder->Append(L"I"); // add "I"
grammarBuilder->Append(new Choices(L"like", L"dislike")); // load "like" & "dislike"
grammarBuilder->Append(new Choices(L"dogs", L"cats", L"birds", L"snakes", L"fishes", L"tigers", L"lions", L"snails", L"elephants")); // add animals
_recognizer::LoadGrammar(new Grammar(grammarBuilder)); // load grammar
_recognizer::SpeechRecognized += speechRecognitionWithChoices_SpeechRecognized;
_recognizer::SetInputToDefaultAudioDevice(); // set input to default audio device
_recognizer::RecognizeAsync(RecognizeMode::Multiple); // recognize speech
}
6.
//.h file code:
#include <string>
#include <iostream>
static void _emulateRecognize_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e);
//.cpp file code:
void <missing_class_definition>::_emulateRecognize_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e)
{
if (e->Result->Text == L"emulate speech")
{
std::wcout << std::wstring(L"Speech was emulated!") << std::endl;
}
manualResetEvent::Set();
}
7.
//.h file code:
static void EmulateRecognize();
//.cpp file code:
void <missing_class_definition>::EmulateRecognize()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer::LoadGrammar(new Grammar(new GrammarBuilder(L"emulate speech"))); // load "emulate speech" grammar
_recognizer::SpeechRecognized += _emulateRecognize_SpeechRecognized;
_recognizer::EmulateRecognize(L"emulate speech");
}
8.
//.h file code:
#include <string>
#include <iostream>
static void _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognitionRejected(void *sender, SpeechRecognitionRejectedEventArgs *e);
//.cpp file code:
void <missing_class_definition>::_recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognitionRejected(void *sender, SpeechRecognitionRejectedEventArgs *e)
{
if (e->Result->Alternates->Count == 0)
{
std::wcout << std::wstring(L"No candidate phrases found.") << std::endl;
return;
}
std::wcout << std::wstring(L"Speech rejected. Did you mean:") << std::endl;
for (RecognizedPhrase *r : e->Result->Alternates)
{
std::wcout << std::wstring(L" ") << r->Text << std::endl;
}
}
9.
//.h file code:
static void _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e);
//.cpp file code:
void <missing_class_definition>::_recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized(void *sender, SpeechRecognizedEventArgs *e)
{
if (e->Result->Text == L"hello computer")
{
SpeechSynthesizer *speechSynthesizer = new SpeechSynthesizer();
speechSynthesizer->Speak(L"hello user");
delete speechSynthesizer;
}
manualResetEvent::Set();
}
10.
//.h file code:
static void RecognizeSpeechAndMakeSureTheComputerSpeaksToYou();
//.cpp file code:
void <missing_class_definition>::RecognizeSpeechAndMakeSureTheComputerSpeaksToYou()
{
_recognizer = new SpeechRecognitionEngine();
_recognizer::LoadGrammar(new Grammar(new GrammarBuilder(L"hello computer"))); // load a "hello computer" grammar
_recognizer::SpeechRecognized += _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized; // if speech is recognized, call the specified method
_recognizer::SpeechRecognitionRejected += _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognitionRejected;
_recognizer::SetInputToDefaultAudioDevice(); // set the input to the default audio device
_recognizer::RecognizeAsync(RecognizeMode::Multiple); // recognize speech asynchronous
}