微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 KaldiRecognizer.java 类时如何增加默认的最小输入时间限制?

如何解决使用 KaldiRecognizer.java 类时如何增加默认的最小输入时间限制?

我已经在应用中实现了基于 android demo 的 VOSK。目前,在收听输入时,麦克风会保持打开状态 5 秒钟,然后评估输入。我需要麦克风保持打开状态更长时间,即 10 秒。以下暂定对其没有影响。

private void startSttService(SingleEmitter<String> emitter,Bundle extras) {
        float sampleRate = 16000.0f;
        KaldiRecognizer rec;
        if (Objects.nonNull(extras) && extras.containsKey(EXTRA_GRAMMAR)) {
            rec = new KaldiRecognizer(VoskModel.getModel(),sampleRate,extras.getString(EXTRA_GRAMMAR));
        } else {
            rec = new KaldiRecognizer(VoskModel.getModel(),sampleRate);
        }

        int speechServiceTimeout;
        if (Objects.nonNull(extras) && extras.containsKey(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS)) {
            speechServiceTimeout = (int) extras.getLong(RecognizerIntent.EXTRA_SPEECH_INPUT_MINIMUM_LENGTH_MILLIS);
        } else {
            speechServiceTimeout = 10000;
        }

帮助:(

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。