Русскоязычный датасет для обучения нейронной сети на Kaggle: https://www.kaggle.com/datasets/alep079/pyara
Для дальнейшего развития датасета разработан телеграмм-бот, который позволяет волонтёрам собирать дополнительные аудиозаписи: https://t.me/PyAraSpeech_bot
Документация и инструкции по работе с библиотекой с примерами использования различных функций:
Библиотека PyAra может быть использована при создании следующих информационных систем:
- Системы голосовой аутентификации (call-центры, программное обеспечение банкоматов, системы «умный дом»).
- Системы проверки аудиопотока для выявления злонамеренных попыток компрометации выступающего (публичного должностного лица).
- Системы расследования инцидентов, связанных с обманом (фродом) физических лиц мошенниками с использованием звонков по телефону или через популярные мессенджеры.
- Системы предотвращения мошенничества в мессенджерах и социальных сетях, содержащих функции голосового общения.
- Индивидуальные помощники (т.н. умные колонки), воспринимающие голосовые команды (покупки, оплата счетов, банковские переводы).
Подобная система может либо стать частью подсистемы, либо самостоятельной обособленной системой защиты от спуфинг-атак посредством синтеза голоса. Высокая точность определения синтезированной аудиозаписи дает возможность сделать ее первичным «фильтром», через который будут проходить все аудиозаписи. Это сильно облегчит дальнейшую обработку пропущенных через фильтр аудиозаписей.
Библиотека PyAra имеет следующие зависимости, которые будут установлены вместе с самой библиотекой, либо должны быть установлены заранее:
- torch >= 1.13.1
- torchaudio >= 0.13.1
- soundfile == 0.12.1
- numpy
- librosa
Минимальные технические требования для запуска и использования библиотеки PyAra:
- Операционная система: Linux, Windows, MacOS.
- Версия Python >= 3.7
- Для работы с библиотекой необходимо как минимум 100 Мбайт оперативной памяти.
Установка библиотеки PyAra выполняется с помощью следующей команды:
pip install Pyara
В библиотеку PyAra входит предварительно обученная модель, которая может быть использована по умолчанию. Данная модель обучена на русскоязычном датасете, который был разработан специально для этой библиотеки. С моделью по умолчанию PyAra умеет детектировать синтезированные русскоязычные аудиозаписи. Так же имеется возможность обучать и встраивать собственные модели, обученные даже на других языках. Или же улучшать уже имеющуюся модель.
Представленная модель достигает точности более 95% на собранном датасете. Тем самым данная модель показывает очень высокие результаты в детектировании поддельной речи и может быть встроена в различные системы.
Время работы библиотеки, а точнее ее основной функции детектирования синтезированной речи, довольно небольшое, на обычном пользовательском компьютере проверка одной аудиозаписи на подлинность занимает около 50 мс. Данное время обычному пользователю будет почти незаметно, что означает, что данная библиотека за небольшие временные затраты может существенно помочь с проверкой входных аудиозаписей.
В таблице представлены характеристики библиотеки, полученные на наборе для тестирования:
Метрика | EER | t-DCF | Accuracy | ROC-AUC | MCC |
---|---|---|---|---|---|
Результат | 2,85 % | 0,21 % | 97,00 % | 99,65 % | 93,39 % |
- Dmitry Efanov, Pavel Aleksandrov, Nikolay Karapetyants, The BiLSTM-based synthesized speech recognition // Procedia Computer Science, 2022
- Efanov, D., Aleksandrov, P., Mironov, I. Comparison of the effectiveness of cepstral coefficients for Russian speech synthesis detection // Journal of Computer Virology and Hacking Techniques, 2023