IP Library › Granted Patent US 12,283,284
Granted Patent B2
US 12,283,284 · App. 17/748,882 · Granted Apr 22, 2025

Method and system for real-time and low latency synthesis of audio using neural networks and differentiable digital signal processors

Inventors: Lamtharn Hantrakul (Singapore, SG); David Trevelyan (London, GB); Haonan Chen (Beijing, CN); Matthew David Avent (London, GB); Janne Jayne Harm Renée Spijkervet (London, GB)
Assignee: LEMON INC.
G10L21/0264G10L21/04G10L25/18G10L19/00G10L25/90
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 12,283,284
App. No.
17/748,882
Granted
Apr 22, 2025
Kind
B2
Abstract

Example aspects include techniques for implementing real-time and low-latency synthesis of audio. These techniques may include generating a frame by sampling audio input in increments equal to a buffer size of until a threshold corresponding to a frame size used to train a machine learning (ML) model is reached, detecting feature information within the frame, determining, by the ML model, control information for audio reproduction based on the feature information. In addition, the techniques may include generating filtered noise information by inverting the noise magnitude control information using an overlap and add technique, generating, based on the control information, additive harmonic information by combining a plurality of scaled wavetables, and rendering audio output based on the filtered noise information and the additive harmonic information.

Claims (73)

1. A method of audio processing comprising:

generating a frame by sampling audio input in increments, which are based on a first buffer size associated with an input/output buffer of a host device, until a threshold buffer size, corresponding to a frame size used to train a machine learning model, is reached, wherein the first buffer size does not match the threshold buffer size;

extracting, from the frame, amplitude information, pitch information, and pitch status information;

determining, by the machine learning model, control information for audio reproduction based on the amplitude information, the pitch information, and the pitch status information, the control information including pitch control information and noise magnitude control information;

generating filtered noise information by inverting the noise magnitude control information using an overlap and add technique, including:

receiving the noise magnitude control information according to the frame size from the machine learning model;

rendering the filtered noise information in a block size not equal to the frame size;

writing, via the overlap and add technique, the filtered noise information to a circular buffer; and

reading, in the first buffer size, the filtered noise information from the circular buffer;

generating, based on the pitch control information, additive harmonic information by combining a plurality of scaled wavetables; and

rendering audio output based on the filtered noise information and the additive harmonic information.

2. The method of claim 1 , further comprising applying latency compensation to the amplitude information, the pitch information, and the pitch status information prior to determining the control information.

3. The method of claim 1 , wherein the frame is a first frame, the pitch control information includes harmonic distribution information, and harmonic amplitude information, and generating the additive harmonic information comprises:

converting, via a fast Fourier transformation, the harmonic distribution information into a first dynamic wavetable;

determining a first scaled wavetable of the plurality of scaled wavetables based on the harmonic amplitude information and the first dynamic wavetable; and

linearly crossfading the first scaled wavetable with a second scaled wavetable of the plurality of scaled wavetables, the second scaled wavetable associated with a second frame.

4. The method of claim 3 , wherein the plurality of scaled wavetables are stored in a double buffer having a first memory position storing the first scaled wavetable and a second memory position storing the second scaled wavetable and configured to overwrite the first scaled wavetable in the first memory position with a third scaled wavetable of the plurality of scaled wavetables based on a portion of the audio output corresponding to the first scaled wavetable being reproduced.

5. The method of claim 3 , wherein determining the first scaled wavetable comprises:

determining the first scaled wavetable based at least in part by filtering first wavetable above a detected pitch within the pitch information.

6. The method of claim 1 , further comprising applying latency compensation to the filtered noise information and the additive harmonic information prior to rendering the audio output.

7. The method of claim 1 , wherein the pitch control information includes harmonic distribution information, and the determining the control information for the audio reproduction comprises:

determining that the pitch status information indicates that the audio input is not pitched; and

zeroing the harmonic distribution information based on the pitch status information.

8. The method of claim 1 , wherein determining the control information for the audio reproduction comprises:

determining the control information based on a model sample rate used to train the machine learning model;

determining a target sample rate of the host device; and

removing a portion of the pitch control information and/or the noise magnitude control information in excess of the target sample rate based on the target sample rate being less than the model sample rate.

9. The method of claim 1 , further comprising:

receiving, via a user interface, a mix input value indicating a relationship for mixing the filtered noise information and the additive harmonic information within the audio output; and

wherein rendering the audio output comprises smoothing a gain applied to the rendering of the audio output based on the mix input value.

10. The method of claim 1 , further comprising modifying, based on user input, the amplitude information before determining the control information.

11. A non-transitory computer-readable device having instructions thereon that, when executed by at least one computing device, causes the at least one computing device to perform operations comprising:

generating a frame by sampling audio input in increments, which are based on a first buffer size associated with an input/output buffer of a host device, until a threshold buffer size, corresponding to a frame size used to train a machine learning model, is reached, wherein the first buffer size does not match the threshold buffer size;

extracting, from the frame, amplitude information, pitch information, and pitch status information;

determining, by the machine learning model, control information for audio reproduction based on the amplitude information, the pitch information, and the pitch status information, the control information including pitch control information and noise magnitude control information;

generating filtered noise information by inverting the noise magnitude control information using an overlap and add technique, including:

receiving the noise magnitude control information according to the frame size from the machine learning model;

rendering the filtered noise information in a block size not equal to the frame size:

writing, via the overlap and add technique, the filtered noise information to a circular buffer; and

reading, in the first buffer size, the filtered noise information from the circular buffer;

generating, based on the pitch control information, additive harmonic information by combining a plurality of scaled wavetables; and

rendering audio output based on the filtered noise information and the additive harmonic information.

12. The non-transitory computer-readable device of claim 11 , wherein the operations further comprise applying latency compensation to the amplitude information, the pitch information, and the pitch status information prior to determining the control information.

13. The non-transitory computer-readable device of claim 11 , wherein the frame is a first frame, the pitch control information includes harmonic distribution information, and harmonic amplitude information, and generating the additive harmonic information comprises:

converting, via a fast Fourier transformation, the harmonic distribution information into a first dynamic wavetable;

determining a first scaled wavetable of the plurality of scaled wavetables based on the harmonic amplitude information and the first dynamic wavetable; and

linearly crossfading the first scaled wavetable with a second scaled wavetable of the plurality of scaled wavetables, the second scaled wavetable associated with a second frame.

14. The non-transitory computer-readable device of claim 11 , wherein the instructions further comprise applying latency compensation to the filtered noise information and the additive harmonic information prior to rendering the audio output.

15. The non-transitory computer-readable device of claim 11 , wherein determining the control information for the audio reproduction comprises:

determining the control information based on a model sample rate used to train the machine learning model;

determining a target sample rate of the host device; and

removing a portion of the pitch control information and/or the noise magnitude control information in excess of the target sample rate based on the target sample rate being less than the model sample rate.

16. A system comprising:

an audio capture device;

a speaker,

a memory storing instructions thereon; and

at least one processor coupled with the memory and configured by the instructions to:

capture audio input via the audio capture device,

generate a frame by sampling the audio input in increments, which are based on a first buffer size associated with an input/output buffer of a host device, until a threshold buffer size, corresponding to a frame size used to train a machine learning model, is reached, wherein the first buffer size does not match the threshold buffer size;

extract, from the frame, amplitude information, pitch information, and pitch status information;

determine, by the machine learning model, control information for audio reproduction based on the amplitude information, the pitch information, and the pitch status information, the control information including pitch control information and noise magnitude control information;

filter the noise magnitude control information using an overlap and add technique to generate filtered noise information, including

receiving the noise magnitude control information according to the frame size from a machine learning model:

rendering the filtered noise information in a block size not equal to the frame size:

writing, via the overlap and add technique, the filtered noise information to a circular buffer; and

reading, in the first buffer size, the filtered noise information from the circular buffer:

generate, based on the pitch control information, additive harmonic information by combining a plurality of scaled wavetables;

render audio output based on the filtered noise information and the additive harmonic information; and

reproduce the audio output via the speaker.

17. The system of claim 16 , wherein the frame is a first frame, the pitch control information includes harmonic distribution information and harmonic amplitude information, and to generate the additive harmonic information, the at least one processor is further configured by the instructions to:

convert, via a fast Fourier transformation, the harmonic distribution information into a first dynamic wavetable;

determine a first scaled wavetable of the plurality of scaled wavetables based on the harmonic amplitude information and the first dynamic wavetable; and

linearly crossfade the first scaled wavetable with a second scaled wavetable of the plurality of scaled wavetables, the second scaled wavetable associated with a second frame.

Assignments (6)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: HANTRAKUL, LAMTHARN
To: TIKTOK PTE. LTD.
Reel/Frame 066163/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: TREVELYAN, DAVID; AVENT, MATTHEW DAVID; SPIJKERVET, JANNE JAYNE HARM RENÉE
To: TIKTOK INFORMATION TECHNOLOGIES UK LIMITED
Reel/Frame 066163/0596 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: CHEN, HAONAN
To: MIYOU INTERNET TECHNOLOGY (SHANGHAI) CO., LTD.
Reel/Frame 066163/0700 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: TIKTOK PTE. LTD.
To: LEMON INC.
Reel/Frame 066164/0070 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: TIKTOK INFORMATION TECHNOLOGIES UK LIMITED
To: LEMON INC.
Reel/Frame 066164/0122 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 18, 2024
From: MIYOU INTERNET TECHNOLOGY (SHANGHAI) CO., LTD.
To: LEMON INC.
Reel/Frame 066164/0172 →
Continuity (1)
Related Publication 20230377591A1 · Nov 23, 2023
References Cited (8)
US 6963833B1 · Singhal · 2005 [cited by examiner]
US 20010023396A1 · Gersho · 2001 [cited by examiner]
US 20150142456A1 · Lowe · 2015 [cited by examiner]
US 20220013132A1 · Engel et al. · 2022 [cited by applicant]
WO WO2019139430A1 · 2019 [cited by examiner]
Engel et al., “DDSP: Differentiable Digital Signal Processing,” International Conference on Learning Representations 2020, Jan. 14, 2020, 19 pages. [cited by applicant]
International Search Report in PCT/SG2023/050315, mailed Oct. 24, 2023, 3 pages. [cited by applicant]
Shan et al., “Differentiable Wavetable Synthesis,” ICASSP 2022, Feb. 13, 2022, 6 pages. [cited by applicant]