diff --git a/src/android/CommandSystem/build.gradle b/src/android/CommandSystem/build.gradle index 6c020faf..d12b075e 100644 --- a/src/android/CommandSystem/build.gradle +++ b/src/android/CommandSystem/build.gradle @@ -24,7 +24,7 @@ android { buildTypes { release { - minifyEnabled true + minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'consumer-rules.pro' testCoverageEnabled true } @@ -59,7 +59,7 @@ publishing { release(MavenPublication) { groupId = 'com.azure.android' artifactId = 'azure-ai-speech-commandsystem' - version = '0.0.1' + version = '0.0.6-tarekDebug' afterEvaluate { from components.release diff --git a/src/android/CommandSystem/src/main/jni/myjni.cpp b/src/android/CommandSystem/src/main/jni/myjni.cpp index e0aa800a..19cdf65d 100644 --- a/src/android/CommandSystem/src/main/jni/myjni.cpp +++ b/src/android/CommandSystem/src/main/jni/myjni.cpp @@ -9,8 +9,8 @@ Java_com_azure_android_ai_speech_commandsystem_CommandSystemBuilderJNI_00024Comp JNIEnv *env, jobject thiz, jstring j_filesDir) { // Mono Debugging settings -// setenv("MONO_LOG_LEVEL", "debug", true); -// setenv("MONO_LOG_MASK", "all", true); + setenv("MONO_LOG_LEVEL", "debug", true); + setenv("MONO_LOG_MASK", "all", true); // Set our singleton bundlePath BundlePath::getInstance()->setPath(env, j_filesDir); diff --git a/src/android/app/src/main/java/com/microsoft/commandsystemsample/MainActivity.kt b/src/android/app/src/main/java/com/microsoft/commandsystemsample/MainActivity.kt index 43d716b1..9052f707 100644 --- a/src/android/app/src/main/java/com/microsoft/commandsystemsample/MainActivity.kt +++ b/src/android/app/src/main/java/com/microsoft/commandsystemsample/MainActivity.kt @@ -236,7 +236,7 @@ class MainActivity : AppCompatActivity() { //.useKeyVault("uri","tenant","client") // .addSecret("SPEECH_KEY") { // Log.i(LOGTAG, "SPEECH_KEY callback called") -// "2b68d45cadbb4f0f8862b963deedfdee" +// "YOUR_KEY" // } } .configureMessage { messages: ConfigureMessageBuilder -> diff --git a/src/cs/CommandSystemBuilder/CommandSystemBuilder.cs b/src/cs/CommandSystemBuilder/CommandSystemBuilder.cs index e31eaaba..34e68569 100644 --- a/src/cs/CommandSystemBuilder/CommandSystemBuilder.cs +++ b/src/cs/CommandSystemBuilder/CommandSystemBuilder.cs @@ -18,24 +18,52 @@ internal CommandSystemBuilder() public ICommandSystem Build() { + MR.DBG_TRACE_INFO("CommandSystemBuilder.Build ... started!"); + MR.DBG_TRACE_INFO("ConfigComponentBuilder.Build ... started!"); var components = ConfigComponentBuilder.Build(_componentBuilders); + MR.DBG_TRACE_INFO("ConfigComponentBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigComponentBuilder.Configure ... started!"); components.Configure(this); + MR.DBG_TRACE_INFO("ConfigComponentBuilder.Configure ... done!"); + MR.DBG_TRACE_INFO("ConfigLoggingBuilder.Build ... started!"); var logging = ConfigLoggingBuilder.Build(_loggingBuilders); + MR.DBG_TRACE_INFO("ConfigLoggingBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigSourceBuilder.Build ... started!"); var source = ConfigSourceBuilder.Build(_sourceBuilders); + MR.DBG_TRACE_INFO("ConfigSourceBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var secret = ConfigSecretBuilder.Build(_secretBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var resolver = ConfigResolverBuilder.Build(_resolverBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var message = ConfigMessageBuilder.Build(_messageBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var ui = ConfigUiBuilder.Build(_uiBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var media = ConfigMediaBuilder.Build(_mediaBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... started!"); var speech = ConfigSpeechBuilder.Build(_speechBuilders); + MR.DBG_TRACE_INFO("ConfigSecretBuilder.Build ... done!"); + MR.DBG_TRACE_INFO("ConfigureLogging.Configure ... started!"); _builder.ConfigureLogging(logging => logging.ClearProviders()); + MR.DBG_TRACE_INFO("ConfigureLogging.Configure ... done!"); + MR.DBG_TRACE_INFO("ConfigureServices.Configure ... started!"); _builder.ConfigureServices((context, services) => { + MR.DBG_TRACE_INFO("_builder.ConfigureServices ... started!"); logging.ConfigureServices(context, services); source.ConfigureServices(context, services); @@ -46,24 +74,47 @@ public ICommandSystem Build() ui.ConfigureServices(context, services); media.ConfigureServices(context, services); speech.ConfigureServices(context, services); + MR.DBG_TRACE_INFO("_builder.ConfigureServices ... done!"); }); + MR.DBG_TRACE_INFO("ConfigureServices.Configure ... done!"); + MR.DBG_TRACE_INFO("Building Host ... started!"); var host = _builder.Build(); + MR.DBG_TRACE_INFO("Building Host ... done!"); + MR.DBG_TRACE_INFO("logging.ConfigureServices ... started!"); logging.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("logging.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("source.ConfigureServices ... started!"); source.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("source.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("secret.ConfigureServices ... started!"); secret.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("secret.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("resolver.ConfigureServices ... started!"); resolver.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("resolver.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("message.ConfigureServices ... started!"); message.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("message.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("ui.ConfigureServices ... started!"); ui.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("ui.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("media.ConfigureServices ... started!"); media.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("media.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("speech.ConfigureServices ... started!"); speech.ConfigureServices(host.Services); + MR.DBG_TRACE_INFO("speech.ConfigureServices ... done!"); + MR.DBG_TRACE_INFO("Building CommandSystem ... started!"); var commandSystem = new CommandSystem(host); + MR.DBG_TRACE_INFO("Building CommandSystem ... done!"); components.SetCommandSystem(commandSystem); + MR.DBG_TRACE_INFO("CommandSystemBuilder.Build ... done!"); return commandSystem; } diff --git a/src/cs/CommandSystemServices/SpeechConfigService.cs b/src/cs/CommandSystemServices/SpeechConfigService.cs index 0248963e..089cff45 100644 --- a/src/cs/CommandSystemServices/SpeechConfigService.cs +++ b/src/cs/CommandSystemServices/SpeechConfigService.cs @@ -36,6 +36,12 @@ public SpeechConfig GetSpeechConfig(SpeechConfigKind kind) config.SetProperty(PropertyId.Speech_SegmentationSilenceTimeoutMs, GetSegmentationTimeout()); + if (kind == SpeechConfigKind.SpeechSynthesis) + { + config.SetProperty(PropertyId.SpeechServiceConnection_SynthEnableCompressedAudioTransmission, "false"); + config.SetSpeechSynthesisOutputFormat(SpeechSynthesisOutputFormat.Riff48Khz16BitMonoPcm); + } + var endpointId = kind == SpeechConfigKind.SpeechRecognition ? _settings.Get("SPEECH_CUSTOM_RECOGNITION_ENDPOINT_ID", string.Empty) : _settings.Get("SPEECH_CUSTOM_SYNTHESIS_ENDPOINT_ID", string.Empty); @@ -44,6 +50,11 @@ public SpeechConfig GetSpeechConfig(SpeechConfigKind kind) var language = GetDefaultLanguage(); if (language != null && kind == SpeechConfigKind.SpeechRecognition) config.SpeechRecognitionLanguage = language; + // TODO: This is to investigate TTS issue. Need to confirm this is needed. + config.SetProperty(PropertyId.SpeechServiceConnection_SynthEnableCompressedAudioTransmission, "false"); + // TODO: Figure out how to expose this + config.SetServiceProperty("X-FD-Features", "kwsgm,", ServicePropertyChannel.HttpHeader); + return config; }