IP Library Granted Patent US 11,257,507
Granted Patent B2
US 11,257,507 · App. 16/746,703 · Granted Feb 22, 2022

Speech coding using content latent embedding vectors and speaker latent embedding vectors

Inventors: Cristina Garbacea (Ann Arbor, MI); Aaron Gerard Antonius van den Oord (London, GB); Yazhe Li (London, GB); Sze Chie Lim (San Francisco, CA); Alejandro Luebs (San Francisco, CA); Oriol Vinyals (London, GB); Thomas Chadwick Walters (Bromley, GB)
Assignee: DeepMind Technologies Limited
G10L19/16G06N3/08G10L19/032G10L25/30
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,257,507
App. No.
16/746,703
Granted
Feb 22, 2022
Kind
B2
Abstract

Methods, systems, and apparatus, including computer programs encoded on computer storage media, for generating discrete latent representations of input audio data. Only the discrete latent representation needs to be transmitted from an encoder system to a decoder system in order for the decoder system to be able to effectively to decode, i.e., reconstruct, the input audio data.

Claims (72)

1. A system comprising:

a memory for storing:

a set of content latent embedding vectors; and

a set of speaker latent embedding vectors;

one or more computers and one or more storage devices storing instructions that when executed by the one or more computers cause the one or more computers to implement:

an encoder neural network configured to:

receive input audio data; and

process the input audio data to generate an encoder output that comprises a plurality of encoded vectors, each respective encoded vector of the plurality of encoded vectors corresponding to a respective different latent variable in a sequence of a plurality of latent variables; and

a subsystem configured to:

provide the input audio data as input to the encoder neural network to obtain the encoder output for the input audio data that comprises the plurality of encoded vectors that each correspond to a respective different latent variable in the sequence of the plurality of latent variables; and

generate a discrete latent representation of the input audio data from the encoder output, comprising:

for each of the latent variables in the sequence of latent variables, determining, from the set of content latent embedding vectors in the memory, a content latent embedding vector that is nearest to the encoded vector corresponding to the latent variable;

generating a speaker vector by combining at least the plurality of encoded vectors in the encoder output generated by the encoder neural network into a single vector; and

determining, from the set of speaker latent embedding vectors in the memory, a speaker latent embedding vector from the set of speaker latent embedding vectors stored in the memory that is nearest to the speaker vector that is generated by combining at least the plurality of encoded vectors in the encoder output generated by the encoder neural network into a single vector, wherein:

the content latent embedding vectors in the set of content latent embedding vectors are learned during joint training of the encoder neural network and a decoder neural network; and

the speaker latent embedding vectors in the set of speaker latent embedding vectors are learned during the joint training of the encoder neural network and the decoder neural network.

2. The system of claim 1 , wherein the discrete latent representation of the input audio data includes (i) for each of the latent variables, an identifier of the nearest latent embedding vector to the encoded vector for the latent variable and (ii) an identifier of the speaker latent embedding vector that is nearest to the speaker vector.

3. The system of claim 1 , wherein generating the speaker vector comprises:

applying mean pooling over the encoder vectors to generate the single vector.

4. The system of claim 1 , wherein the input audio data is a portion of an utterance, wherein the input audio data is preceded in the utterance by one or more other portions, and wherein generating the speaker vector comprises:

applying mean pooling over the encoder vectors for the input audio data and encoder vectors generated for the one or more other portions of the utterance to generate the single vector.

5. The system of claim 1 , wherein the encoder neural network is a convolutional neural network.

6. The system of claim 5 , wherein the encoder neural network has a dilated convolutional architecture.

7. The system of claim 1 , wherein the instructions further cause the one or more computers to implement:

the decoder neural network, wherein the decoder neural network is configured to:

receive a decoder input derived from the discrete latent representation of the input audio data, and

process the decoder input to generate a reconstruction of the input audio data, and wherein the subsystem is further configured to:

generate the decoder input, wherein the decoder input comprises, (i) for each of the latent variables, the content latent embedding vector that is nearest to the encoded vector for the latent variable in the encoder output and (ii) the speaker latent embedding vector that is nearest to the speaker vector, and

provide the decoder input as input to the decoder neural network to obtain the reconstruction of the input audio data.

8. The system of claim 7 , wherein the decoder neural network is an auto-regressive convolutional neural network that is configured to auto-regressively generate the reconstruction conditioned on the decoder input.

9. The system of claim 7 , wherein the reconstruction of the audio input data is a predicted companded and quantized representation of the audio input data.

10. A method of training an encoder neural network having a plurality of encoder network parameters and a decoder neural network having a plurality of decoder network parameters and of updating a set of content latent embedding vectors and a set of speaker latent embedding vectors, the method comprising:

receiving a training audio input;

processing the training audio input through the encoder neural network in accordance with current values of the encoder network parameters of the encoder neural network to generate a training encoder output that comprises a plurality of training encoded vectors, each training encoded vector corresponding to a different latent variable in a sequence of a plurality of for latent variables;

selecting, for each latent variable and from a plurality of current content latent embedding vectors currently stored in the memory, a current latent embedding vector that is nearest to the training encoded vector for the latent variable;

generating a training speaker vector by combining at least the plurality of training encoded vectors in the training encoder output into a single vector; and

selecting, from a plurality of current speaker latent embedding vectors currently stored in the memory, a current speaker latent embedding vector that is nearest to the training speaker vector that is generated by combining at least the plurality of training encoded vectors in the training encoder output generated by the encoder neural network into a single vector;

generating a training decoder input that includes the nearest current content latent embedding vectors and the nearest current speaker latent embedding vector;

processing the training decoder input through the decoder neural network in accordance with current values of the decoder network parameters of the decoder neural network to generate a training reconstruction of the training audio input;

determining a reconstruction update to the current values of the decoder network parameters and the encoder network parameters by determining a gradient with respect to the current values of the decoder network parameters and the encoder network parameters to optimize a reconstruction error between the training reconstruction and the training audio input; and

updating the current content latent embedding vectors and the current speaker latent embedding vectors based on the training speaker vector and the plurality of training encoded vectors in the training encoder output.

11. The method of claim 10 , wherein updating the current content latent embedding vectors and the current speaker latent embedding vectors comprises:

for each latent variable, determining an update to the nearest current content latent embedding vector for the latent variable by determining a gradient with respect to the nearest current latent embedding vector to minimize an error between the training encoded vector for the latent variable and the nearest current content latent embedding vector to the training encoded vector for the latent variable.

12. The method of claim 10 , wherein updating the current content latent embedding vectors and the current speaker latent embedding vectors comprises:

determining an update to the nearest current speaker latent embedding vector for the latent variable by determining a gradient with respect to the nearest current speaker latent embedding vector to minimize an error between the training speaker vector and the nearest current speaker latent embedding vector.

13. The method of claim 10 , further comprising:

for each latent variable, determining a respective commitment update to the current values of the encoder parameters by determining a gradient with respect to the current values of the encoder parameters to minimize a commitment loss between the training encoded vector for the latent variable and the nearest current content latent embedding vector to the training encoded vector for the latent variable.

14. The method of claim 10 , wherein determining the gradient with respect to the current values of the encoder network parameters comprises:

copying gradients from the decoder input to the encoder output without updating the current speaker latent embedding vectors or current content latent embedding vectors.

15. The method of claim 10 , wherein determining the gradient with respect to the current values of the encoder network parameters comprises:

determining a subgradient through the operations of selecting the nearest current latent embedding vector; and

using the subgradient to determine the gradient with respect to the current values of the encoder network parameters.

16. The method of claim 10 , further comprising:

processing the training decoder input through a pitch reconstruction neural network in accordance with current values of pitch reconstruction network parameters of the pitch reconstruction neural network to generate a training reconstruction of a pitch track of the training audio input; and

determining a pitch reconstruction update to the current values of the pitch reconstruction network parameters and the encoder network parameters by determining a gradient with respect to the current values of the pitch reconstruction network parameters and the encoder network parameters to optimize a reconstruction error between the training reconstruction of the pitch track and a ground truth pitch track of the training audio input.

17. The method of claim 16 , wherein the pitch reconstruction neural network is an auto-regressive convolutional neural network that is configured to auto-regressively generate the training reconstruction of the pitch track conditioned on the decoder input.

18. The method of claim 16 , wherein determining the gradient with respect to the current values of the encoder network parameters to optimize a reconstruction error between the training reconstruction of the pitch track and a ground truth pitch track of the training audio input comprises:

copying gradients from the reconstruction network input to the encoder output without updating the current speaker latent embedding vectors or current content latent embedding vectors.

19. The method of claim 16 , wherein determining the gradient with respect to the current values of the encoder network parameters to optimize a reconstruction error between the training reconstruction of the pitch track and a ground truth pitch track of the training audio input comprises:

determining a subgradient through the operations of selecting the nearest current latent embedding vector; and

using the subgradient to determine the gradient with respect to the current values of the encoder network parameters.

20. A method comprising:

receiving input audio data;

providing the input audio data as input to an encoder neural network wherein the encoder neural network is configured to:

receive the input audio data; and

process the input audio data to generate an encoder output that comprises a plurality of encoded vectors, each respective encoded vector of the plurality of encoded vectors corresponding to a respective different latent variable in a sequence of a plurality of latent variables; and

generating a discrete latent representation of the input audio data from the encoder output, comprising:

for each of the latent variables in the sequence of latent variables, determining, from the set of content latent embedding vectors in the memory, a content latent embedding vector that is nearest to the encoded vector corresponding to the latent variable;

generating a speaker vector by combining at least the plurality of encoded vectors in the encoder output generated by the encoder neural network into a single vector; and

determining, from the set of speaker latent embedding vectors in the memory, a speaker latent embedding vector from the set of speaker latent embedding vectors stored in the memory that is nearest to the speaker vector that is generated by combining at least the plurality of encoded vectors in the encoder output generated by the encoder neural network into a single vector, wherein:

the content latent embedding vectors in the set of content latent embedding vectors are learned during joint training of the encoder neural network and a decoder neural network; and

the speaker latent embedding vectors in the set of speaker latent embedding vectors are learned during the joint training of the encoder neural network and the decoder neural network.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2025
From: DEEPMIND TECHNOLOGIES LIMITED
To: GDM HOLDING LLC
Reel/Frame 071109/0414 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: GARBACEA, CRISTINA; VAN DEN OORD, AARON GERARD ANTONIUS; LI, YAZHE; LIM, SZE CHIE; LUEBS, ALEJANDRO; VINYALS, ORIOL; WALTERS, THOMAS CHADWICK
To: DEEPMIND TECHNOLOGIES LIMITED
Reel/Frame 051869/0913 →
Continuity (2)
Provisional Application 62793806 · Jan 17, 2019
Related Publication 20200234725A1 · Jul 23, 2020
Cited By (5)
US 12,205,605 US 12,225,239 US 12,518,455 US 12,518,773 US 12,530,568