code: def substitute_harmonic(progression, substitute_index, ignore_suffix=False):
      
      simple_substitutions = [('I', 'III'), ('I', 'VI'), ('IV', 'II'),
              ('IV', 'VI'), ('V', 'VII')]
      res = []
      (roman, acc, suff) = parse_string(progression[substitute_index])
      if suff == '' or suff == '7' or ignore_suffix:
          for subs in simple_substitutions:
              r = subs[1] if roman == subs[0] else None
              if r == None:
                  r = subs[0] if roman == subs[1] else None
              if r != None:
                  suff = suff if suff == '7' else ''
                  res.append(tuple_to_string((r, acc, suff)))
      return res
docs: Do simple harmonic substitutions. Return a list of possible substitions
      for progression[substitute_index].
  
      If ignore_suffix is set to True the suffix of the chord being
      substituted will be ignored. Otherwise only progressions without a
      suffix, or with suffix '7' will be substituted.
  
      The following table is used to convert progressions:
      || I || III ||
      || I || VI ||
      || IV || II ||
      || IV || VI ||
      || V || VII ||