Navatusein / Silero-TTS-Service

Silero TTS backend service. Can be used with Home Assistant and Rhasspy.
MIT License
28 stars 6 forks source link

Расширить до мультивойса ? #23

Closed neowisard closed 5 months ago

neowisard commented 5 months ago

Обновил модели силеро и код ниже ,

    silero_settings = {
        'ru': {
            'model_link': 'https://models.silero.ai/models/tts/ru/v4_ru.pt',
            'model_name': 'silero_model_v4.pt',
            'speakers': [
                'aidar', 'baya', 'kseniya', 'xenia', 'eugene', 'random'
            ]
        },
        'en': {
            'model_link': 'https://models.silero.ai/models/tts/en/v3_en.pt',
            'model_name': 'v3_en.pt',
            'speakers': [
                'lj', 'random'
            ]
        },
        'multi': {
            'model_link': 'https://models.silero.ai/models/tts/multi/v2_multi.pt',
            'model_name': 'v2_multi.pt',
            'speakers': [
                'irina', 'random'
            ]
        }

    }

Хочу использовать мультивойс от Silero team, сыпется

root@oc2:/ai/Silero-TTS-Service# /usr/bin/python3 -u ./main.py
Traceback (most recent call last):
  File "/ai/Silero-TTS-Service/./main.py", line 5, in <module>
    from app.logger import LogConfig
  File "/ai/Silero-TTS-Service/app/logger.py", line 5, in <module>
    class LogConfig(BaseModel):
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_model_construction.py", line 92, in __new__
    private_attributes = inspect_namespace(
  File "/usr/local/lib/python3.10/dist-packages/pydantic/_internal/_model_construction.py", line 384, in inspect_namespace
    raise PydanticUserError(
pydantic.errors.PydanticUserError: A non-annotated attribute was detected: `LOGGER_NAME = 'uvicorn'`. All model fields require a type annotation; if `LOGGER_NAME` is not meant to be a field, you may be able to resolve this error by annotating it as a `ClassVar` or updating `model_config['ignored_types']`.

В питоне ообще почти 0 , поправить быстро не удалось. Я правильно понимаю что чтото надо переписать под pydantic. 2.6 ?

Navatusein commented 5 months ago

Касательно мультивойса, моделька кривая. Даже если поправить ошибки с нормализацией текста. Сейчас какой словарь для склонения существительных использовать выбирается из настроек. Сама моделька не понимает ssml_text. А без него ломается часть функционала. Например, HA_FIX.

#normalizer.py line 10
morph = MorphAnalyzer(lang=settings.language)