public SetRecognitionConfigMessage(AdditionalVocabSubMessage additionalVocab = null,
                                    string outputLocale = null,
                                    DynamicTranscriptConfiguration dynamicTranscript = null
                                    )
 {
     config = new Dictionary <string, object>();
     if (additionalVocab != null)
     {
         config["additional_vocab"] = additionalVocab.Data;
     }
     if (outputLocale != null)
     {
         config["output_locale"] = outputLocale;
     }
     if (dynamicTranscript != null)
     {
         if (dynamicTranscript.UseDefaults)
         {
             config["dynamic_transcript"] = new
             {
                 enabled = dynamicTranscript.Enabled
             };
         }
         else
         {
             config["dynamic_transcript"] = new
             {
                 max_chars   = dynamicTranscript.MaxChars,
                 min_context = dynamicTranscript.MinContext,
                 max_delay   = dynamicTranscript.MaxDelay,
                 enabled     = dynamicTranscript.Enabled
             };
         }
     }
 }
        private async Task SetRecognitionConfig()
        {
            var additionalVocab = new AdditionalVocabSubMessage(_api.Configuration.CustomDictionaryPlainWords, _api.Configuration.CustomDictionarySoundsLikes);

            var msg = new SetRecognitionConfigMessage(
                additionalVocab,
                _api.Configuration.OutputLocale,
                _api.Configuration.DynamicTranscriptConfiguration
                );
            await msg.Send(_wsClient, _api.CancelToken);
        }
Exemple #3
0
        public void SetRecognitionConfigV2ToJson()
        {
            // This is just a sanity check for now
            var expected =
                "{\"message\":\"SetRecognitionConfig\",\"transcription_config\":{\"language\":\"en\",\"additional_vocab\":[\"foo\",{\"content\":\"foo\",\"sounds_like\":[\"fooo\",\"barrr\"]}],\"output_locale\":\"en-GB\"}}";
            var x = new Dictionary <string, IEnumerable <string> > {
                ["foo"] = new List <string> {
                    "fooo", "barrr"
                }
            };

            var config = new AdditionalVocabSubMessage(new[] { "foo" }, x);
            var msg    = new Speechmatics.Realtime.Client.V2.Messages.SetRecognitionConfigMessage(config, "en-GB");
            var y      = msg.AsJson();

            Assert.AreEqual(expected, msg.AsJson(), "Message serialization unexpected");
        }