speakerRecognition

Предварительно обученная система распознавания динамика

Синтаксис

Описание

пример

sr = speakerRecognition возвращает предварительно обученную систему распознавания динамика, 'ivec-english-16kHz'. 'ivec-english-16kHz' система является экземпляром объекта типа ivectorSystem обученный на наборе данных LibriSpeech.

Примеры

свернуть все

Этот пример использует предварительно обученную систему распознавания динамика, 'ivec-english-16kHz'. 'ivec-english-16kHz' система является экземпляром ivectorSystem обученный на наборе данных LibriSpeech.

Загрузите предварительно обученную систему распознавания динамика в свою временную директорию, местоположение которой задано MATLAB® tempdir команда. Если вы хотите поместить файлы данных в папку, отличающуюся от tempdir, измените имя каталога. Добавьте временную директорию в путь поиска файлов. Создайте систему i-вектора.

fname = 'ivec-english-16kHz.zip';
URL = ['https://ssd.mathworks.com/supportfiles/' ...
    'audio/speakerRecognition/' fname];
zipFile = fullfile(tempdir,fname);

websave(zipFile,URL);
unzip(zipFile,tempdir);

addpath(tempdir)

sr = speakerRecognition;

Считайте два речевых сигнала, каждый из которых содержит фразу "объем, на котором" говорят вслух несколько раз с различными интонациями. В одном из сигналов динамик является штекером. В другом сигнале докладчик является розеткой.

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

[bf,fs] = audioread('MaleVolumeUp-16-mono-6secs.ogg');
enrollBF = bf(1:3*fs);
testBF = bf(3*fs+1:end);
bfLabel = "BF";

[rd,fs] = audioread('FemaleVolumeUp-16-mono-11secs.ogg');
enrollRD = rd(1:5*fs);
testRD = rd(5*fs+1:end);
rdLabel = "RD";

Зарегистрируйте докладчиков в систему распознавания динамика. Это создает шаблон динамика, который может использоваться для верификации или идентификации.

 enroll(sr,{enrollBF,enrollRD},[bfLabel,rdLabel])
Extracting i-vectors ...done.
Enrolling i-vectors .....done.
Enrollment complete.

Вызовите identify функция на тестовых данных.

candidates = identify(sr,testBF)
candidates=2×2 table
    Label     Score 
    _____    _______

     BF      -1.0315
     RD      -178.77

candidates = identify(sr,testRD)
candidates=2×2 table
    Label     Score 
    _____    _______

     RD      -99.188
     BF      -240.22

Вызовите verify функция с тестовыми данными, чтобы подтвердить, что система правильно принимает или отклоняет динамики.

isVerified = verify(sr,testBF,bfLabel)
isVerified = logical
   1

isVerified = verify(sr,testBF,rdLabel)
isVerified = logical
   0

isVerified = verify(sr,testRD,rdLabel)
isVerified = logical
   1

isVerified = verify(sr,testRD,bfLabel)
isVerified = logical
   0

Вызовите info функция, чтобы получить информацию о том, как модель была обучена.

info(sr)
Header
  - This system was trained using the LibriSpeech train and development sets.
  LibriSpeech is an approximately 1000-hour corpus of read English speech sampled at 16 kHz.
  - The detection error tradeoff was determined by enrolling one file from each speaker in the 
  LibriSpeech test set, and then evaluating exhaustive pairs of the enrolled and remaining data.

i-vector system input
  Input feature vector length: 60
  Input data type: double

trainExtractor
  Train signals: 286808
  UBMNumComponents: 2048
  UBMNumIterations: 10
  TVSRank: 512
  TVSNumIterations: 5

trainClassifier
  Train signals: 286807
  Train labels: 1 (91), 100043 (31) ... and 5652 more
  NumEigenvectors: 200
  PLDANumDimensions: 200
  PLDANumIterations: 5

detectionErrorTradeoff
  Evaluation signals: 5382
  Evaluation labels: 102255 (46), 1066 (24) ... and 175 more

Удалите временную директорию из пути поиска файлов.

rmpath(tempdir)

Выходные аргументы

свернуть все

Предварительно обученная система распознавания динамика, возвращенная как объект типа ivectorSystem.

Ссылки

[1] Панаетов, Vassil, Гуогуо Чен, Дэниел Пови и Санйеев Худанпур. “Librispeech: Корпус ASR На основе Аудиокниг Общественного достояния”. На 2 015 Международных конференциях IEEE по вопросам Акустики, Речи и Обработки сигналов (ICASSP), 5206–10. Южный Брисбен, Квинсленд, Австралия: IEEE, 2015. https://doi.org/10.1109/ICASSP.2015.7178964.

Введенный в R2021b