Skip to content

Проблемы и предложения по улучшению при запуске в Linux (LXC-контейнер) #14

Description

@winhex

Здравствуйте!
Установил ваш проект на чистый Debian в LXC-контейнере. В целом приложение интересное и нужное, спасибо! Ниже - список проблем, с которыми я столкнулся, и как их решил.

  1. Запуск приложения
    Сделал: python3 -m flask run --host=0.0.0.0
    Ожидал: приложение запустится (как написано в README)
    Получил: Error: Could not locate a Flask application
    Решение:
    Нужно явно указывать приложение:
    FLASK_APP=app.py python3 -m flask run --host=0.0.0.0
    Лучше добавить в README несколько вариантов запуска, хотя это мелочь

  2. Отсутствующий onnxruntime
    Сделал: pip3 install -r requirements.txt Получил: ModuleNotFoundError: No module named 'onnxruntime'
    Решение: Нужно добавить onnxruntime в requirements.txt.

  3. UnboundLocalError: local variable 'torch' referenced before assignment
    Получил: ошибку при попытке загрузить список голосов (/voices) и при генерации.
    Место: converter.py → PreloadModel() (строка ~225)
    Решение:
    Внутри условий if 'silero' == engine: добавить import torch перед использованием, либо добавить import torch в начало функции PreloadModel().
    После того как добавил, список голосов появился. НО - голос применяется только после рестарта приложения

  4. Путь к ffmpeg
    использовал default.cfg из репозитория
    Получил: FFMPEG_PATH = 'ffmpeg/ffmpeg.exe' (Windows-путь)
    Решение:
    В Linux нужно:
    FFMPEG_PATH = '/usr/bin/ffmpeg' или просто ffmpeg

Лучше сделать автоопределение через shutil.which('ffmpeg') при старте.

  1. Имена выходных аудиокниг
    Сделал: загрузил книгу Моя книга.txt
    Ожидал: аудиокнига будет названа похоже на исходный файл или по названию книги
    Получил: ebccbd95-997d-4f13-8d76-a6d4c944032d.mp3
    Решение/предложение:
    Для обычных .txt файлов (или если название не удалось вытянуть) делать fallback на оригинальное имя файла (без расширения), если не удалось распарсить метаданные. Или возможность задать руками название.
    Хуже всего, что в начале движок читает этот UID - может стоит добавить опцию читать ли название?

Чего еще не хватает:

  1. возможность выгружать готовые аудио-книги из веб-интерфейса. Если приложение стоит на сервере, приходится монтировать папку и вытягивать руками, да и не сразу понятно, прочиталась ли книга, поэтому:
  2. хорошо бы по окончанию подтверждение статуса, что книга прочитана
  3. возможность изменить скорость чтения

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions