Реалізація верифікації мовця (Speaker Verification)

Проектуємо та впроваджуємо системи штучного інтелекту: від прототипу до production-ready рішення. Наша команда поєднує експертизу в машинному навчанні, дата-інжинірингу та MLOps, щоб AI працював не в лабораторії, а в реальному бізнесі.
Показано 1 з 1Усі 1566 послуг
Реалізація верифікації мовця (Speaker Verification)
Середній
від 1 тижня до 3 місяців
Часті запитання

Напрямки AI-розробки

Етапи розробки AI-рішення

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1282
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    901
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1119
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    853

Реалізація верифікації того, хто говорить (Speaker Verification) Speaker Verification відповідає на запитання «чи цей голос є голосом конкретної людини» — бінарне завдання з порогом впевненості. Застосовується для біометричної автентифікації, захисту голосових роботів від шахрайства, двофакторної авторизації через голос. ### Типи верифікації - Text-Dependent - фраза зафіксована («моя фраза-пароль»). EER 0.5-1.5%, але вразлива до replay-атак - Text-Independent - будь-яка фраза. EER 1–3%, практичніше - Anti-Spoofing — додатковий захист від синтезованого/записаного голосу ### Реалізація на ECAPA-TDNN```python

from speechbrain.pretrained import SpeakerRecognition import torchaudio

verifier = SpeakerRecognition.from_hparams( source="speechbrain/spkrec-ecapa-voxceleb", savedir="tmp_verification" )

def verify_speaker( enrollment_audio: str, test_audio: str, threshold: float = 0.25 ) -> tuple[bool, float]: """ enrollment_audio: эталонная запись зарегистрированного пользователя threshold: порог для Accept/Reject (подбирается под нужный FAR/FRR) """ score, prediction = verifier.verify_files(enrollment_audio, test_audio) is_same = float(score) >= threshold return is_same, float(score) ### Налаштування порога під вимоги безпеки | Поріг | FAR | FRR | Застосування | |-------|-----|-----|-----------| | 0.1 | 5% | 1% | Низький ризик | 0.25 | 1% | 5% | Балансований | | 0,4 | 0,1% | 15% | Висока безпека FAR = False Accept Rate (чужий як свій), FRR = False Reject Rate (свій як чужий). ### Anti-Spoofingpython

Проверка на синтетический голос

from speechbrain.pretrained import EncoderClassifier

antispoofing = EncoderClassifier.from_hparams( source="speechbrain/asvspoof-cqcc-lcnn", savedir="tmp_antispoofing" )

def is_genuine(audio_path: str) -> bool: signal, _ = torchaudio.load(audio_path) prediction = antispoofing.classify_batch(signal) return prediction[3][0] == "genuine"