IP Library Granted Patent US 11,107,478
Granted Patent B2
US 11,107,478 · App. 16/752,007 · Granted Aug 31, 2021

Neural networks for speaker verification

Inventors: Georg Heigold (Mountain View, CA); Samuel Bengio (Los Altos, CA); Ignacio Lopez Moreno (New York, NY)
Assignee: Google LLC
G10L17/18G10L17/02G10L17/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,107,478
App. No.
16/752,007
Granted
Aug 31, 2021
Kind
B2
Abstract

This document generally describes systems, methods, devices, and other techniques related to speaker verification, including (i) training a neural network for a speaker verification model, (ii) enrolling users at a client device, and (iii) verifying identities of users based on characteristics of the users' voices. Some implementations include a computer-implemented method. The method can include receiving, at a computing device, data that characterizes an utterance of a user of the computing device. A speaker representation can be generated, at the computing device, for the utterance using a neural network on the computing device. The neural network can be trained based on a plurality of training samples that each: (i) include data that characterizes a first utterance and data that characterizes one or more second utterances, and (ii) are labeled as a matching speakers sample or a non-matching speakers sample.

Claims (46)

1. A method comprising:

obtaining, by data processing hardware, a plurality of audio frames representing a first utterance;

generating, by the data processing hardware, a speaker representation for the utterance using a trained neural network, the speaker representation indicating distinctive features of a speaker of the first utterance, the trained neural network comprising a long short-term memory (LSTM) layer and a fully-connected linear layer, the LSTM layer configured to receive the plurality of audio frames as input, and the fully-connected linear layer configured to:

receive, as input, an output of the LSTM layer; and

generate, as output, the speaker representation for the utterance;

obtaining, by the data processing hardware, a speaker model for an enrolled user of the user device, the speaker model previously determined during an enrollment phase and characterizing distinctive features of a voice of the enrolled user based on one or more second utterances spoken by the enrolled user;

determining, by the data processing hardware, whether a similarity score between the speaker representation for the first utterance and the speaker model for the enrolled user satisfies a similarity score threshold; and

when the similarity score satisfies the similarity score threshold, authenticating, by the data processing hardware, the speaker of the first utterance as the enrolled user of the user device.

2. The method of claim 1 , further comprising, when the similarity score satisfies the similarity score threshold, updating, by the data processing hardware, the speaker model for the enrolled user of the user device based on the first utterance.

3. The method of claim 1 , wherein the plurality of audio frames comprise a fixed length.

4. The method of claim 1 , further comprising, in response to authenticating the speaker of the first utterance as the enrolled user of the user device, transitioning, by the data processing hardware, operation of the user device from a low-power state to a more fully-featured state.

5. The method of claim 1 , further comprising, in response to authenticating the speaker of the first utterance as the enrolled user of the user device:

processing, by the data processing hardware, one or more terms in the first utterance; and

performing, by the data processing hardware, an action based on the one or more terms in the first utterance.

6. The method of claim 1 , wherein the first utterance and each of the one or more second utterances comprise a same pre-determined phrase.

7. The method of claim 1 , wherein the similarity score between the speaker representation and the speaker model comprises a cosine distance between a vector of values for the speaker representation and a vector of values for the speaker model.

8. The method of claim 1 , wherein obtaining the speaker model for the enrolled user of the user device comprises retrieving the speaker model from memory hardware of the user device.

9. The method of claim 1 , wherein obtaining the plurality of audio frames characterizing the first utterance comprises:

receiving a raw audio signal of the first utterance;

segmenting the raw audio signal of the first utterance into a plurality of raw audio frames, each raw audio frame comprising a respective portion of the raw audio signal, and

converting the respective portion of the raw audio signal of each raw audio raw audio frame into respective audio features characterizing a respective segment of the first utterance.

10. The method of claim 1 , further comprising, prior to generating the speaker representation for the first utterance using the trained neural network, receiving, at the data processing hardware, the trained neural network over a network from a remote computing device.

11. A system comprising:

data processing hardware of a user device; and

memory hardware of the user device and in communication with the data processing hardware, the memory hardware storing instructions that when executed by the data processing hardware cause the data processing hardware to perform operations comprising:

obtaining a plurality of audio frames representing a first utterance;

generating a speaker representation for the utterance using a trained neural network, the speaker representation indicating distinctive features of a speaker of the first utterance, the trained neural network comprising a long short-term memory (LSTM) layer and a fully-connected linear layer, the LSTM layer configured to receive the plurality of audio frames as input, and the fully-connected linear layer configured to:

receive, as input, an output of the LSTM layer; and

generate, as output, the speaker representation for the utterance;

obtaining a speaker model for an enrolled user of the user device, the speaker model previously determined during an enrollment phase and characterizing distinctive features of a voice of the enrolled user based on one or more second utterances spoken by the enrolled user;

determining whether a similarity score between the speaker representation for the first utterance and the speaker model for the enrolled user satisfies a similarity score threshold; and

when the similarity score satisfies the similarity score threshold, authenticating, by the data processing hardware, the speaker of the first utterance as the enrolled user of the user device.

12. The system of claim 11 , wherein the operations further comprise, when the similarity score satisfies the similarity score threshold, updating the speaker model for the enrolled user of the user device based on the first utterance.

13. The system of claim 11 , wherein the plurality of audio frames comprise a fixed length.

14. The system of claim 11 , wherein the operations further comprise, in response to authenticating the speaker of the first utterance as the enrolled user of the user device, transitioning operation of the user device from a low-power state to a more fully-featured state.

15. The system of claim 11 , wherein the operations further comprise, in response to authenticating the speaker of the first utterance as the enrolled user of the user device:

processing one or more terms in the first utterance; and

performing an action based on the one or more terms in the first utterance.

16. The system of claim 11 , wherein the first utterance and each of the one or more second utterances comprise a same pre-determined phrase.

17. The system of claim 11 , wherein the similarity score between the speaker representation and the speaker model comprises a cosine distance between a vector of values for the speaker representation and a vector of values for the speaker model.

18. The system of claim 11 , wherein obtaining the speaker model for the enrolled user of the user device comprises retrieving the speaker model from memory hardware of the user device.

19. The system of claim 11 , wherein obtaining the plurality of audio frames characterizing the first utterance comprises:

receiving a raw audio signal of the first utterance;

segmenting the raw audio signal of the first utterance into a plurality of raw audio frames, each raw audio frame comprising a respective portion of the raw audio signal; and

converting the respective portion of the raw audio signal of each raw audio raw audio frame into respective audio features characterizing a respective segment of the first utterance.

20. The system of claim 11 , wherein the operations further comprise, prior to generating the speaker representation for the first utterance using the trained neural network, receiving the trained neural network over a network from a remote computing device.

Continuity (3)
Continuation 15966667 · Apr 30, 2018
Continuation 14846187 · Sep 4, 2015
Related Publication 20200160869A1 · May 21, 2020