Add missing field for two-pass APK. (#511)
This commit is contained in:
49
kotlin-api-examples/test-2pass.kt
Normal file
49
kotlin-api-examples/test-2pass.kt
Normal file
@@ -0,0 +1,49 @@
|
||||
package com.k2fsa.sherpa.onnx
|
||||
|
||||
fun main() {
|
||||
test2Pass()
|
||||
}
|
||||
|
||||
fun test2Pass() {
|
||||
val firstPass = createFirstPass()
|
||||
val secondPass = createSecondPass()
|
||||
|
||||
val waveFilename = "./sherpa-onnx-streaming-zipformer-en-20M-2023-02-17/test_wavs/0.wav"
|
||||
|
||||
var objArray = WaveReader.readWaveFromFile(
|
||||
filename = waveFilename,
|
||||
)
|
||||
var samples: FloatArray = objArray[0] as FloatArray
|
||||
var sampleRate: Int = objArray[1] as Int
|
||||
|
||||
firstPass.acceptWaveform(samples, sampleRate = sampleRate)
|
||||
while (firstPass.isReady()) {
|
||||
firstPass.decode()
|
||||
}
|
||||
|
||||
var text = firstPass.text
|
||||
println("First pass text: $text")
|
||||
|
||||
text = secondPass.decode(samples, sampleRate)
|
||||
println("Second pass text: $text")
|
||||
}
|
||||
|
||||
fun createFirstPass(): SherpaOnnx {
|
||||
val config = OnlineRecognizerConfig(
|
||||
featConfig = getFeatureConfig(sampleRate = 16000, featureDim = 80),
|
||||
modelConfig = getModelConfig(type = 1)!!,
|
||||
endpointConfig = getEndpointConfig(),
|
||||
enableEndpoint = true,
|
||||
)
|
||||
|
||||
return SherpaOnnx(config = config)
|
||||
}
|
||||
|
||||
fun createSecondPass(): SherpaOnnxOffline {
|
||||
val config = OfflineRecognizerConfig(
|
||||
featConfig = getFeatureConfig(sampleRate = 16000, featureDim = 80),
|
||||
modelConfig = getOfflineModelConfig(type = 2)!!,
|
||||
)
|
||||
|
||||
return SherpaOnnxOffline(config = config)
|
||||
}
|
||||
Reference in New Issue
Block a user