Spaces:
Runtime error
Runtime error
File size: 2,747 Bytes
9b2107c |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
from typing import Dict
from TTS.tts.utils.text.korean.phonemizer import korean_text_to_phonemes
from TTS.tts.utils.text.phonemizers.base import BasePhonemizer
_DEF_KO_PUNCS = "ใ.,[]()?!ใฝ~ใใใใใใ"
class KO_KR_Phonemizer(BasePhonemizer):
"""๐ธTTS ko_kr_phonemizer using functions in `TTS.tts.utils.text.korean.phonemizer`
TODO: Add Korean to character (แแแแแแ
แแแแแแแแแแแแแแ
กแ
ขแ
ฃแ
คแ
ฅแ
ฆแ
งแ
จแ
ฉแ
ชแ
ซแ
ฌแ
ญแ
ฎแ
ฏแ
ฐแ
ฑแ
ฒแ
ณแ
ดแ
ตแจแฉแชแซแฌแญแฎแฏแฐแฑแฒแณแดแตแถแทแธแนแบแปแผแฝแพแฟแแแ)
Example:
>>> from TTS.tts.utils.text.phonemizers import KO_KR_Phonemizer
>>> phonemizer = KO_KR_Phonemizer()
>>> phonemizer.phonemize("์ด ๋ฌธ์ฅ์ ์์ฑํฉ์ฑ ํ
์คํธ๋ฅผ ์ํ ๋ฌธ์ฅ์
๋๋ค.", separator="|")
'แ|แ
ต| |แ|แ
ฎ|แซ|แ|แ
ก|แผ|แ|แ
ณ| |แ|แ
ณ|แท|แ|แ
ฅ|แผ|แ|แ
ก|แธ|แ|แ
ฅ|แผ| |แ|แ
ฆ|แ|แ
ณ|แ|แ
ณ|แ
|แ
ณ| |แ
|แ
ฑ|แ|แ
ก|แซ| |แ|แ
ฎ|แซ|แ|แ
ก|แผ|แ|แ
ต|แท|แ|แ
ต|แ|แ
ก|.'
>>> from TTS.tts.utils.text.phonemizers import KO_KR_Phonemizer
>>> phonemizer = KO_KR_Phonemizer()
>>> phonemizer.phonemize("์ด ๋ฌธ์ฅ์ ์์ฑํฉ์ฑ ํ
์คํธ๋ฅผ ์ํ ๋ฌธ์ฅ์
๋๋ค.", separator="|", character='english')
'I| |M|u|n|J|a|n|g|E|u| |N|e|u|m|S|e|o|n|g|H|a|b|S|s|e|o|n|g| |T|e|S|e|u|T|e|u|L|e|u| |L|w|i|H|a|n| |M|u|n|J|a|n|g|I|m|N|i|D|a|.'
"""
language = "ko-kr"
def __init__(self, punctuations=_DEF_KO_PUNCS, keep_puncs=True, **kwargs): # pylint: disable=unused-argument
super().__init__(self.language, punctuations=punctuations, keep_puncs=keep_puncs)
@staticmethod
def name():
return "ko_kr_phonemizer"
def _phonemize(self, text: str, separator: str = "", character: str = "hangeul") -> str:
ph = korean_text_to_phonemes(text, character=character)
if separator is not None or separator != "":
return separator.join(ph)
return ph
def phonemize(self, text: str, separator: str = "", character: str = "hangeul", language=None) -> str:
return self._phonemize(text, separator, character)
@staticmethod
def supported_languages() -> Dict:
return {"ko-kr": "hangeul(korean)"}
def version(self) -> str:
return "0.0.2"
def is_available(self) -> bool:
return True
if __name__ == "__main__":
texts = "์ด ๋ฌธ์ฅ์ ์์ฑํฉ์ฑ ํ
์คํธ๋ฅผ ์ํ ๋ฌธ์ฅ์
๋๋ค."
e = KO_KR_Phonemizer()
print(e.supported_languages())
print(e.version())
print(e.language)
print(e.name())
print(e.is_available())
print(e.phonemize(texts))
|