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: Variables needed for taking majority votes for speaker labels
  
  Attributes:
      use_temporal_label_major_vote (bool):
          Boolean for whether to use temporal majority voting
      temporal_label_major_vote_buffer_size (int):
          buffer size for majority voting
      base_scale_label_dict (dict):
          Dictionary containing multiple speaker labels for major voting
          Speaker labels from multiple steps are saved for each segment index.
docstr_tok: ["Variables","needed","for","taking","majority","votes","for","speaker","labels","Attributes",":","use_temporal_label_major_vote","(","bool",")",":","Boolean","for","whether","to","use","temporal","majority","voting","temporal_label_major_vote_buffer_size","(","int",")",":","buffer","size","for","majority","voting","base_scale_label_dict","(","dict",")",":","Dictionary","containing","multiple","speaker","labels","for","major","voting","Speaker","labels","from","multiple","steps","are","saved","for","each","segment","index","."]
code: def _init_temporal_major_voting_module(self, clustering_params):
      """
      Variables needed for taking majority votes for speaker labels
  
      Attributes:
          use_temporal_label_major_vote (bool):
              Boolean for whether to use temporal majority voting
          temporal_label_major_vote_buffer_size (int):
              buffer size for majority voting
          base_scale_label_dict (dict):
              Dictionary containing multiple speaker labels for major voting
              Speaker labels from multiple steps are saved for each segment index.
      """
      self.use_temporal_label_major_vote = clustering_params.get(
          "use_temporal_label_major_vote", False
      )
      self.temporal_label_major_vote_buffer_size = (
          clustering_params.get(
              "temporal_label_major_vote_buffer_size", 1
          )
      )
      self.base_scale_label_dict = {}
  
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 5 for calling the OnlineClusteringDiarizer obj's underlying member method code with example usage: obj._init_temporal_major_voting_module(clustering_params) without return types