Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def english_g2p(self, text):
text = self.normalize(text)
try:
arpa_text = subprocess.check_output(['t2p', '"{}"'.format(text)])
arpa_text = arpa_text.decode('utf-8')
except OSError:
logging.warning('t2p (from flite) is not installed.')
arpa_text = ''
except subprocess.CalledProcessError:
logging.warning('Non-zero exit status from t2p.')
arpa_text = ''
return self.arpa_to_ipa(arpa_text)
class FliteLexLookup(Flite):
"""Flite G2P using lex_lookup."""
def arpa_text_to_list(self, arpa_text):
return arpa_text[1:-1].split(' ')
def english_g2p(self, text):
text = self.normalize(text).lower()
try:
arpa_text = subprocess.check_output(['lex_lookup', text])
arpa_text = arpa_text.decode('utf-8')
except OSError:
logging.warning('lex_lookup (from flite) is not installed.')
arpa_text = ''
except subprocess.CalledProcessError:
logging.warning('Non-zero exit status from lex_lookup.')
arpa_text = ''
for p, o in zip(phonsegs, orth):
tuples.append(('L', case, o, p, to_vectors(p)))
word = word[len(span):]
else:
span = word[0]
span = self.puncnorm.norm(span) if normpunc else span
cat, case = cat_and_cap(span)
cat = 'P' if normpunc and cat in self.puncnorm else cat
phon = ''
vecs = to_vectors(phon)
tuples.append((cat, case, span, phon, vecs))
word = word[1:]
return tuples
class FliteT2P(Flite):
"""Flite G2P using t2p."""
def english_g2p(self, text):
text = self.normalize(text)
try:
arpa_text = subprocess.check_output(['t2p', '"{}"'.format(text)])
arpa_text = arpa_text.decode('utf-8')
except OSError:
logging.warning('t2p (from flite) is not installed.')
arpa_text = ''
except subprocess.CalledProcessError:
logging.warning('Non-zero exit status from t2p.')
arpa_text = ''
return self.arpa_to_ipa(arpa_text)