class_docstr: Uses a reconstruction to transcribe a orthographic string into IPA.
class_docstr_tok: ["Uses","a","reconstruction","to","transcribe","a","orthographic","string","into","IPA","."]
docstr: >>> allen_transcriber = Transcriber("Classical", "Allen")
  >>> example = allen_transcriber.transcribe("Quo usque tandem, O Catilina, " + "abutere nostra patientia?")
  >>> example
  "['kʷoː 'ʊs.kʷɛ 't̪an̪.d̪ẽː 'oː ka.t̪ɪ.'liː.n̪aː a.buː.'t̪eː.rɛ 'n̪ɔs.t̪raː pa.t̪ɪ̣.'jɛn̪.t̪ɪ̣.ja]"
  
  :param text: text to transcribe
  :param macronize: if True, macronize result
  :param syllabify: if True, syllabify result
  :param accentuate: if True, accentuate result
  :param with_squared_brackets: if True, put squared brackets around transcription
  :return: transcribed text
docstr_tok: [">",">",">","allen_transcriber","=","Transcriber","(","``","Classical","''",",","``","Allen","''",")",">",">",">","example","=","allen_transcriber.transcribe","(","``","Quo","usque","tandem",",","O","Catilina",",","``","+","``","abutere","nostra","patientia","?","''",")",">",">",">","example","''","[","'k\u02b7o\u02d0","'\u028as.k\u02b7\u025b","'t\u032aan\u032a.d\u032a\u1ebd\u02d0","'o\u02d0","ka.t\u032a\u026a",".","'li\u02d0.n\u032aa\u02d0","a.bu\u02d0",".","'t\u032ae\u02d0.r\u025b","'n\u032a\u0254s.t\u032ara\u02d0","pa.t\u032a\u026a\u0323",".","'j\u025bn\u032a.t\u032a\u026a\u0323.ja","]","''",":","param","text",":","text","to","transcribe",":","param","macronize",":","if","True",",","macronize","result",":","param","syllabify",":","if","True",",","syllabify","result",":","param","accentuate",":","if","True",",","accentuate","result",":","param","with_squared_brackets",":","if","True",",","put","squared","brackets","around","transcription",":","return",":","transcribed","text"]
code: def transcribe(
      self,
      text,
      macronize=True,
      syllabify=True,
      accentuate=True,
      with_squared_brackets=True,
  ):
      """
      >>> allen_transcriber = Transcriber("Classical", "Allen")
      >>> example = allen_transcriber.transcribe("Quo usque tandem, O Catilina, " + "abutere nostra patientia?")
      >>> example
      "['kʷoː 'ʊs.kʷɛ 't̪an̪.d̪ẽː 'oː ka.t̪ɪ.'liː.n̪aː a.buː.'t̪eː.rɛ 'n̪ɔs.t̪raː pa.t̪ɪ̣.'jɛn̪.t̪ɪ̣.ja]"
  
      :param text: text to transcribe
      :param macronize: if True, macronize result
      :param syllabify: if True, syllabify result
      :param accentuate: if True, accentuate result
      :param with_squared_brackets: if True, put squared brackets around transcription
      :return: transcribed text
      """
      # if macronize, will first use the tagger to macronize input
      # otherwise, input will be the raw input string
      if macronize:
          text = self.macronizer.macronize_text(text)
      # input is word-tokenized, stripped of non-diacritic punctuation,
      # and diphthongs and diacritics are handled
      inp = [
          self._prep_text(w)
          for w in wordpunct_tokenize(text)
          if w not in self.punc
      ]
      words = []
      for w in inp:
          out = ""
          for c in w:
              if "̄" in c[1]:
                  macron_added = c[0] + "̄"
                  ipa = self.table.get(macron_added, macron_added)
              else:
                  ipa = self.table.get(c[0], c[0])
              out += ipa
          transcription = Word(out, self.root)
          transcription._alternate()
          words.append(transcription)
      # Encloses output in brackets, proper notation for surface form.
      result = " ".join(
          [w._print_ipa(syllabify, accentuate) for w in words]
      )
      if with_squared_brackets:
          result = "[" + result + "]"
      return result
  
imports: import re
  import unicodedata
  from typing import List
  from nltk.tokenize import wordpunct_tokenize
  from cltk.core.cltk_logger import logger
  from cltk.prosody.lat import macronizer
label_desc: Use image node_id 4 for calling the Transcriber obj's underlying member method code with example usage: obj.transcribe(text, macronize, syllabify, accentuate, with_squared_brackets) and returns: result