code: def generate_audio(
      text: str,
      history_prompt: Optional[Union[Dict, str]] = None,
      text_temp: float = 0.7,
      waveform_temp: float = 0.7,
      silent: bool = False,
      output_full: bool = False,
  ):
      """Generate audio array from input text.
  
      Args:
          text: text to be turned into audio
          history_prompt: history choice for audio cloning
          text_temp: generation temperature (1.0 more diverse, 0.0 more conservative)
          waveform_temp: generation temperature (1.0 more diverse, 0.0 more conservative)
          silent: disable progress bar
          output_full: return full generation to be used as a history prompt
  
      Returns:
          numpy audio array at sample frequency 24khz
      """
      semantic_tokens = text_to_semantic(
          text,
          history_prompt=history_prompt,
          temp=text_temp,
          silent=silent,
      )
      out = semantic_to_waveform(
          semantic_tokens,
          history_prompt=history_prompt,
          temp=waveform_temp,
          silent=silent,
          output_full=output_full,
      )
      if output_full:
          full_generation, audio_arr = out
          return full_generation, audio_arr
      else:
          audio_arr = out
      return audio_arr
  
imports: from typing import Dict, Optional, Union
  import numpy
  from .generation import codec_decode, generate_coarse, generate_fine, generate_text_semantic
label_desc: Use image node_id 4 for calling a global function with example usage: generate_audio(text, history_prompt, text_temp, waveform_temp, silent, output_full) and returns: audio_arr, full_generation,  audio_arr