Spaces:
Running
on
Zero
Running
on
Zero
from synthesizer.persian_utils.symbols import symbols | |
# Mappings from symbol to numeric ID and vice versa: | |
_symbol_to_id = {s: i for i, s in enumerate(symbols)} | |
_id_to_symbol = {i: s for i, s in enumerate(symbols)} | |
def text_to_sequence(text, cleaner_names): | |
"""Converts a string of text to a sequence of IDs corresponding to the symbols in the text. | |
The text can optionally have ARPAbet sequences enclosed in curly braces embedded | |
in it. For example, "Turn left on {HH AW1 S S T AH0 N} Street." | |
Args: | |
text: string to convert to a sequence | |
cleaner_names: names of the cleaner functions to run the text through | |
Returns: | |
List of integers corresponding to the symbols in the text | |
""" | |
# print("######") | |
# print(cleaner_names) | |
if cleaner_names != ['persian_cleaners']: | |
return 'cleaner is not persian!' | |
sequence = [] | |
for phoneme in text: | |
sequence.append(_symbol_to_id[phoneme]) | |
# print(sequence) | |
# print("************") | |
return sequence | |
def sequence_to_text(sequence): | |
"""Converts a sequence of IDs back to a string""" | |
result = [] | |
for symbol_id in sequence: | |
result.append(_id_to_symbol[symbol_id]) | |
' '.join(result) | |
return result | |