Spaces:
Running
Running
from jamo import hangul_to_jamo | |
from TTS.tts.utils.text.korean.korean import normalize | |
g2p = None | |
def korean_text_to_phonemes(text, character: str = "hangeul") -> str: | |
""" | |
The input and output values look the same, but they are different in Unicode. | |
example : | |
input = 'νλ' (Unicode : \ud558\ub298), (ν + λ) | |
output = 'αα ‘αα ³α―' (Unicode :\u1112\u1161\u1102\u1173\u11af), (α + α ‘ + α + α ³ + α―) | |
""" | |
global g2p # pylint: disable=global-statement | |
if g2p is None: | |
from g2pkk import G2p | |
g2p = G2p() | |
if character == "english": | |
from anyascii import anyascii | |
text = normalize(text) | |
text = g2p(text) | |
text = anyascii(text) | |
return text | |
text = normalize(text) | |
text = g2p(text) | |
text = list(hangul_to_jamo(text)) # 'νλ' --> ['α', 'α ‘', 'α', 'α ³', 'α―'] | |
return "".join(text) | |