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) }