mirror of
https://github.com/remsky/Kokoro-FastAPI.git
synced 2025-08-05 16:48:53 +00:00
Merge pull request #87 from fireblade2534/master
This commit is contained in:
commit
2612249656
1 changed files with 6 additions and 4 deletions
|
@ -4,7 +4,7 @@ from abc import ABC, abstractmethod
|
||||||
import phonemizer
|
import phonemizer
|
||||||
|
|
||||||
from .normalizer import normalize_text
|
from .normalizer import normalize_text
|
||||||
|
phonemizers = {}
|
||||||
|
|
||||||
class PhonemizerBackend(ABC):
|
class PhonemizerBackend(ABC):
|
||||||
"""Abstract base class for phonemization backends"""
|
"""Abstract base class for phonemization backends"""
|
||||||
|
@ -34,6 +34,7 @@ class EspeakBackend(PhonemizerBackend):
|
||||||
self.backend = phonemizer.backend.EspeakBackend(
|
self.backend = phonemizer.backend.EspeakBackend(
|
||||||
language=language, preserve_punctuation=True, with_stress=True
|
language=language, preserve_punctuation=True, with_stress=True
|
||||||
)
|
)
|
||||||
|
|
||||||
self.language = language
|
self.language = language
|
||||||
|
|
||||||
def phonemize(self, text: str) -> str:
|
def phonemize(self, text: str) -> str:
|
||||||
|
@ -91,8 +92,9 @@ def phonemize(text: str, language: str = "a", normalize: bool = True) -> str:
|
||||||
Returns:
|
Returns:
|
||||||
Phonemized text
|
Phonemized text
|
||||||
"""
|
"""
|
||||||
|
global phonemizers
|
||||||
if normalize:
|
if normalize:
|
||||||
text = normalize_text(text)
|
text = normalize_text(text)
|
||||||
|
if language not in phonemizers:
|
||||||
phonemizer = create_phonemizer(language)
|
phonemizers[language]=create_phonemizer(language)
|
||||||
return phonemizer.phonemize(text)
|
return phonemizers[language].phonemize(text)
|
||||||
|
|
Loading…
Add table
Reference in a new issue