.. include:: ../../../reuse_content/silero/silero.rst .. include:: ../../../reuse_content/silero/audio_waves.rst .. include:: ../../../reuse_content/general.rst Детектирование речевой активности (Silero VAD) ============================================== Команда для запуска детектирования речевой активности в аудиовизуальном сигнале: .. code-block:: sh openav_vad --config <путь_к_вашему_конфигурационному_файлу>.yaml .. important:: Для запуска команды необходимо обязательно указать путь к конфигурационному файлу. Запускать программу необходимо из директории, где она расположена. Конфигурационный файл ~~~~~~~~~~~~~~~~~~~~~ Конфигурационный файл включает в себя следующие настройки: * Отображение процесса выполнения программы в терминале (командной строке) * Работа с файловой системой * Параметры детектора голосовой активности (Silero VAD) * Параметры кодирования выходного файла .. rst-class:: config-link |a_config| Пример конфигурационного файла |/a| Отображение процесса выполнения команды в терминале ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table shell-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 23, 7, 25, 45 "hide_metadata", "bool", "``false``", "Включение отображения метаданных" "hide_libs_vers", "bool", "``false``", "Включение отображения версий установленных библиотек в командной строке" Работа с файловой системой ~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table filesystem-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 23, 7, 25, 45 "path_to_save_model", "str", "``<./models>``", "Директория, где будут размещаться скачанные модели, в данном случае модель для работоспособности VAD" "path_to_dataset", "str", "``<путь_к_исходным_данным>``", "Директория, где находятся данные, которые необходимо обработать VAD" "path_to_dataset_vad", "str", "``<./dataset_vad>``", "Директория, куда сохраняются фрагменты аудиовизуального сигнала после обработки VAD" "dir_va_names", "dict", "``{""video"": ""Video"",`` |br| ``""audio"": ""Audio""}``", "Директории для сохранения видео и аудио файлов. Названия директорий могут быть произвольными" "force_reload", "bool", "``false``", "Включение принудительной загрузки модели VAD из сети" "clear_dirvad", "bool", "``true``", "Очистка директории, в которую сохраняются фрагменты аудиовизуального сигнала" "depth","int", "``1``", "Глубина иерархии для получения данных. Указывается количество подкаталогов в директории ``path_to_dataset``" "ext_search_files", "list", "``[""mov"", ""mp4"",`` |br| ``""webm"", ""wav""]``", "Список расширений файлов, которые будут обрабатываться. Указывать можно как для видео, так и для аудио" Параметры детектора голосовой активности (Silero VAD) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table vad-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 28, 7, 20, 45 "sampling_rate", "int", "``16000``", "Частота дискретизации. На текущий момент поддерживаются частоты: ``8000`` и ``16000``" "threshold", "float", "``0.5``", "Порог вероятности речи (от ``0.0`` до ``1.0``). VAD выводит вероятности речи для каждого звукового фрагмента, вероятности выше установеленного значения считаются |b| речью. |/b| Параметр необходимо настраивать индивидуально в зависимости от набора данных. Например для шумных условий параметр рекомендуется устанавливать в значение от ``0.7`` до ``0.95``. В условиях низкого уровня шума или его отсутствия, параметр лучше устанавливать на низкие значения ``0.1`` — ``0.25``" "min_speech_duration_ms", "float", "``250``", "Минимальная длительность речевого фрагмента. Рекомендуется устанавливать в пределах от ``750`` мс до ``1000`` мс. Настройка также является индвидуальной, которую необходимо подбирать в зависимости от набора данных" "min_silence_duration_ms", "float", "``100``", "Минимальная длительность тишины в выборках между отдельными речевыми фрагментами, прежде чем разделить его. Рекомендуется устанавливать в пределах ``500`` мс, для того, чтобы не разделялись предложения. Однако, можно настроить индивидуально, под свои условия" "window_size_samples", "int", "``1536``", "Количество выборок в каждом окне. |br| |b| Предупреждение! |/b| Модели VAD были обучены с использованием выборок ``512``, ``1024``, ``1536`` для частоты дискретизации ``16000`` и ``256``, ``512``, ``768`` для частоты дискретизации ``8000``. Настоятельно рекомендуется использовать эти значения, изменение значений может повлиять на производительность модели" "speech_pad_ms", "float", "``30``", "Внутренние отступы для итоговых речевых фрагментов. Рекомендуется использовать значение ``250`` мс — ``400`` мс чтобы избежать обрезания фрагментов речи. Настройка также является индвидуальная и устанавливается в соответствии с условиями пользователя" Параметры кодирования выходного файла ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. rst-class:: custom-table encode-table .. csv-table:: :align: center :header: "Параметр", "Тип", "Значение по умолчанию", "Описание" :widths: 28, 7, 20, 45 "type_encode", "str", "``crf``", "Типы кодирования. Доступные варианты: ``['qscale', 'crf']``" "crf_value", "int", "``23``", "Качество кодирования (от ``0`` до ``51``. Чем ниже значение, тем лучше качество и наоборот. Стоит учитывать, что изменения качества кодирования влияет на скорость обработки" "presets_crf_encode", "str", "``medium``", "Скорость кодирования и сжатия. Доступные варианты: ``['ultrafast', 'superfast', 'veryfast', 'faster', 'fast', 'medium', 'slow', 'slower', 'veryslow']``. Изменения параметра влияет на скорость кодирования и степень сжатия" "sr_input_type", "str", "``audio``", "Типы файлов для распознавания речи. Доступные варианты: ``['audio', 'video']``" Демонстрация работы детектора речевой активности ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Ниже продемонстрированы результаты работы детектора речевой активности как для входного аудиовизуального сигнала, так и для акустического. .. tabs:: .. tab:: Аудиовизуальный сигнал .. rst-class:: tab-header first-header Пример видеозаписи до обработки детектором речевой активности .. rst-class:: video-cap Видеозапись до обработки VAD .. video:: ../../../_static/video/vad/before_vad.mp4 :alt: video without processing .. rst-class:: tab-header Примеры видеозаписей после обработки детектором речевой активности .. rst-class:: video-cap Фраза 1 .. video:: ../../../_static/video/vad/1.webm :alt: phrase_1 .. rst-class:: video-cap Фраза 2 .. video:: ../../../_static/video/vad/2.webm :alt: phrase_2 .. rst-class:: video-cap Фраза 3 .. video:: ../../../_static/video/vad/3.webm :alt: phrase_3 .. rst-class:: video-cap Фраза 4 .. video:: ../../../_static/video/vad/4.webm :alt: phrase_4 .. rst-class:: video-cap Фраза 5 .. video:: ../../../_static/video/vad/5.webm :alt: phrase_5 .. tab:: Акустический сигнал .. rst-class:: tab-header first-header Пример аудиозаписи до обработки детектором речевой активности |audio_wo_vad| .. rst-class:: tab-header Примеры аудиозаписей после обработки детектором речевой активности |audio_1| |audio_2| |audio_3| |audio_4| |audio_5|