docstr: streaming_frame. It splits the continuous audio into frame-level
  audio chunks in the streaming *simulation*. It is noted that this
  function takes the entire long audio as input for a streaming simulation.
  You may refer to this function to manage your streaming input
  buffer in a real streaming application.
  
  Args:
      audio: (B, T)
  Returns:
      chunked: List [(B, frame_size),]
docstr_tok: ["streaming_frame",".","It","splits","the","continuous","audio","into","frame-level","audio","chunks","in","the","streaming","*","simulation","*",".","It","is","noted","that","this","function","takes","the","entire","long","audio","as","input","for","a","streaming","simulation",".","You","may","refer","to","this","function","to","manage","your","streaming","input","buffer","in","a","real","streaming","application",".","Args",":","audio",":","(","B",",","T",")","Returns",":","chunked",":","List","[","(","B",",","frame_size",")",",","]"]
code: def streaming_frame(self, audio: torch.Tensor):
      """streaming_frame. It splits the continuous audio into frame-level
      audio chunks in the streaming *simulation*. It is noted that this
      function takes the entire long audio as input for a streaming simulation.
      You may refer to this function to manage your streaming input
      buffer in a real streaming application.
  
      Args:
          audio: (B, T)
      Returns:
          chunked: List [(B, frame_size),]
      """
      NotImplementedError
  
file_path: espnet/espnet2/enh/encoder/abs_encoder.py
imports: from abc import ABC, abstractmethod
  from typing import Tuple
  import torch
label_desc: Use image node_id 4 for calling the AbsEncoder obj's underlying member method code with example usage: obj.streaming_frame(audio) without return types