Skip to content

FEFU-ILPS/service-audio-preprocessing

Repository files navigation

SERVICE-AUDIO-PREPROCESSING


Оглавление

  1. Назначение
  2. Функциональность
  3. Технологии
  4. Конфигурация
  5. Локальная разработка
  6. Развертывание
  7. Лицензия

Назначение

Микросервис предобработки аудиофайлов предназначен для конвертации сырого аудио .pcm формата в .wav файлы с определенными свйоствами.

Выходной аудиофайл имеет следующие характеристики:

  • Формат .wav;
  • Мноноканальность;
  • Частота дискретизации 16000 Hz;
  • Кодировка 16 бит.

Функциональность

  • Предобработка аудио;
  • Конвертация форматов;
  • Удаление шумов на записи.

Технологии

  • Язык программирования: Python
  • Фреймворк: FastAPI
  • Протоколы: HTTP

Конфигурация

Микросервис настраивается с помощью переменных окружения в конфигурационном файле .env. По умолчанию .env не содержится в репозитории, данный файл необходимо создать самому:

touch .env

Если вы используете VSCode, не забудьте перезагрузить окно проекта, чтобы применить изменения в .env к вашему окружению.
Или используйте следующую команду:

export $(cat .env)

Пример того, как можно заполнить файл .env, содержится в файле .env.example.

Ниже приведена таблица, содержащая описание основных параметров, которые необходимо настроить для работы сервиса.

Настройки общего характера

Переменная Значимость Описание Тип данных Стандартное значение
PREPROCESSING_DEBUG_MODE Опционально Флаг запуска микросервиса в режиме отладки. BOOL True
PREPROCESSING_SERVICE_NAME Опционально Имя микросервиса. Рекомендуется вообще не трогать. STRING ilps-service-sound-preprocessing

Настройки Graylog

Сервис поддерживает отправку логов в Graylog, если эта функция включена при помощи специальной переменной среды.

Переменная Значимость Описание Тип данных Стандартное значение
PREPROCESSING_GRAYLOG_ENABLE Опционально Флаг отправки логов в Graylog. BOOL False
PREPROCESSING_GRAYLOG_HOST Опционально Адрес развернутого Graylog. Может быть заглушкой. STRING localhost
PREPROCESSING_GRAYLOG_PORT Опционально Порт развернутого Graylog. Может быть заглушкой. STRING 12201

Локальная разработка

Для удобства локальной разработки микросервиса следуйте этим рекомендациям.

Установка зависимостей

Перед началом работы убедитесь, что все зависимости установлены. Или установите, если предыдущее условие ложно.
При разработке сервиса используется менеджер зависимостей Poetry.

pip install poetry
poetry config virtualenvs.in-project true
poetry install --no-root

Далее выберете виртуальную среду Poetry как основную для проекта.

Переменные окружения

Создайте файл .env и сконфигурируйте переменные огружения, согласно главе конфигурация.
В контексте локальной разработки необходимо задать только обязательные переменные среды. Опциональную переменную PREPROCESSING_DEBUG_MODE рекомендуется перевести в значение True.

Запуск

Теперь все готово к запуску!

python start.py

Развертывание

Для развертывания микросервиса в production-среде следуйте инструкциям, описанным в этом репозитории.
Сервис аутентификации в инфраструктуре ILPS будет развернут автоматически посредством docker-compose.

Процессы установки зависимостей и применения миграций автоматизированны при сборке Docker контейнера.

Лицензия

Этот проект распространяется под лицензией GNU General Public License v3.0 (GPL-3.0).

About

🔊 Сервис предобработки аудиофайлов в инфраструктуре ILPS

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published