class_docstr: Constructs a Wav2Vec2PhonemeCTC tokenizer.
  
  This tokenizer inherits from [`PreTrainedTokenizer`] which contains some of the main methods. Users should refer to
  the superclass for more information regarding such methods.
  
  Args:
      vocab_file (`str`):
          File containing the vocabulary.
      bos_token (`str`, *optional*, defaults to `"<s>"`):
          The beginning of sentence token.
      eos_token (`str`, *optional*, defaults to `"</s>"`):
          The end of sentence token.
      unk_token (`str`, *optional*, defaults to `"<unk>"`):
          The unknown token. A token that is not in the vocabulary cannot be converted to an ID and is set to be this
          token instead.
      pad_token (`str`, *optional*, defaults to `"<pad>"`):
          The token used for padding, for example when batching sequences of different lengths.
      do_phonemize (`bool`, *optional*, defaults to `True`):
          Whether the tokenizer should phonetize the input or not. Only if a sequence of phonemes is passed to the
          tokenizer, `do_phonemize` should be set to `False`.
      phonemizer_lang (`str`, *optional*, defaults to `"en-us"`):
          The language of the phoneme set to which the tokenizer should phonetize the input text to.
      phonemizer_backend (`str`, *optional*. defaults to `"espeak"`):
          The backend phonetization library that shall be used by the phonemizer library. Defaults to `espeak-ng`.
          See the [phonemizer package](https://github.com/bootphon/phonemizer#readme). for more information.
  
      **kwargs
          Additional keyword arguments passed along to [`PreTrainedTokenizer`]
docstr: special _decode function is needed for Wav2Vec2PhonemeTokenizer because added tokens should be treated exactly
  the same as tokens of the base vocabulary and therefore the function `convert_tokens_to_string` has to be
  called on the whole token list and not individually on added tokens
code: def _decode(
      self,
      token_ids: List[int],
      skip_special_tokens: bool = False,
      clean_up_tokenization_spaces: bool = None,
      group_tokens: bool = True,
      filter_word_delimiter_token: bool = True,
      spaces_between_special_tokens: bool = False,
      output_char_offsets: bool = False,
  ) -> str:
      """
      special _decode function is needed for Wav2Vec2PhonemeTokenizer because added tokens should be treated exactly
      the same as tokens of the base vocabulary and therefore the function `convert_tokens_to_string` has to be
      called on the whole token list and not individually on added tokens
      """
      filtered_tokens = self.convert_ids_to_tokens(
          token_ids, skip_special_tokens=skip_special_tokens
      )
  
      result = []
      for token in filtered_tokens:
          if skip_special_tokens and token in self.all_special_ids:
              continue
          result.append(token)
  
      string_output = self.convert_tokens_to_string(
          result,
          group_tokens=group_tokens,
          spaces_between_special_tokens=spaces_between_special_tokens,
          filter_word_delimiter_token=filter_word_delimiter_token,
          output_char_offsets=output_char_offsets,
      )
  
      text = string_output["text"]
  
      clean_up_tokenization_spaces = (
          clean_up_tokenization_spaces
          if clean_up_tokenization_spaces is not None
          else self.clean_up_tokenization_spaces
      )
      if clean_up_tokenization_spaces:
          text = self.clean_up_tokenization(text)
  
      if output_char_offsets:
          return Wav2Vec2PhonemeCTCTokenizerOutput(
              text=text, char_offsets=string_output["char_offsets"]
          )
      else:
          return text
  
imports: import json
  import os
  import sys
  from dataclasses import dataclass
  from itertools import groupby
  from typing import TYPE_CHECKING, Any, Dict, List, Optional, Tuple, Union
  import numpy
  from ...tokenization_utils import PreTrainedTokenizer
  from ...tokenization_utils_base import AddedToken
  from ...utils import ModelOutput, is_flax_available, is_tf_available, is_torch_available, logging, requires_backends, to_py_obj
label_desc: Use image node_id 21 for calling the Wav2Vec2PhonemeCTCTokenizer obj's underlying member method code with example usage: obj._decode(token_ids, skip_special_tokens, clean_up_tokenization_spaces, group_tokens, filter_word_delimiter_token, spaces_between_special_tokens, output_char_offsets) and returns: Wav2Vec2PhonemeCTCTokenizerOutput, text