haoneng.lhn
2023-05-04 297fafd674715bcd849557616bd22b6791460f31
funasr/bin/asr_inference_paraformer_streaming.py
@@ -205,9 +205,12 @@
        results = []
        cache_en = cache["encoder"]
        if speech.shape[1] < 16 * 60 and cache_en["is_final"]:
            if cache_en["start_idx"] == 0:
                return []
            cache_en["tail_chunk"] = True
            feats = cache_en["feats"]
            feats_len = torch.tensor([feats.shape[1]])
            self.asr_model.frontend = None
            results = self.infer(feats, feats_len, cache)
            return results
        else:
@@ -236,7 +239,7 @@
                        feats_len = torch.tensor([feats_chunk2.shape[1]])
                        results_chunk2 = self.infer(feats_chunk2, feats_len, cache)
                        return ["".join(results_chunk1 + results_chunk2)]
                        return [" ".join(results_chunk1 + results_chunk2)]
                results = self.infer(feats, feats_len, cache)
@@ -296,12 +299,13 @@
                # Change integer-ids to tokens
                token = self.converter.ids2tokens(token_int)
                token = " ".join(token)
                if self.tokenizer is not None:
                    text = self.tokenizer.tokens2text(token)
                else:
                    text = None
                results.append(text)
                #if self.tokenizer is not None:
                #    text = self.tokenizer.tokens2text(token)
                #else:
                #    text = None
                results.append(token)
        # assert check_return_type(results)
        return results