class_docstr: A class that enables online (streaming) clustering based diarization.
  
  - The instance created from `OnlineClusteringDiarizer` sets aside a certain amount of memory
    to provide the upcoming inference with history information
  
  - There are two major modules involved: `OnlineSegmentor` and `OnlineSpeakerClustering`.
      OnlineSegmentor: Take the VAD-timestamps and generate segments for each scale
      OnlineSpeakerClustering: Update the entire speaker labels of the given online session
                               while updating the speaker labels of the streaming inputs.
  
  - The overall diarization process is done by calling `diarize_step` function.
    `diarize_step` function goes through the following steps:
      (1) Segmentation (`OnlineSegmentor` class)
      (2) Embedding extraction (`_extract_online_embeddings` function call)
      (3) Online speaker counting and speaker clustering (`OnlineClusteringDiarizer` class)
      (4) Label generation (`generate_cluster_labels` function call)
docstr: Timing variables transferred from OnlineDiarWithASR class.
  Buffer is window region where input signal is kept for ASR.
  Frame is window region where the actual inference ASR decoded results are updated
  
  Example:
      buffer_len = 5.0
      frame_len = 1.0
  
      |___Buffer___[___________]____________|
      |____________[   Frame   ]____________|
  
      | <- buffer_start
      |____________| <- frame_start
      |_____________________________________| <- buffer_end
  
      buffer_start = 12.0
      buffer_end = 17.0
      frame_start = 14.0
  
  These timestamps and index variables are updated by OnlineDiarWithASR.
  
  Attributes:
      frame_index (int):
          Integer index of frame window
      frame_start (float):
          The start of the frame window
      buffer_start (float):
          The start of the buffer window
      buffer_end (float):
          The end of the buffer
docstr_tok: ["Timing","variables","transferred","from","OnlineDiarWithASR","class",".","Buffer","is","window","region","where","input","signal","is","kept","for","ASR",".","Frame","is","window","region","where","the","actual","inference","ASR","decoded","results","are","updated","Example",":","buffer_len","=","5.0","frame_len","=","1.0","|___Buffer___","[","___________","]","____________|","|____________","[","Frame","]","____________|","|","<","-","buffer_start","|____________|","<","-","frame_start","|_____________________________________|","<","-","buffer_end","buffer_start","=","12.0","buffer_end","=","17.0","frame_start","=","14.0","These","timestamps","and","index","variables","are","updated","by","OnlineDiarWithASR",".","Attributes",":","frame_index","(","int",")",":","Integer","index","of","frame","window","frame_start","(","float",")",":","The","start","of","the","frame","window","buffer_start","(","float",")",":","The","start","of","the","buffer","window","buffer_end","(","float",")",":","The","end","of","the","buffer"]
code: def _init_buffer_frame_timestamps(self):
      """
      Timing variables transferred from OnlineDiarWithASR class.
      Buffer is window region where input signal is kept for ASR.
      Frame is window region where the actual inference ASR decoded results are updated
  
      Example:
          buffer_len = 5.0
          frame_len = 1.0
  
          |___Buffer___[___________]____________|
          |____________[   Frame   ]____________|
  
          | <- buffer_start
          |____________| <- frame_start
          |_____________________________________| <- buffer_end
  
          buffer_start = 12.0
          buffer_end = 17.0
          frame_start = 14.0
  
      These timestamps and index variables are updated by OnlineDiarWithASR.
  
      Attributes:
          frame_index (int):
              Integer index of frame window
          frame_start (float):
              The start of the frame window
          buffer_start (float):
              The start of the buffer window
          buffer_end (float):
              The end of the buffer
      """
      self.frame_index = 0
      self.frame_start = 0.0
      self.buffer_start = 0.0
      self.buffer_end = 0.0
  
imports: import os
  import time
  from copy import deepcopy
  from typing import Dict
  import torch
  from omegaconf import DictConfig
  from nemo.collections.asr.models import ClusteringDiarizer
  from nemo.collections.asr.parts.utils.offline_clustering import get_scale_interpolated_embs, split_input_data
  from nemo.collections.asr.parts.utils.online_clustering import OnlineSpeakerClustering
  from nemo.collections.asr.parts.utils.speaker_utils import OnlineSegmentor, audio_rttm_map, generate_cluster_labels, get_embs_and_timestamps
  from nemo.utils import logging, model_utils
label_desc: Use image node_id 7 for calling the OnlineClusteringDiarizer obj's underlying member method code with example usage: obj._init_buffer_frame_timestamps() without return types