42 lines
936 B
Kotlin
42 lines
936 B
Kotlin
package com.k2fsa.sherpa.onnx
|
|
|
|
fun main() {
|
|
test()
|
|
}
|
|
|
|
fun test() {
|
|
val recognizer = createOnlineRecognizer()
|
|
val waveFilename = "./itn-zh-number.wav";
|
|
|
|
val objArray = WaveReader.readWaveFromFile(
|
|
filename = waveFilename,
|
|
)
|
|
val samples: FloatArray = objArray[0] as FloatArray
|
|
val sampleRate: Int = objArray[1] as Int
|
|
|
|
val stream = recognizer.createStream()
|
|
stream.acceptWaveform(samples, sampleRate=sampleRate)
|
|
while (recognizer.isReady(stream)) {
|
|
recognizer.decode(stream)
|
|
}
|
|
|
|
val result = recognizer.getResult(stream).text
|
|
println(result)
|
|
|
|
stream.release()
|
|
recognizer.release()
|
|
}
|
|
|
|
fun createOnlineRecognizer(): OnlineRecognizer {
|
|
val config = OnlineRecognizerConfig(
|
|
featConfig = getFeatureConfig(sampleRate = 16000, featureDim = 80),
|
|
modelConfig = getModelConfig(8)!!,
|
|
)
|
|
|
|
config.ruleFsts = "./itn_zh_number.fst"
|
|
println(config)
|
|
|
|
return OnlineRecognizer(config = config)
|
|
}
|
|
|