IP Library › Granted Patent US 11,282,253
Granted Patent B2
US 11,282,253 · App. 16/588,329 · Granted Mar 22, 2022

Matching audio to a state-space model for pseudorandom animation

Inventors: Gurunandan Krishnan Gorumkonda (Seattle, WA); Shree K. Nayar (New York, NY)
Assignee: Snap Inc.
G06T13/205G06T13/80G10L25/57
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,282,253
App. No.
16/588,329
Granted
Mar 22, 2022
Kind
B2
Abstract

Methods, devices, media, and other embodiments are described for generating pseudorandom animations matched to audio data on a device. In one embodiment a video is generated and output on a display of the device using a computer animation model. Audio is detected from a microphone of the device, and the audio data is processed to determine a set of audio characteristics for the audio data received at the microphone of the device. A first motion state is randomly selected from the plurality of motion states, one or more motion values of the first motion state are generated using the set of audio characteristics, and the video is updated using the one or more motion values with the computer animation model to create an animated action within the video.

Claims (79)

1. A method comprising:

accessing, using one or more processors of a device, a computer animation model, the computer animation model comprising a plurality of motion states;

generating a video output on a display of the device using the computer animation model;

detecting audio data from a microphone of the device;

determining a set of audio characteristics for the audio data received at the microphone of the device, the set of audio characteristics comprising a tempo value;

selecting a first motion state from the plurality of motion states;

generating one or more motion values of the first motion state using the set of audio characteristics;

selecting a motion pattern speed for a first control point of the computer animation model to match a first harmonic of the tempo value;

updating the video output using the one or more motion values with the computer animation model to create an animated action within the video output;

periodically randomly selecting a new motion state from the plurality of motion states;

generating one or more new motion values of the new motion state using the set of audio characteristics; and

updating the video using the one or more new motion values with the new motion state to change the animated action within the video.

2. The method of claim 1 further comprising updating the set of audio characteristics over time in response to changes in the audio data; and

updating the one or more motion values in response to changes in the set of audio characteristics over time.

3. The method of claim 2 wherein the computer animation model is associated with one or more audio animation criteria used to initiate the animated action within the video.

4. The method of claim 3 further comprising:

comparing the set of audio characteristics with the one or more audio animation criteria; and

selecting a default state for the computer animation model when the set of audio characteristics does not meet the one or more audio animation criteria, wherein the plurality of motion states does not include the default state.

5. The method of claim 1 wherein the set of audio characteristics comprises an audio energy value; and

wherein the first motion state is randomly selected from a subset of the plurality of motion states based on the audio energy value, wherein the subset of the plurality of motion states comprise an audio energy match characteristic associated with the audio energy value.

6. The method of claim 5 wherein the set of audio characteristics further comprises a beat value, a tempo value, a melody value, and a danceability value.

7. The method of claim 6 wherein the audio energy value and the danceability value are based on a beat consistency over time value and a fundamental frequency value associated with a melody of the audio data.

8. The method of claim 1 wherein the computer animation model is associated with N, wherein N comprises the plurality of motion states;

wherein

N =( B×C ) A

such that A comprises control points, B comprises motion patterns, and C comprises tempo harmonics.

9. The method of claim 8 , wherein each motion state M N of the plurality of motion states is assigned a corresponding probability such that a probability mass function P( ) of the probability value assigned to said each motion state is:

P ( M 1 ,M 2 ,M 3 . . . M N-1 ,M N )=1; and

wherein selecting the first motion state from the plurality of motion states is based on a corresponding probability value P(M 1 ) for the first motion state.

10. A device comprising:

a memory comprising a computer animation model, the computer animation model comprising a plurality of motion states; and

one or more processors coupled to the memory and configured to perform operations comprising:

generating a video output on a display of the device using the computer animation model;

detecting audio data from a microphone of the device;

determining a set of audio characteristics for the audio data received at the microphone of the device, the set of audio characteristics comprising a tempo value;

randomly selecting a first motion state from the plurality of motion states;

generating one or more motion values of the first motion state using the set of audio characteristics;

selecting a motion pattern speed for a first control point of the computer animation model to match a first harmonic of the tempo value;

updating the video output using the one or more motion values with the computer animation model to create an animated action within the video output;

periodically randomly selecting a new motion state from the plurality of motion states;

generating one or more new motion values of the new motion state using the set of audio characteristics; and

updating the video using the one or more new motion values with the new motion state to change the animated action within the video.

11. The device of claim 10 further comprising updating the set of audio characteristics over time in response to changes in the audio data; and

updating the one or more motion values in response to changes in the set of audio characteristics over time.

12. The device of claim 10 wherein the computer animation model is associated with one or more audio animation criteria used to initiate the animated action within the video; and

wherein the one or more processors are further configured to perform operations comprising:

comparing the set of audio characteristics with the one or more audio animation criteria; and

selecting a default state for the computer animation model when the set of audio characteristics does not meet the one or more audio animation criteria, wherein the plurality of motion states does not include the default state.

13. A non-transitory computer readable medium comprising instructions that, when executed by processing circuitry of a device, cause the device to perform operations of a method comprising:

accessing a computer animation model, the computer animation model comprising a plurality of motion states;

generating a video output on a display of the device using the computer animation model;

detecting audio data from a microphone of the device;

determining a set of audio characteristics for the audio data received at the microphone of the device, the set of audio characteristics comprising a tempo value;

selecting a first motion state from the plurality of motion states;

generating one or more motion values of the first motion state using the set of audio characteristics;

selecting a motion pattern speed for a first control point of the computer animation model to match a first harmonic of the tempo value;

updating the video output using the one or more motion values with the computer animation model to create an animated action within the video output;

periodically randomly selecting a new motion state from the plurality of motion states;

generating one or more new motion values of the new motion state using the set of audio characteristics; and

updating the video using the one or more new motion values with the new motion state to change the animated action within the video.

14. The non-transitory medium of claim 13 wherein the set of audio characteristics comprises a tempo value;

wherein the set of audio characteristics comprises an audio energy value;

wherein the first motion state is randomly selected from a subset of the plurality of motion states based on the audio energy value, wherein the subset of the plurality of motion states comprise an audio energy match characteristic associated with the audio energy value; and

wherein the set of audio characteristics further comprises a beat value, a tempo value, a melody value, and a danceability value.

15. The non-transitory medium of claim 14 , further comprising:

selecting the first motion state from a subset of the plurality of motion states based on the audio energy value, wherein the subset of the plurality of motion states comprises an audio energy match characteristic associated with an audio energy value,

wherein the set of audio characteristics further comprises a beat value, a tempo value, a melody value, and a danceability value.

16. The non-transitory medium of claim 15 , wherein the audio energy value and the danceability value are based on a beat consistency over time value and a fundamental frequency value associated with a melody of the audio data.

17. The non-transitory medium of claim 13 , wherein the computer animation model is associated with one or more audio animation criteria used to initiate the animated action within the video.

18. The non-transitory medium of claim 13 , further comprising:

comparing the set of audio characteristics with the one or more audio animation criteria; and

selecting a default state for the computer animation model when the set of audio characteristics does not meet the one or more audio animation criteria, wherein the plurality of motion states does not include the default state.

19. The non-transitory medium of claim 13 , wherein the computer animation model is associated with N, wherein N comprises the plurality of motion states;

wherein

N =( B×C ) A

A comprises control points, B comprises motion patterns, and C comprises tempo harmonics.

20. The non-transitory medium claim 19 , wherein each motion state M N of the plurality of motion states is assigned a corresponding probability such that a probability mass function P( ) of the probability value assigned to said each motion state is:

P ( M 1 ,M 2 ,M 3 . . . M N-1 ,M N )=1; and

wherein randomly selecting the first motion state from the plurality of motion states is based on a corresponding probability value P(M 1 ) for the first motion state.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2021
From: GORUMKONDA, GURUNANDAN KRISHNAN; NAYAR, SHREE K.
To: SNAP INC.
Reel/Frame 056427/0402 →
Continuity (1)
Related Publication 20210097742A1 · Apr 1, 2021
Cited By (8)
US 12,277,632 US 12,293,444 US 12,299,793 US 12,488,525 US 12,573,122 US 12,620,157 US 12,646,240 US 12,675,930