class_docstr: Speech2TextStreaming class
  
  Details in "Streaming Transformer ASR with Blockwise Synchronous Beam Search"
  (https://arxiv.org/abs/2006.14941)
  
  Examples:
      >>> import soundfile
      >>> speech2text = Speech2TextStreaming("asr_config.yml", "asr.pth")
      >>> audio, rate = soundfile.read("speech.wav")
      >>> speech2text(audio)
      [(text, token, token_int, hypothesis object), ...]
class_docstr_tok: ["Speech2TextStreaming","class","Details","in","``","Streaming","Transformer","ASR","with","Blockwise","Synchronous","Beam","Search","''","(","https",":","\/\/arxiv.org\/abs\/2006.14941",")","Examples",":",">",">",">","import","soundfile",">",">",">","speech2text","=","Speech2TextStreaming","(","``","asr_config.yml","''",",","``","asr.pth","''",")",">",">",">","audio",",","rate","=","soundfile.read","(","``","speech.wav","''",")",">",">",">","speech2text","(","audio",")","[","(","text",",","token",",","token_int",",","hypothesis","object",")",",","...","]"]
code: def assemble_hyps(self, hyps):
      nbest_hyps = hyps[: self.nbest]
      results = []
      for hyp in nbest_hyps:
          assert isinstance(hyp, Hypothesis), type(hyp)
  
          # remove sos/eos and get results
          token_int = hyp.yseq[1:-1].tolist()
  
          # remove blank symbol id, which is assumed to be 0
          token_int = list(filter(lambda x: x != 0, token_int))
  
          # Change integer-ids to tokens
          token = self.converter.ids2tokens(token_int)
  
          if self.tokenizer is not None:
              text = self.tokenizer.tokens2text(token)
          else:
              text = None
          results.append((text, token, token_int, hyp))
  
      assert check_return_type(results)
      return results
  
imports: import argparse
  import logging
  import math
  import sys
  from pathlib import Path
  from typing import List, Optional, Sequence, Tuple, Union
  import numpy
  import torch
  from typeguard import check_argument_types, check_return_type
  from espnet2.asr.encoder.contextual_block_conformer_encoder import ContextualBlockConformerEncoder
  from espnet2.asr.encoder.contextual_block_transformer_encoder import ContextualBlockTransformerEncoder
  from espnet2.fileio.datadir_writer import DatadirWriter
  from espnet2.tasks.asr import ASRTask
  from espnet2.tasks.lm import LMTask
  from espnet2.text.build_tokenizer import build_tokenizer
  from espnet2.text.token_id_converter import TokenIDConverter
  from espnet2.torch_utils.device_funcs import to_device
  from espnet2.torch_utils.set_all_random_seed import set_all_random_seed
  from espnet2.utils import config_argparse
  from espnet2.utils.types import str2bool, str2triple_str, str_or_none
  from espnet.nets.batch_beam_search_online import BatchBeamSearchOnline
  from espnet.nets.beam_search import Hypothesis
  from espnet.nets.pytorch_backend.transformer.subsampling import TooShortUttError
  from espnet.nets.scorer_interface import BatchScorerInterface
  from espnet.nets.scorers.ctc import CTCPrefixScorer
  from espnet.nets.scorers.length_bonus import LengthBonus
  from espnet.utils.cli_utils import get_commandline_args
label_desc: Use image node_id 5 for calling the Speech2TextStreaming obj's underlying member method code with example usage: obj.assemble_hyps(hyps) and returns: results