# Impact of VR Application in an Academic Context
## 2 Materials and Methods
### EduAssistant Experiential Learning Instrument Based on VR
#### 2.1.4 Voice Recognition using a Pretrained Hidden Markov Model  
Students may perform searches using voice recognition module. Voice recognition is based on a pretrained hidden Markov model to ensure adequate search results in noisy environments. Currently, it is possible to return search results for the Workflow Management course, mainly Petri net resources. To develop a voice recognition capability, we used UnityEngine.Windows.Speech. Our approach for implementation was to define a _SpeechRecognitionEngine_ class based on _DicationRecognizer_, _KeywordsRecognizer_, _PhraseRecognizer_ core classes. The students' input is received through the microphone of VR headset. The _KeywordRecognizer_ listens to the uttered phrases and attempts to match them to the existing dictionary list. A search event is triggered when the uttered phrases are recorded. If there is a match between user phrase input and dictionary, the results are displayed on the virtual projector. Otherwise, an error message is displayed on the screen. To predict users' intended speech, words uttered by humans are divided into separate sounds or phonemes and sent to an acoustic modeling algorithm. To be interpreted by a device, the sounds must be replicated based on the predictions using a built-in language model. This acoustic model is a hidden Markov model (HMM) [25; 26; 27; 28; 29; 30]. HMM is a stochastic model, a Bayesian network, where some of the states from the model are hidden and they must be determined by the machine. For example, in our case, when a user tries to search for the word \"transition\", the states of the model should be defined. If we define a state for each character we will have 10 states. The next step is to define the observations made by HMM for each state. We will assume that the only possible observations are true or false, marked with 0 and 1 as there are 50% chances for a given character to be understood by the machine. In this case we will have:  
States:  
S = {S1, S2, S3, S4, S5, S6, S7, S8, S9, S10}  
S = {t, r, a, n, s, i, t, i, o, n}  
Assuming that only the observations of 0 and 1 are possible, we will observe the following:  
O = {P (S1 -> S2), P (S2 -> S3), P (S3 -> S4), P (S4 -> S5), P (S5 -> S6), P (S6 -> S7), P (S7 -> S8), P (S8 -> S9), P (S9 -> S10)},  
P = {1, 1, 1, 1, 1, 1, 1, 1, 1}.  
The emission probabilities are displayed below:  
Figure 10: Video conference access point.  
\(\text{P}_{\text{e}}=\{\text{P (1 | S1), P (0 | S1), P (1 | S2), P (1 | S3), P (0 | S3), P (1 | S4), P (0 | S4, P (1 | S5), P (0 | 1 S5), P (1 | S6), P (0 | S6), P (1 | S7), P (0 | S7), P (1 | S8), P (1 | S9), P (0 | S9), P (1 | S10), P (0 | S10),  
\(\text{P}_{\text{e}}=\{\text{0.9, 0.1, 0.8, 0.2, 0.7, 0.3, 0.6, 0.4, 0.5, 0.5, 0.6, 0.4, 0.7, 0.3, 0.8, 0.2, 0.9, 0.1, 1, 0\}\).  
Based on the set of probabilities, the results state that the character \"t\" is more likely to produce the acoustic sound than any other characters from the word. Figure 11 depicts a representation of the model adapted from [26].  
To create the visual part in 3D mode, the following UI (user interface) elements were used:  
* Canvas--the designated location where all UI elements should be positioned;
* Image--for setting the background and rendering image results on the screen;
* Text--to display search results.  
Figure 12 presents the outcomes of a voice search. It is important to mention that users may search using operating system language. The search results were evaluated by using automatically generated English voice samples in noisy environment and both English and Romanian language samples from real users. For non-native speakers was necessary to set the confidence level to \"low\" for the system to be able to return proper results.