code: def think_and_say(text, outfile="sound.wav"):
      # create two processes, one for thinking, one for saying
      import multiprocessing
  
      p1 = multiprocessing.Process(target=terminal_thinking)
      p2 = multiprocessing.Process(target=say, args=(text, outfile))
      p1.start()
      p2.start()
      # while p2 is end, terminate p1
      p2.join()
      p1.terminate()
      playsound(outfile)
  
file_path: underthesea/underthesea/pipeline/say/__init__.py
imports: from underthesea.file_utils import MODELS_FOLDER
  from underthesea.pipeline.say.viettts_.hifigan.mel2wave import mel2wave
  from underthesea.pipeline.say.viettts_.nat.text2mel import text2mel
  from underthesea.pipeline.say.viettts_ import nat_normalize_text
  import numpy
  from playsound import playsound
  import time
  from os.path import join
label_desc: Use image node_id 3 for calling a global function with example usage: think_and_say(text, outfile) without return types