code: def words_from_candidate_transcript(metadata):
      word = ""
      word_list = []
      word_start_time = 0
      # Loop through each character
      for i, token in enumerate(metadata.tokens):
          # Append character to word if it's not a space
          if token.text != " ":
              if len(word) == 0:
                  # Log the start time of the new word
                  word_start_time = token.start_time
  
              word = word + token.text
          # Word boundary is either a space or the last character in the array
          if token.text == " " or i == len(metadata.tokens) - 1:
              word_duration = token.start_time - word_start_time
  
              if word_duration < 0:
                  word_duration = 0
  
              each_word = dict()
              each_word["word"] = word
              each_word["start_time"] = round(word_start_time, 4)
              each_word["duration"] = round(word_duration, 4)
  
              word_list.append(each_word)
              # Reset
              word = ""
              word_start_time = 0
  
      return word_list
  
file_path: DeepSpeech/native_client/python/client.py
imports: from __future__ import absolute_import, division, print_function
  import argparse
  import numpy
  import shlex
  import subprocess
  import sys
  import wave
  import json
  from deepspeech import Model, version
  from timeit import default_timer
label_desc: Use image node_id 3 for calling a global function with example usage: words_from_candidate_transcript(metadata) and returns: word_list