k2-fsa / sherpa-onnx

Speech-to-text, text-to-speech, speaker diarization, and VAD using next-gen Kaldi with onnxruntime without Internet connection. Support embedded systems, Android, iOS, Raspberry Pi, RISC-V, x86_64 servers, websocket server/client, C/C++, Python, Kotlin, C#, Go, NodeJS, Java, Swift, Dart, JavaScript, Flutter, Object Pascal, Lazarus, Rust
https://k2-fsa.github.io/sherpa/onnx/index.html
Apache License 2.0
3.61k stars 422 forks source link

关于语音识别结果带了多余的文本展示(<|zh|><|NEUTRAL|><|Speech|><|withitn|>你好) #1374

Open JingM789 opened 1 month ago

JingM789 commented 1 month ago

因为使用了其他模型关系;使用 implementation 'com.microsoft.onnxruntime:onnxruntime-android:1.18.0' 重新编译得到的 libsherpa-onnx-jni.so 文件,识别语音得到下面的文本 text=<|zh|><|NEUTRAL|><|Speech|><|withitn|>你好。--size=9728 每次都多带着类似<|zh|><|NEUTRAL|><|Speech|><|withitn|>的文本,请问如何去除

csukuangfj commented 1 month ago

请描述复现方法

并提供完整的 log

JingM789 commented 1 month ago

这边使用1.18.0的onnx版本重新编译了并使用编译后的libsherpa-onnx-jni.so ,ASR语音识别结果开头就 增加了<|zh|><|NEUTRAL|><|Speech|><|withitn|> 信息。 如果改回你们提供的 libruntimeonnx.so和libsherpa-onnx-jni.so就没有问题, 但我们项目因为版本冲突问题得需要改成1.18.0的版本

   private fun processSamples() {
      Log.i(TAG, "processing samples")

    val bufferSize = 512 // in samples
    val buffer = ShortArray(bufferSize)

    while (isRecording) {
        val ret = audioRecord?.read(buffer, 0, buffer.size)
        if (ret != null && ret > 0) {
            val samples = FloatArray(ret) { buffer[it] / 32768.0f }

            vad.acceptWaveform(samples)
            while(!vad.empty()) {
                var objArray = vad.front()
                val samples = objArray[1] as FloatArray
                val text = runSecondPass(samples)

                if (text.isNotBlank()) {
                    lastText = "${lastText}\n${idx}: ${text}"
                    idx += 1
                }

                vad.pop();
            }

            val isSpeechDetected = vad.isSpeechDetected()

            runOnUiThread {
                textView.text = lastText.lowercase()
            }
        }
    }
}   

Android代码中 ,得到的这个 text 每次都会带着类似<|zh|><|NEUTRAL|><|Speech|><|withitn|>的文本

csukuangfj commented 1 month ago

》 重新编译了并使用编译后的libsherpa-onnx-jni.so

请问你有没有修改 sherpa-onnx 的代码? 用的是哪个版本的sherpa-onnx?

还有,请贴 一个输出结果的截图。

正常情况,不会出现你描述的这种情况

JingM789 commented 1 month ago

再次去确认了一下,应该是编译的同事在编译的时候情感的那一块没给屏蔽造成的,谢谢