Don't fail on missing phonemes

This commit is contained in:
Michael Hansen
2023-05-08 16:14:23 -05:00
parent febcdce87c
commit 9a7cef83f1

View File

@@ -1,5 +1,6 @@
import io
import json
import logging
import wave
from dataclasses import dataclass
from pathlib import Path
@@ -9,6 +10,8 @@ import numpy as np
import onnxruntime
from espeak_phonemizer import Phonemizer
_LOGGER = logging.getLogger(__name__)
_BOS = "^"
_EOS = "$"
_PAD = "_"
@@ -69,8 +72,11 @@ class Piper:
phoneme_ids: List[int] = []
for phoneme in phonemes:
phoneme_ids.extend(self.config.phoneme_id_map[phoneme])
phoneme_ids.extend(self.config.phoneme_id_map[_PAD])
if phoneme in self.config.phoneme_id_map:
phoneme_ids.extend(self.config.phoneme_id_map[phoneme])
phoneme_ids.extend(self.config.phoneme_id_map[_PAD])
else:
_LOGGER.warning("No id for phoneme: %s", phoneme)
phoneme_ids.extend(self.config.phoneme_id_map[_EOS])