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); }
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"); }