@@ -58,7 +58,9 @@ public class OmniRealtimeConfig {
5858 public JsonObject getConfig () {
5959 Map <String , Object > config = new HashMap <>();
6060 config .put (OmniRealtimeConstants .MODALITIES , modalities );
61- config .put (OmniRealtimeConstants .VOICE , voice );
61+ if (voice != null ) {
62+ config .put (OmniRealtimeConstants .VOICE , voice );
63+ }
6264 config .put (OmniRealtimeConstants .INPUT_AUDIO_FORMAT , inputAudioFormat );
6365 config .put (OmniRealtimeConstants .OUTPUT_AUDIO_FORMAT , outputAudioFormat );
6466 if (enableInputAudioTranscription ) {
@@ -95,8 +97,6 @@ public JsonObject getConfig() {
9597 OmniRealtimeConstants .TRANSLATION_CORPUS , this .translationConfig .getCorpus ());
9698 }
9799 config .put (OmniRealtimeConstants .TRANSLATION , translationConfig );
98- } else {
99- config .put (OmniRealtimeConstants .TRANSLATION , null );
100100 }
101101 // Add transcription configuration for qwen-asr-realtime
102102 if (transcriptionConfig != null ) {
@@ -119,7 +119,15 @@ public JsonObject getConfig() {
119119 OmniRealtimeConstants .INPUT_AUDIO_TRANSCRIPTION_CORPUS ,
120120 this .transcriptionConfig .getCorpus ());
121121 }
122- config .put (OmniRealtimeConstants .INPUT_AUDIO_TRANSCRIPTION , transcriptionConfig );
122+ Object existingConfig = config .get (OmniRealtimeConstants .INPUT_AUDIO_TRANSCRIPTION );
123+ if (existingConfig instanceof Map ) {
124+ @ SuppressWarnings ("unchecked" )
125+ Map <String , Object > tempMap = (Map <String , Object >) existingConfig ;
126+ tempMap .putAll (transcriptionConfig );
127+ config .put (OmniRealtimeConstants .INPUT_AUDIO_TRANSCRIPTION , tempMap );
128+ } else {
129+ config .put (OmniRealtimeConstants .INPUT_AUDIO_TRANSCRIPTION , transcriptionConfig );
130+ }
123131 }
124132 if (parameters != null ) {
125133 for (Map .Entry <String , Object > entry : parameters .entrySet ()) {
0 commit comments