Add missing field for two-pass APK. (#511)
This commit is contained in:
@@ -25,9 +25,14 @@ data class OnlineParaformerModelConfig(
|
||||
var decoder: String = "",
|
||||
)
|
||||
|
||||
data class OnlineZipformer2CtcModelConfig(
|
||||
var model: String = "",
|
||||
)
|
||||
|
||||
data class OnlineModelConfig(
|
||||
var transducer: OnlineTransducerModelConfig = OnlineTransducerModelConfig(),
|
||||
var paraformer: OnlineParaformerModelConfig = OnlineParaformerModelConfig(),
|
||||
var zipformer2Ctc: OnlineZipformer2CtcModelConfig = OnlineZipformer2CtcModelConfig(),
|
||||
var tokens: String,
|
||||
var numThreads: Int = 1,
|
||||
var debug: Boolean = false,
|
||||
|
||||
2
kotlin-api-examples/.gitignore
vendored
2
kotlin-api-examples/.gitignore
vendored
@@ -1,3 +1,3 @@
|
||||
hs_err*
|
||||
main.jar
|
||||
vits-zh-aishell3
|
||||
*.jar
|
||||
|
||||
1
kotlin-api-examples/SherpaOnnx2Pass.kt
Symbolic link
1
kotlin-api-examples/SherpaOnnx2Pass.kt
Symbolic link
@@ -0,0 +1 @@
|
||||
../android/SherpaOnnx2Pass/app/src/main/java/com/k2fsa/sherpa/onnx/SherpaOnnx.kt
|
||||
@@ -51,3 +51,21 @@ kotlinc-jvm -include-runtime -d main.jar Main.kt WaveReader.kt SherpaOnnx.kt fak
|
||||
ls -lh main.jar
|
||||
|
||||
java -Djava.library.path=../build/lib -jar main.jar
|
||||
|
||||
# For two-pass
|
||||
|
||||
if [ ! -f ./sherpa-onnx-streaming-zipformer-en-20M-2023-02-17/encoder-epoch-99-avg-1.int8.onnx ]; then
|
||||
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
||||
tar xvf sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
||||
rm sherpa-onnx-streaming-zipformer-en-20M-2023-02-17.tar.bz2
|
||||
fi
|
||||
|
||||
if [ ! -f ./sherpa-onnx-whisper-tiny.en/tiny.en-encoder.int8.onnx ]; then
|
||||
wget https://github.com/k2-fsa/sherpa-onnx/releases/download/asr-models/sherpa-onnx-whisper-tiny.en.tar.bz2
|
||||
tar xvf sherpa-onnx-whisper-tiny.en.tar.bz2
|
||||
rm sherpa-onnx-whisper-tiny.en.tar.bz2
|
||||
fi
|
||||
|
||||
kotlinc-jvm -include-runtime -d 2pass.jar test-2pass.kt WaveReader.kt SherpaOnnx2Pass.kt faked-asset-manager.kt
|
||||
ls -lh 2pass.jar
|
||||
java -Djava.library.path=../build/lib -jar 2pass.jar
|
||||
|
||||
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