Kaynağa Gözat

Optimize en phonemizer

Lengyue 2 yıl önce
ebeveyn
işleme
24d9305e13
1 değiştirilmiş dosya ile 6 ekleme ve 66 silme
  1. 6 66
      fish_speech/text/english.py

+ 6 - 66
fish_speech/text/english.py

@@ -1,75 +1,15 @@
-import os
-import pickle
-import re
-from functools import lru_cache
-
 from g2p_en import G2p
 
-current_file_path = os.path.dirname(__file__)
-CMU_DICT_PATH = os.path.join(current_file_path, "cmudict.rep")
-CACHE_PATH = os.path.join(current_file_path, "cmudict_cache.pickle")
-
 _g2p = G2p()
 
 
-def read_dict():
-    g2p_dict = {}
-    start_line = 49
-    with open(CMU_DICT_PATH) as f:
-        line = f.readline()
-        line_index = 1
-        while line:
-            if line_index >= start_line:
-                line = line.strip()
-                word_split = line.split("  ")
-                word = word_split[0]
-
-                syllable_split = word_split[1].split(" - ")
-                g2p_dict[word] = []
-                for syllable in syllable_split:
-                    phone_split = syllable.split(" ")
-                    g2p_dict[word].append(phone_split)
-
-            line_index = line_index + 1
-            line = f.readline()
-
-    return g2p_dict
-
-
-def cache_dict(g2p_dict, file_path):
-    with open(file_path, "wb") as pickle_file:
-        pickle.dump(g2p_dict, pickle_file)
-
-
-@lru_cache(maxsize=1)
-def get_dict():
-    if os.path.exists(CACHE_PATH):
-        with open(CACHE_PATH, "rb") as pickle_file:
-            g2p_dict = pickle.load(pickle_file)
-    else:
-        g2p_dict = read_dict()
-        cache_dict(g2p_dict, CACHE_PATH)
-
-    return g2p_dict
-
-
 def g2p(text):
-    eng_dict = get_dict()
-
-    phones = []
-    words = re.split(r"([,;.\-\?\!\s+])", text)
-
-    for w in words:
-        if w.upper() in eng_dict:
-            phns = eng_dict[w.upper()]
-            for ph in phns:
-                phones += ph
-            continue
-
-        phones.extend(list(filter(lambda p: p != " ", _g2p(w))))
-
-    return phones
+    return list(filter(lambda p: p != " ", _g2p(text)))
 
 
 if __name__ == "__main__":
-    print(g2p("Hugging face, BGM"))
+    print(
+        g2p(
+            "In this paper, we propose 1 DSPGAN, a GAN-based universal vocoder invented by dr. lengyue in 1984."
+        )
+    )