docstr: Deutsch phoneme-based tokenizer.
  Args:
      punct: Whether to reserve grapheme for basic punctuation or not.
      apostrophe: Whether to use apostrophe or not.
      add_blank_at: Add blank to labels in the specified order ("last") or after tokens (any non None),
       if None then no blank in labels.
      pad_with_space: Whether to pad text with spaces at the beginning and at the end or not.
      non_default_punct_list: List of punctuation marks which will be used instead default.
      text_preprocessing_func: Text preprocessing function for correct execution of the tokenizer.
       Currently, it only applies lower() function.
docstr_tok: ["Deutsch","phoneme-based","tokenizer",".","Args",":","punct",":","Whether","to","reserve","grapheme","for","basic","punctuation","or","not",".","apostrophe",":","Whether","to","use","apostrophe","or","not",".","add_blank_at",":","Add","blank","to","labels","in","the","specified","order","(","``","last","''",")","or","after","tokens","(","any","non","None",")",",","if","None","then","no","blank","in","labels",".","pad_with_space",":","Whether","to","pad","text","with","spaces","at","the","beginning","and","at","the","end","or","not",".","non_default_punct_list",":","List","of","punctuation","marks","which","will","be","used","instead","default",".","text_preprocessing_func",":","Text","preprocessing","function","for","correct","execution","of","the","tokenizer",".","Currently",",","it","only","applies","lower","(",")","function","."]
code: def __init__(
      self,
      punct=True,
      apostrophe=True,
      add_blank_at=None,
      pad_with_space=False,
      non_default_punct_list=None,
      text_preprocessing_func=any_locale_text_preprocessing,
  ):
      """Deutsch phoneme-based tokenizer.
      Args:
          punct: Whether to reserve grapheme for basic punctuation or not.
          apostrophe: Whether to use apostrophe or not.
          add_blank_at: Add blank to labels in the specified order ("last") or after tokens (any non None),
           if None then no blank in labels.
          pad_with_space: Whether to pad text with spaces at the beginning and at the end or not.
          non_default_punct_list: List of punctuation marks which will be used instead default.
          text_preprocessing_func: Text preprocessing function for correct execution of the tokenizer.
           Currently, it only applies lower() function.
      """
  
      de_ipa = "abdefhijklmnoprstuvwxyzçðøŋœɐɑɒɔəɛɜɡɪɹɾʃʊʌʒː̃"
      de_suprasegmentals = "12"
      super().__init__(
          chars=de_ipa + de_suprasegmentals,
          punct=punct,
          apostrophe=apostrophe,
          add_blank_at=add_blank_at,
          pad_with_space=pad_with_space,
          non_default_punct_list=non_default_punct_list,
          text_preprocessing_func=text_preprocessing_func,
      )
  
imports: import itertools
  import string
  from abc import ABC, abstractmethod
  from contextlib import contextmanager
  from typing import List, Optional
  from nemo.collections.common.tokenizers.text_to_speech.ipa_lexicon import get_grapheme_character_set, get_ipa_punctuation_list, validate_locale
  from nemo.collections.common.tokenizers.text_to_speech.tokenizer_utils import any_locale_text_preprocessing, chinese_text_preprocessing, english_text_preprocessing, french_text_preprocessing, italian_text_preprocessing, spanish_text_preprocessing
  from nemo.utils import logging
  from nemo.utils.decorators import experimental
label_desc: Use image node_id 1 to create a new GermanPhonemesTokenizer object from inherited base classes: BaseCharsTokenizer with example: obj = GermanPhonemesTokenizer(punct, apostrophe, add_blank_at, pad_with_space, non_default_punct_list, text_preprocessing_func)