当前位置: 首页>>代码示例>>C#>>正文


C# GrammarBuilder.AppendDictation方法代码示例

本文整理汇总了C#中GrammarBuilder.AppendDictation方法的典型用法代码示例。如果您正苦于以下问题:C# GrammarBuilder.AppendDictation方法的具体用法?C# GrammarBuilder.AppendDictation怎么用?C# GrammarBuilder.AppendDictation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在GrammarBuilder的用法示例。


在下文中一共展示了GrammarBuilder.AppendDictation方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: GetGrammar_Custom

        public GrammarBuilder GetGrammar_Custom(string grammar)
        {
            Choices globalChoices = new Choices();
            string[] sentences = grammar.Split('|');
            foreach (string s in sentences)
            {
                GrammarBuilder sentenceBuilder = new GrammarBuilder();
                string[] words = s.Split(' ');
                foreach (string w in words)
                {
                    if (m_vocabulories.ContainsKey(w))
                        sentenceBuilder.Append(new Choices(m_vocabulories[w].ToArray()));
                    else if (w == "#Dictation")
                        sentenceBuilder.AppendDictation();
                    else if (w == "#WildCard")
                        sentenceBuilder.AppendWildcard();
                    else if (w != "")
                        sentenceBuilder.Append(w);
                }
                globalChoices.Add(sentenceBuilder);
            }

            GrammarBuilder globalBuilder = new GrammarBuilder(globalChoices);
            globalBuilder.Culture = m_culture;
            Console.WriteLine(globalBuilder.DebugShowPhrases);
            return globalBuilder;
        }
开发者ID:xufango,项目名称:contrib_bk,代码行数:27,代码来源:RobotGrammarManager.cs

示例2: appendDictation

 public ChainedGrammar appendDictation(string key)
 {
     GrammarBuilder b = new GrammarBuilder();
       b.AppendDictation();
       builder.Append(new SemanticResultKey(key, b));
       return this;
 }
开发者ID:TheGBC,项目名称:Kinect-Client,代码行数:7,代码来源:Speech.cs

示例3: MakeGrammarBuilderRecursively

        private static GrammarBuilder MakeGrammarBuilderRecursively(RadTreeNode currentNode)
        {
            GrammarBuilder currentGrammar = new GrammarBuilder();
            if ((currentNode.Tag as GrammarTreeViewTag).Optional != true &&
                (currentNode.Tag as GrammarTreeViewTag).IsDictation != true)
            {
                currentGrammar = new GrammarBuilder(new SemanticResultKey(currentNode.Text, new GrammarBuilder(currentNode.Text)));
            }
            else if ((currentNode.Tag as GrammarTreeViewTag).Optional && (currentNode.Tag as GrammarTreeViewTag).IsDictation != true)
            {
                currentGrammar = new GrammarBuilder(new SemanticResultKey(currentNode.Text, new GrammarBuilder(currentNode.Text)), 0, 1);
            }
            else if ((currentNode.Tag as GrammarTreeViewTag).IsDictation)
            {
                GrammarBuilder fakeDictation = new GrammarBuilder();
                string dictation = (currentNode.Tag as GrammarTreeViewTag).DictationContext;
                if (dictation == string.Empty)
                {
                    fakeDictation.AppendDictation();
                }
                else
                {
                    fakeDictation.AppendDictation(dictation);
                }
                if ((currentNode.Tag as GrammarTreeViewTag).Optional)
                {
                    currentGrammar = new GrammarBuilder(new SemanticResultKey(currentNode.Text, fakeDictation), 0, 1);
                }
                else
                {
                    currentGrammar = new GrammarBuilder(new SemanticResultKey(currentNode.Text, fakeDictation));
                }
            }

            Choices tempGrammar = new Choices();
            for (int i = 0; i < currentNode.Nodes.Count; i++)
            {
                tempGrammar.Add(MakeGrammarBuilderRecursively(currentNode.Nodes[i]));
            }
            if (tempGrammar.ToGrammarBuilder().DebugShowPhrases != "[]")
            {
                currentGrammar.Append(tempGrammar);
            }
            return currentGrammar;
        }
开发者ID:ModernSteward,项目名称:ModernSteward,代码行数:45,代码来源:TreeViewToGrammarBuilderAlgorithm.cs

示例4: InitializeRecognizers

 private void InitializeRecognizers()
 {
     _recognizer = new SpeechRecognitionEngine(new System.Globalization.CultureInfo("en-US"));
     var gb = new GrammarBuilder {Culture = CultureInfo.GetCultureInfoByIetfLanguageTag("en")};
     gb.AppendDictation();
     _recognizer.LoadGrammar(new Grammar(gb)); // load a "hello computer" grammar
     _recognizer.SpeechRecognized += _recognizeSpeechAndMakeSureTheComputerSpeaksToYou_SpeechRecognized;
         // if speech is recognized, call the specified method
     _recognizer.SetInputToDefaultAudioDevice();
 }
开发者ID:Karthik777,项目名称:chatbot,代码行数:10,代码来源:ChatterBotWrapper.cs

示例5: SpeechRecognizerServer

        public SpeechRecognizerServer(string moduleName)
        {
            System.Collections.ObjectModel.ReadOnlyCollection<RecognizerInfo> installedRecognizers = SpeechRecognitionEngine.InstalledRecognizers();

            //Synchronous Recognition
            m_reco = new System.Speech.Recognition.SpeechRecognitionEngine(myLanguage);

            Network.init();
            m_moduleName = moduleName;

            //TTS
            m_tts = new System.Speech.Synthesis.SpeechSynthesizer();
            m_portISpeak = new Port();
            m_portISpeak.open("/" + moduleName + "/tts/iSpeak:o");
            Network.connect("/" + moduleName + "/tts/iSpeak:o", "/iSpeak");

            //Grammars
            GrammarBuilder dictation = new GrammarBuilder();
            dictation.Culture = myLanguage;
            dictation.AppendDictation();
            m_grammar_dictation = new Grammar(dictation);
            GrammarBuilder spelling = new GrammarBuilder();
            spelling.Culture = myLanguage;
            spelling.AppendDictation("spelling");
            m_grammar_dictation_spelling = new Grammar(spelling);
            m_grammar_continuous = new GrammarBuilder("For sure this non empty grammar will never be recognized.");

            m_reco.SetInputToDefaultAudioDevice();
            m_reco.LoadGrammar(m_grammar_dictation);

            //Continuous Recognition
            m_reco_continuous = new SpeechRecognitionEngine();
            m_reco_continuous.SetInputToDefaultAudioDevice();
            m_portContinuousRecognition = new Port();
            m_portContinuousRecognition.open("/" + moduleName + "/recog/continuous:o");
            m_reco_continuous.LoadGrammar(new Grammar(m_grammar_continuous));
            m_reco_continuous.RecognizeCompleted += onContinuousRecognitionResult;
            m_reco_continuous.RecognizeAsync();

            m_grammarManager = new RobotGrammarManager();
            m_grammarManager.InitialiseVocabulories();
            SetLanguage("EN-us");
            //SetLanguage("fr-fr");

            Console.WriteLine("#########################");
            Console.WriteLine("#    Speech Recognizer  #");
            Console.WriteLine("#########################");

            Network.init();
            m_rpcPort = new Port();
            m_rpcPort.open("/" + m_moduleName + "/rpc");
            m_rpcThread = new System.Threading.Thread(HandleRPC);
            m_rpcThread.Start();
        }
开发者ID:xufango,项目名称:contrib_bk,代码行数:54,代码来源:SpeechRecognizerServer.cs

示例6: Main

        static void Main(string[] args)
        {

            // Select a speech recognizer that supports English.
            RecognizerInfo info = null;
            foreach (RecognizerInfo ri in SpeechRecognitionEngine.InstalledRecognizers())
            {
                if (ri.Culture.TwoLetterISOLanguageName.Equals("en"))
                {
                    info = ri;
                    break;
                }
            }
            if (info == null) return;

            // Create the selected recognizer.
            using (SpeechRecognitionEngine recognizer =
              new SpeechRecognitionEngine(info))
            {
                var gb = new GrammarBuilder();
                gb.AppendDictation();
                var g = new Grammar(gb);
                // Create and load a dictation grammar.
                recognizer.LoadGrammar(g);

                // Add a handler for the speech recognized event.
                recognizer.SpeechRecognized +=
                  new EventHandler<SpeechRecognizedEventArgs>(recognizer_SpeechRecognized);

                // Configure input to the speech recognizer.
                recognizer.SetInputToDefaultAudioDevice();

                // Start asynchronous, continuous speech recognition.
                recognizer.RecognizeAsync(RecognizeMode.Multiple);

                // Keep the console window open.
                while (true)
                {
                    Console.ReadLine();
                }
            }
        }
开发者ID:Karthik777,项目名称:chatbot,代码行数:42,代码来源:Main.cs

示例7: CreateSampleGrammar

 private Grammar CreateSampleGrammar(Controller.MainController.Mapping mapping)
 {
     GrammarBuilder grammarBuilder = new GrammarBuilder(mapping.prefix);
     if (mapping.useDictation)
     {
         grammarBuilder.AppendDictation();
     }
     else
     {
         Choices choices = new Choices();
         foreach (string choice in mapping.list)
         {
             choices.Add(choice);
         }
         grammarBuilder.Append(choices);
     }
     Grammar g = new Grammar(grammarBuilder);
     g.Name = "Commands";
     return g;
 }
开发者ID:omanamos,项目名称:robotics,代码行数:20,代码来源:VoiceRecogition.cs

示例8: Load_Answer_Grammar

        public static SpeechRecognitionEngine Load_Answer_Grammar(SpeechRecognitionEngine oRecognizer, string propDatatype, string propObjectType)
        {
            #region [OBJECT]'s [PROPERTY]
            //OBJECT's PROPERTY

            List<string> noneList = new List<string>();
            noneList.Add("None");
            noneList.Add("Unknown");
            noneList.Add("Ignore");
            noneList.Add("Nevermind");
            Choices noneChoices = new Choices(noneList.ToArray());

            GrammarBuilder gb_Single = new GrammarBuilder();
            GrammarBuilder dictation = new GrammarBuilder();
            dictation.AppendDictation();
            gb_Single.Append(new SemanticResultKey("ANSWER", dictation));
            Grammar g_Single = new Grammar(gb_Single);
            g_Single.Name = "ANSWER";
            oRecognizer.LoadGrammar(g_Single);

            #endregion

            return oRecognizer;
        }
开发者ID:rajeshwarn,项目名称:Open-Source-Automation,代码行数:24,代码来源:OSAEGrammar.cs

示例9: Main

        static void Main( string[] args )
        {
            try {
                using ( var source = new KinectAudioSource() ) {
                    source.FeatureMode = true;
                    source.AutomaticGainControl = false; //Important to turn this off for speech recognition
                    source.SystemMode = SystemMode.OptibeamArrayOnly; //No AEC for this sample

                    RecognizerInfo ri = SpeechRecognitionEngine.InstalledRecognizers().Where( r => "ja-JP".Equals( r.Culture.Name, StringComparison.InvariantCultureIgnoreCase ) ).FirstOrDefault();

                    if ( ri == null ) {
                        Console.WriteLine( "Could not find speech recognizer: {0}. Please refer to the sample requirements.", RecognizerId );
                        return;
                    }

                    Console.WriteLine( "Using: {0}", ri.Name );

                    using ( var sre = new SpeechRecognitionEngine( ri.Id ) ) {
                        GrammarBuilder dictaphoneGB = new GrammarBuilder();

                        GrammarBuilder dictation = new GrammarBuilder();
                        dictation.AppendDictation();

                        dictaphoneGB.Append( new SemanticResultKey( "StartDictation", new SemanticResultValue( "Start Dictation", true ) ) );
                        dictaphoneGB.Append( new SemanticResultKey( "dictationInput", dictation ) );
                        dictaphoneGB.Append( new SemanticResultKey( "EndDictation", new SemanticResultValue( "Stop Dictation", false ) ) );

                        GrammarBuilder spellingGB = new GrammarBuilder();

                        GrammarBuilder spelling = new GrammarBuilder();
                        spelling.AppendDictation( "spelling" );

                        spellingGB.Append( new SemanticResultKey( "StartSpelling", new SemanticResultValue( "Start Spelling", true ) ) );
                        spellingGB.Append( new SemanticResultKey( "spellingInput", spelling ) );
                        spellingGB.Append( new SemanticResultKey( "StopSpelling", new SemanticResultValue( "Stop Spelling", true ) ) );

                        GrammarBuilder both = GrammarBuilder.Add( (GrammarBuilder)new SemanticResultKey( "Dictation", dictaphoneGB ),
                                                                (GrammarBuilder)new SemanticResultKey( "Spelling", spellingGB ) );

                        Grammar grammar = new Grammar( new SemanticResultKey( "Dictation", dictaphoneGB ) );
                        grammar.Enabled = true;
                        grammar.Name = "Dictaphone and Spelling ";

                        sre.LoadGrammar( grammar ); // Exception thrown here

                        sre.SpeechRecognized += SreSpeechRecognized;
                        sre.SpeechHypothesized += SreSpeechHypothesized;
                        sre.SpeechRecognitionRejected += SreSpeechRecognitionRejected;

                        using ( Stream s = source.Start() ) {
                            sre.SetInputToAudioStream( s, new SpeechAudioFormatInfo(
                                                        EncodingFormat.Pcm, 16000, 16, 1,
                                                        32000, 2, null ) );

                            Console.WriteLine( "Recognizing. Say: 'red', 'green' or 'blue'. Press ENTER to stop" );

                            sre.RecognizeAsync( RecognizeMode.Multiple );
                            Console.ReadLine();
                            Console.WriteLine( "Stopping recognizer ..." );
                            sre.RecognizeAsyncStop();
                        }
                    }
                }
            }
            catch ( Exception ex ) {
                Console.WriteLine( ex.Message );
            }
        }
开发者ID:kaorun55,项目名称:speech_sdk_sandbox,代码行数:68,代码来源:Program.cs

示例10: Load_Text_Only_Grammars

        public static SpeechRecognitionEngine Load_Text_Only_Grammars(SpeechRecognitionEngine oRecognizer)
        {
            DataSet dsResults = new DataSet();

            #region Build a List of all Objects AND Possessive Objects
            List<string> objectFullList = new List<string>();
            List<string> objectPossessiveList = new List<string>();
            //Get All objects
            dsResults = OSAESql.RunSQL("SELECT object_name, CONCAT(object_name,'''s') AS possessive_name FROM osae_v_object_list_full");
            for (int i = 0; i < dsResults.Tables[0].Rows.Count; i++)
            {
                string grammer = dsResults.Tables[0].Rows[i][0].ToString();
                string possessivegrammer = dsResults.Tables[0].Rows[i][1].ToString();
                if (!string.IsNullOrEmpty(grammer)) objectFullList.Add(grammer);
                if (!string.IsNullOrEmpty(possessivegrammer)) objectPossessiveList.Add(possessivegrammer);
            }
            Choices objectFullChoices = new Choices(objectFullList.ToArray());
            Choices objectPossessiveChoices = new Choices(objectPossessiveList.ToArray());
            #endregion

            #region Build a List of all Object Types
            List<string> objectTypeList = new List<string>();
            dsResults = OSAESql.RunSQL("SELECT DISTINCT(object_type) FROM osae_v_object_list_full ORDER BY object_type");
            foreach (DataRow dr in dsResults.Tables[0].Rows)
            {
                objectTypeList.Add(dr[0].ToString());
            }
            Choices objectTypeChoices = new Choices(objectTypeList.ToArray());
            #endregion

            #region [OBJECT]'s [PROPERTY] is [VALUE]
            //OBJECT's PROPERTY is [VALUE]

            foreach (string ot in objectTypeList)
            {
                List<string> objectList = new List<string>();

                GrammarBuilder gbObjectPropertyIs = new GrammarBuilder();

                //Get All objects of the current Object Type
                dsResults = OSAESql.RunSQL("SELECT CONCAT(object_name,'''s') as object_name FROM osae_v_object_list_full WHERE object_type='" + ot + "'");
                foreach (DataRow dr in dsResults.Tables[0].Rows)
                {
                    objectList.Add(dr[0].ToString());
                }
                if (objectList.Count > 0)  // Only bother with this object type if there are objects using it
                {
                    Choices objectChoices = new Choices(objectList.ToArray());
                    SemanticResultKey srk = new SemanticResultKey("PARAM1", objectChoices);
                    gbObjectPropertyIs.Append(srk);

                    //Now the the appropriate properties
                    DataSet dsPropType = OSAESql.RunSQL("SELECT DISTINCT(property_datatype),property_object_type FROM osae_v_object_type_property WHERE object_type='" + ot + "' ORDER BY property_datatype");
                    foreach (DataRow drType in dsPropType.Tables[0].Rows)
                    {
                        List<string> propertyList = new List<string>();
                        DataSet dsPropName = OSAESql.RunSQL("SELECT DISTINCT(property_name) FROM osae_v_object_type_property WHERE object_type='" + ot + "' AND property_datatype='" + drType["property_datatype"].ToString() + "' ORDER BY property_datatype");
                        foreach (DataRow drName in dsPropName.Tables[0].Rows)
                        {
                            propertyList.Add(drName["property_name"].ToString());
                        }
                        Choices propertyChoices = new Choices(propertyList.ToArray());
                        if (drType["property_datatype"].ToString().ToUpper() == "STRING")
                        {
                            GrammarBuilder dictation = new GrammarBuilder();
                            dictation.AppendDictation();

                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");
                            gbObjectPropertyIs.Append(new SemanticResultKey("PARAM3", dictation));
                            Grammar gObjectPropertyIs = new Grammar(gbObjectPropertyIs);
                            gObjectPropertyIs.Name = "[OBJECT] [PROPERTY] is [VALUE]";
                            oRecognizer.LoadGrammar(gObjectPropertyIs);
                        }
                        else if (drType["property_datatype"].ToString().ToUpper() == "OBJECT")
                        {
                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");
                            gbObjectPropertyIs.Append(new SemanticResultKey("PARAM3", objectFullChoices));
                            Grammar gObjectPropertyIs = new Grammar(gbObjectPropertyIs);
                            gObjectPropertyIs.Name = "[OBJECT] [PROPERTY] is [VALUE]";
                            oRecognizer.LoadGrammar(gObjectPropertyIs);
                        }
                        else if (drType["property_datatype"].ToString().ToUpper() == "OBJECT TYPE")
                        {
                            List<string> propertyOTList = new List<string>();
                            DataSet dsPropObjectType = OSAESql.RunSQL("SELECT object_name FROM osae_v_object_list_full WHERE object_type='" + drType["property_object_type"].ToString() + "'");
                            foreach (DataRow drName in dsPropObjectType.Tables[0].Rows)
                            {
                                propertyOTList.Add(drName["object_name"].ToString());
                            }
                            Choices propertyOTChoices = new Choices(propertyOTList.ToArray());
                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");

                            gbObjectPropertyIs.Append(new SemanticResultKey("PARAM3", propertyOTChoices));
                            Grammar gObjectPropertyIs = new Grammar(gbObjectPropertyIs);
//.........这里部分代码省略.........
开发者ID:rajeshwarn,项目名称:Open-Source-Automation,代码行数:101,代码来源:OSAEGrammar.cs

示例11: ToGrammarBuilder

        public GrammarBuilder ToGrammarBuilder()
        {
            GrammarBuilder builder = new GrammarBuilder();

            Queue<PhoneticChoice> foundChoices;
            String[] tokens = ToTokens(out foundChoices);

            foreach (String token in tokens)
            {
                switch (token)
                {
                    case CHOICE:
                        PhoneticChoice choice = foundChoices.Dequeue();
                        builder.Append(new Choices(choice.PossibleValues));
                        break;
                    case WILD_CARD:
                        builder.AppendWildcard();
                        break;
                    case DICTATION:
                        builder.AppendDictation();
                        break;
                    default:
                        //Regular Text is just appended
                        builder.Append(token);
                        break;
                }
            }

            return builder;
        }
开发者ID:jumonb,项目名称:mastercontrol,代码行数:30,代码来源:Phonetic.cs

示例12: SetLanguage

        public bool SetLanguage(string cultureName)
        {
            //System.Globalization.CultureInfo[] cultures = System.Globalization.CultureInfo.GetCultures(System.Globalization.CultureTypes.AllCultures);
            System.Globalization.CultureInfo culture;
            try
            {
                culture = System.Globalization.CultureInfo.GetCultureInfoByIetfLanguageTag(cultureName);
            }
            catch
            {
                Console.WriteLine("Culture info is not found.");
                return false;
            }
            myLanguage = culture;

            System.Collections.ObjectModel.ReadOnlyCollection<InstalledVoice> voices = m_tts.GetInstalledVoices(culture);
            if (voices.Count > 0)
                m_tts.SelectVoice(voices.First().VoiceInfo.Name);

            m_reco = new System.Speech.Recognition.SpeechRecognitionEngine(culture);

            m_reco.SetInputToDefaultAudioDevice();
            GrammarBuilder dictation = new GrammarBuilder();
            dictation.Culture = myLanguage;
            dictation.AppendDictation();
            m_grammar_dictation = new Grammar(dictation);

            m_reco.LoadGrammar(m_grammar_dictation);

            m_reco_continuous.RecognizeCompleted -= onContinuousRecognitionResult;
            m_reco_continuous.RecognizeAsyncCancel();
            //m_reco_continuous.RecognizeAsyncStop();
            m_reco_continuous = new SpeechRecognitionEngine(culture);
            m_reco_continuous.SetInputToDefaultAudioDevice();
            m_grammar_continuous.Culture = culture;
            m_reco_continuous.LoadGrammar(new Grammar(m_grammar_continuous));
            m_reco_continuous.RecognizeCompleted += onContinuousRecognitionResult;
            m_reco_continuous.RecognizeAsync();

            m_grammarManager.SetLanguage(cultureName);

            Console.WriteLine("The culture has been set to " + cultureName);
            return true;
        }
开发者ID:xufango,项目名称:contrib_bk,代码行数:44,代码来源:SpeechRecognizerServer.cs

示例13: Load_Voice_Grammars


//.........这里部分代码省略.........
            g4.Name = "Is [OBJECT] [STATE]";
            oRecognizer.LoadGrammar(g4);

            gb5.Append(srk);
            Grammar g5 = new Grammar(gb5);
            g5.Name = "[OBJECT] is [STATE]";
            oRecognizer.LoadGrammar(g5);

            gb6.Append(srk);
            Grammar g6 = new Grammar(gb6);
            g6.Name = "[OBJECT] is [STATE]";
            oRecognizer.LoadGrammar(g6);

            gb7.Append(srk);
            Grammar g7 = new Grammar(gb7);
            g7.Name = "[OBJECT] is [STATE]";
            oRecognizer.LoadGrammar(g7);
            #endregion

            #region [Object] [Method] [Parameter]
            // 1 OBJECT STATE {PARAMETER}
            srk = new SemanticResultKey("PARAM1", objectFullChoices);
            gb1 = new GrammarBuilder(srk);

            //Now the the appropriate method
            List<string> methodList = new List<string>();
            dsResults = OSAESql.RunSQL("SELECT DISTINCT method_label FROM osae_v_object_type_method_list_full");
            foreach (DataRow dr in dsResults.Tables[0].Rows)
                methodList.Add(dr[0].ToString());

            Choices methodChoices = new Choices(methodList.ToArray());
            srk = new SemanticResultKey("PARAM2", methodChoices);
            gb1.Append(srk);
            gb1.AppendDictation();
            g1 = new Grammar(gb7);
            g1.Name = "[OBJECT] [METHOD] [PARAMETER]";
            oRecognizer.LoadGrammar(g1);

            #endregion

            #region [OBJECT] [CONTAINER]
            // 1 OBJECT is in CONTAINER
            // 2 np OBJECT is in CONTAINER
            // 3 OBJECT is in np CONTAINER
            // 4 np OBJECT is in np CONTAINER
            // 5 I am/You are in CONTAINER
            // 6 I am/You are in np CONTAINER

            // 7 is OBJECT in CONTAINER
            // 8 is np OBJECT in CONTAINER
            // 9 is OBJECT in np CONTAINER
            // 10 is np OBJECT in np CONTAINER
            // 11 am I/are you in CONTAINER
            // 12 am I/are you in NP CONTAINER

            // 1 OBJECT is in CONTAINER
            GrammarBuilder gb_GrammarBuilder = new GrammarBuilder();
            srk = new SemanticResultKey("PARAM1", objectFullChoices);
            gb_GrammarBuilder.Append(srk);
            gb_GrammarBuilder.Append("is in");
            srk = new SemanticResultKey("PARAM2", containerChoices);
            gb_GrammarBuilder.Append(srk);
            Grammar g_Grammar = new Grammar(gb_GrammarBuilder);
            g_Grammar.Name = "[OBJECT] is in [CONTAINER]";
            oRecognizer.LoadGrammar(g_Grammar);
开发者ID:opensourceautomation,项目名称:Open-Source-Automation,代码行数:66,代码来源:OSAEGrammar.cs

示例14: Load_OSA_Grammar


//.........这里部分代码省略.........

            foreach (string ot in objectTypeList)
            {
                List<string> objectList = new List<string>();

                GrammarBuilder gbObjectPropertyIs = new GrammarBuilder();

                //Get All objects of the current Object Type
                dsResults = OSAESql.RunSQL("SELECT CONCAT(object_name,'''s') as object_name FROM osae_v_object_list_full WHERE object_type='" + ot + "'");
                foreach (DataRow dr in dsResults.Tables[0].Rows)
                {
                    objectList.Add(dr[0].ToString());
                }
                if (objectList.Count > 0)  // Only bother with this object type if there are objects using it
                {
                    Choices objectChoices = new Choices(objectList.ToArray());
                    srk = new SemanticResultKey("PARAM1", objectChoices);
                    gbObjectPropertyIs.Append(srk);

                    //Now the the appropriate properties
                    DataSet dsPropType = OSAESql.RunSQL("SELECT DISTINCT(property_datatype),property_object_type FROM osae_v_object_type_property WHERE object_type='" + ot + "' ORDER BY property_datatype");
                    foreach (DataRow drType in dsPropType.Tables[0].Rows)
                    {
                        List<string> propertyList = new List<string>();
                        DataSet dsPropName = OSAESql.RunSQL("SELECT DISTINCT(property_name) FROM osae_v_object_type_property WHERE object_type='" + ot + "' AND property_datatype='" + drType["property_datatype"].ToString() + "' ORDER BY property_datatype");
                        foreach (DataRow drName in dsPropName.Tables[0].Rows)
                        {
                            propertyList.Add(drName["property_name"].ToString());
                        }
                        Choices propertyChoices = new Choices(propertyList.ToArray());
                        if (drType["property_datatype"].ToString().ToUpper() == "STRING")
                        {
                            GrammarBuilder dictation = new GrammarBuilder();
                            dictation.AppendDictation();

                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");
                            gbObjectPropertyIs.Append(new SemanticResultKey("PARAM3", dictation));
                            Grammar gObjectPropertyIs = new Grammar(gbObjectPropertyIs);
                            gObjectPropertyIs.Name = "[OBJECT] [PROPERTY] is [VALUE]";
                            oRecognizer.LoadGrammar(gObjectPropertyIs);
                        }
                        else if (drType["property_datatype"].ToString().ToUpper() == "OBJECT")
                        {
                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");
                            gbObjectPropertyIs.Append(new SemanticResultKey("PARAM3", objectFullChoices));
                            Grammar gObjectPropertyIs = new Grammar(gbObjectPropertyIs);
                            gObjectPropertyIs.Name = "[OBJECT] [PROPERTY] is [VALUE]";
                            oRecognizer.LoadGrammar(gObjectPropertyIs);
                        }
                        else if (drType["property_datatype"].ToString().ToUpper() == "OBJECT TYPE")
                        {
                            List<string> propertyOTList = new List<string>();
                            DataSet dsPropObjectType = OSAESql.RunSQL("SELECT object_name FROM osae_v_object_list_full WHERE object_type='" + drType["property_object_type"].ToString() + "'");
                            foreach (DataRow drName in dsPropObjectType.Tables[0].Rows)
                            {
                                propertyOTList.Add(drName["object_name"].ToString());
                            }
                            Choices propertyOTChoices = new Choices(propertyOTList.ToArray());
                            srk = new SemanticResultKey("PARAM2", propertyChoices);
                            gbObjectPropertyIs.Append(srk);
                            gbObjectPropertyIs.Append("is");
开发者ID:VeronicaMartin,项目名称:Open-Source-Automation,代码行数:66,代码来源:OSAEGrammar.cs

示例15: CreateGrammars

        /// <summary>
        /// Creates Grammar objects based on the spoken commands to listen for and loads 
        /// them into the speech recognition engine.
        /// </summary>
        private void CreateGrammars()
        {
            Choices choices = new Choices();
            choices.Add(new[] { syncCommand });

            Choices wildcardChoices = new Choices();
            bool wildcardChoiceAdded = false;

            foreach (string phrase in AudioCallbacks.Keys) {
                string command = phrase;
                if (command.EndsWith("*")) {
                    command = command.TrimEnd('*');
                    GrammarBuilder builder = new GrammarBuilder(command);
                    builder.AppendDictation();
                    wildcardChoices.Add(builder);
                    wildcardChoiceAdded = true;
                }
                else {
                    choices.Add(command);
                }
            }

            GrammarBuilder commandsBuilder = new GrammarBuilder(choices);
            Grammar grammar = new Grammar(commandsBuilder);
            grammar.Enabled = true;
            grammar.Name = syncCommand;
            speechEngine.LoadGrammar(grammar);

            // An exception is thrown if no items exist in the builder so only create a Grammar
            // if at least one wildcard statement exists
            if (wildcardChoiceAdded) {
                GrammarBuilder wildcardCommandsBuilder = new GrammarBuilder(wildcardChoices);
                Grammar wildcardGrammar = new Grammar(wildcardCommandsBuilder);
                wildcardGrammar.Enabled = true;
                wildcardGrammar.Name = syncCommand + " - Wildcards";
                speechEngine.LoadGrammar(wildcardGrammar);
            }
        }
开发者ID:TheCoderPal,项目名称:cpe-656-helix-kinect,代码行数:42,代码来源:AudioRecognizer.cs


注:本文中的GrammarBuilder.AppendDictation方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。