protected void AddResult(uint index, string name, SpeechIdentifier.InstanceResult result) { SpeechIdentifier.Profile profile = Profiles[index]; if (result.Result == SpeechIdentifier.Result.Unknown) { if (result.Score == 0.0) { result.Result = SpeechIdentifier.Result.NotScored; } else if (result.Score >= profile.PassThreshold) { result.Result = SpeechIdentifier.Result.Pass; } else if (result.Score <= profile.FailThreshold) { result.Result = SpeechIdentifier.Result.Fail; } else { result.Result = SpeechIdentifier.Result.Ambiguous; } } Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - Index: {1}", name, index); Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - Error: {1}", name, result.ErrorCode); Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - Score: {1}", name, result.Score); Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - SpeechExtracted: {1}", name, result.SpeechExtracted); Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - Result: {1}", name, result.Result); if (result.IsAuthorized.HasValue) { IsAuthorized = result.IsAuthorized.Value; Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - IsAuthorized: {1}", name, IsAuthorized); } foreach (var extra in result.Extra) { Logger?.LogDebug("SpeechIdentifierBase.AddResult(): {0} - {1}: {2}", name, extra.Key, extra.Value); } IdentifyResults.Add(name, result); }
protected uint AddProfile(uint index, SpeechIdentifier.Profile profile) { if (!profile.MinimumSecondsOfSpeech.HasValue) { profile.MinimumSecondsOfSpeech = 0; } SpeechRequired = profile.MinimumSecondsOfSpeech.Value; Profiles.Add(index, profile); if (Codec == WaveFormatEncoding.Unknown) { Codec = profile.Codec; } Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): Type: {0}", profile.Type); Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): Codec: {0}", profile.Codec); Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): MinimumSecondsOfSpeech: {0}", profile.MinimumSecondsOfSpeech); Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): Pass Threshold: {0}", profile.PassThreshold); Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): Fail Threshold: {0}", profile.FailThreshold); Logger?.LogDebug("SpeechIdentifierBase.AddProfile(): Index: {0}", index); return(index); }