Browse Source

Expose radio VAD gain limit in Android settings

master
evgeny 1 week ago
parent
commit
cd57597975
  1. 10
      tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/SettingsScreen.kt
  2. 2
      tools/chatgui-android/app/src/main/res/values-ru/strings.xml
  3. 2
      tools/chatgui-android/app/src/main/res/values/strings.xml

10
tools/chatgui-android/app/src/main/java/com/utun/chat/ui/screens/SettingsScreen.kt

@ -570,6 +570,7 @@ private fun RadioSettingsTab() {
var vadEnabled by remember { mutableStateOf(provider.getInt("radio.vad_enabled") != 0) }
var vadThreshold by remember { mutableStateOf(provider.getInt("radio.vad_threshold")) }
var vadHangover by remember { mutableStateOf(provider.getInt("radio.vad_hangover_ms")) }
var vadCompMaxGain by remember { mutableStateOf(provider.getInt("radio.vad_compressor_max_gain_db")) }
val vadActive by RadioAudioEngine.instance().vadActiveFlow.collectAsState()
Text(stringResource(R.string.radio_vad), style = MaterialTheme.typography.titleMedium)
Row(verticalAlignment = Alignment.CenterVertically) {
@ -604,6 +605,15 @@ private fun RadioSettingsTab() {
RadioAudioEngine.instance().reconfigure()
}
})
LabeledSlider(stringResource(R.string.vad_max_gain), vadCompMaxGain.toFloat(), 1f..60f, 58, "${vadCompMaxGain} dB",
{ vadCompMaxGain = it.toInt() }, onValueChangeFinished = {
scope.launch {
provider.setValue("radio.vad_compressor_max_gain_db", vadCompMaxGain.toString())
NativeLib.setChatSetting("radio_vad_compressor_max_gain_db", vadCompMaxGain.toString())
RadioAudioEngine.instance().reconfigure()
}
})
Text(stringResource(R.string.vad_compressor_hint), style = MaterialTheme.typography.bodySmall)
HorizontalDivider(Modifier.padding(vertical = 4.dp))
/* ── Volume-кнопки PTT ── */

2
tools/chatgui-android/app/src/main/res/values-ru/strings.xml

@ -210,6 +210,8 @@
<string name="vad_screen_hint">"Работает 15 минут при включённом экране. При следующем включении экрана запускается автоматически."</string>
<string name="speech_threshold">"Порог речи:"</string>
<string name="silence_delay">"Задержка после тишины:"</string>
<string name="vad_max_gain">"Макс. усиление перед VAD:"</string>
<string name="vad_compressor_hint">"Включение и остальные параметры общие с компрессором рации. Этот предел усиления влияет только на определение речи."</string>
<string name="milliseconds">"%1$s мс"</string>
<string name="volume_ptt">"Кнопки громкости (удержание) — передача"</string>
<string name="ptt_overlay">"PTT-кнопка поверх приложений"</string>

2
tools/chatgui-android/app/src/main/res/values/strings.xml

@ -210,6 +210,8 @@
<string name="vad_screen_hint">"Runs for 15 minutes while the screen is on. Starts automatically when the screen turns on again."</string>
<string name="speech_threshold">"Speech threshold:"</string>
<string name="silence_delay">"Delay after silence:"</string>
<string name="vad_max_gain">"Max gain before VAD:"</string>
<string name="vad_compressor_hint">"Uses the radio compressor switch and other settings. This gain limit affects voice detection only."</string>
<string name="milliseconds">"%1$s ms"</string>
<string name="volume_ptt">"Hold volume buttons to transmit"</string>
<string name="ptt_overlay">"PTT button over other apps"</string>

Loading…
Cancel
Save