Spaces:
Sleeping
Sleeping
ADD: improved english ASR and added german ASR
Browse files- analyzer/ASR_de_de.py +2 -2
analyzer/ASR_de_de.py
CHANGED
|
@@ -76,7 +76,7 @@ def analyze(audio_file_path: str, target_sentence: str) -> dict:
|
|
| 76 |
if not processor or not model:
|
| 77 |
raise RuntimeError("模型尚未載入。請確保在呼叫 analyze 之前已成功執行 load_model()。")
|
| 78 |
|
| 79 |
-
target_ipa_by_word_str = phonemize(target_sentence, language='
|
| 80 |
|
| 81 |
# 【【【【【 關 鍵 修 改 在 這 裡 】】】】】
|
| 82 |
# 在切分前,移除所有重音和長音符號,以匹配 ASR 的輸出特性
|
|
@@ -205,7 +205,7 @@ def _format_to_json_structure(alignments, sentence, original_words) -> dict:
|
|
| 205 |
if len(alignments) < total_words:
|
| 206 |
for i in range(len(alignments), total_words):
|
| 207 |
# 確保這裡也移除 'ː'
|
| 208 |
-
missed_word_ipa_str = phonemize(original_words[i], language='
|
| 209 |
missed_word_ipa = _tokenize_ipa(missed_word_ipa_str)
|
| 210 |
phonemes_data = []
|
| 211 |
for p_ipa in missed_word_ipa:
|
|
|
|
| 76 |
if not processor or not model:
|
| 77 |
raise RuntimeError("模型尚未載入。請確保在呼叫 analyze 之前已成功執行 load_model()。")
|
| 78 |
|
| 79 |
+
target_ipa_by_word_str = phonemize(target_sentence, language='de-de', backend='espeak', with_stress=True, strip=True).split()
|
| 80 |
|
| 81 |
# 【【【【【 關 鍵 修 改 在 這 裡 】】】】】
|
| 82 |
# 在切分前,移除所有重音和長音符號,以匹配 ASR 的輸出特性
|
|
|
|
| 205 |
if len(alignments) < total_words:
|
| 206 |
for i in range(len(alignments), total_words):
|
| 207 |
# 確保這裡也移除 'ː'
|
| 208 |
+
missed_word_ipa_str = phonemize(original_words[i], language='de-de', backend='espeak', strip=True).replace('ː', '')
|
| 209 |
missed_word_ipa = _tokenize_ipa(missed_word_ipa_str)
|
| 210 |
phonemes_data = []
|
| 211 |
for p_ipa in missed_word_ipa:
|