Skip to content

Commit bf1dd3d

Browse files
authored
Refactor the UI of Android TTS engine (#533)
1 parent 59e2851 commit bf1dd3d

File tree

1 file changed

+31
-24
lines changed
  • android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine

1 file changed

+31
-24
lines changed

android/SherpaOnnxTtsEngine/app/src/main/java/com/k2fsa/sherpa/onnx/tts/engine/MainActivity.kt

+31-24
Original file line numberDiff line numberDiff line change
@@ -56,45 +56,52 @@ class MainActivity : ComponentActivity() {
5656
TopAppBar(title = { Text("Next-gen Kaldi: TTS") })
5757
}) {
5858
Box(modifier = Modifier.padding(it)) {
59-
Column {
60-
Row {
61-
Text("Speed")
59+
Column(modifier = Modifier.padding(16.dp)) {
60+
Column {
61+
Text("Speed " + String.format("%.1f", TtsEngine.speed))
6262
Slider(
6363
value = TtsEngine.speedState.value,
6464
onValueChange = { TtsEngine.speed = it },
65-
valueRange = 0.2F..3.0F
65+
valueRange = 0.2F..3.0F,
66+
modifier = Modifier.fillMaxWidth()
6667
)
6768
}
6869
var testText by remember { mutableStateOf("") }
6970

71+
72+
val numSpeakers = TtsEngine.tts!!.numSpeakers()
73+
if (numSpeakers > 1) {
74+
OutlinedTextField(
75+
value = TtsEngine.speakerIdState.value.toString(),
76+
onValueChange = {
77+
if (it.isEmpty() || it.isBlank()) {
78+
TtsEngine.speakerId = 0
79+
} else {
80+
TtsEngine.speakerId = it.toString().toInt()
81+
}
82+
},
83+
label = {
84+
Text("Speaker ID: (0-${numSpeakers - 1})")
85+
},
86+
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number),
87+
modifier = Modifier
88+
.fillMaxWidth()
89+
.padding(bottom = 16.dp)
90+
.wrapContentHeight(),
91+
)
92+
}
93+
7094
OutlinedTextField(
7195
value = testText,
7296
onValueChange = { testText = it },
73-
label = { Text("Test text") },
97+
label = { Text("Please input your text here") },
7498
modifier = Modifier
7599
.fillMaxWidth()
76-
.wrapContentHeight()
77-
.padding(16.dp),
100+
.padding(bottom = 16.dp)
101+
.wrapContentHeight(),
78102
singleLine = false,
79103
)
80104

81-
val numSpeakers = TtsEngine.tts!!.numSpeakers()
82-
if (numSpeakers > 1) {
83-
Row {
84-
Text("Speaker ID: (0-${numSpeakers - 1})")
85-
OutlinedTextField(
86-
value = TtsEngine.speakerIdState.value.toString(),
87-
onValueChange = {
88-
if (it.isEmpty() || it.isBlank()) {
89-
TtsEngine.speakerId = 0
90-
} else {
91-
TtsEngine.speakerId = it.toString().toInt()
92-
}
93-
},
94-
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
95-
)
96-
}
97-
}
98105
Row {
99106
Button(
100107
modifier = Modifier.padding(20.dp),

0 commit comments

Comments
 (0)