Spaces:
Running
Running
import os | |
finder = None | |
def init(): | |
try: | |
import jpype | |
import jpype.imports | |
except ModuleNotFoundError: | |
raise ModuleNotFoundError( | |
"Belarusian phonemizer requires to install module 'jpype1' manually. Try `pip install jpype1`." | |
) | |
try: | |
jar_path = os.environ["BEL_FANETYKA_JAR"] | |
except KeyError: | |
raise KeyError("You need to define 'BEL_FANETYKA_JAR' environment variable as path to the fanetyka.jar file") | |
jpype.startJVM(classpath=[jar_path]) | |
# import the Java modules | |
from org.alex73.korpus.base import GrammarDB2, GrammarFinder | |
grammar_db = GrammarDB2.initializeFromJar() | |
global finder | |
finder = GrammarFinder(grammar_db) | |
def belarusian_text_to_phonemes(text: str) -> str: | |
# Initialize only on first run | |
if finder is None: | |
init() | |
from org.alex73.fanetyka.impl import FanetykaText | |
return str(FanetykaText(finder, text).ipa) | |