US 7,526,505 B2
Methods and systems for synchronizing visualizations with audio streams
Tedd Dideriksen, Woodinville, Wash. (US); Chris Feller, Bellevue, Wash. (US); Geoffrey Harris, Seattle, Wash. (US); Michael J. Novak, Redmond, Wash. (US); and Kipley J. Olson, Seattle, Wash. (US)
Assigned to Microsoft Corporation, Redmond, Wash. (US)
Filed on Oct. 18, 2004, as Appl. No. 10/967,606.
Application 10/967606 is a continuation of application No. 09/817902, filed on Mar. 26, 2001, granted, now 7,072,908.
Prior Publication US 2005/0069151 A1, Mar. 31, 2005
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 17/00 (2006.01); G06F 17/30 (2006.01)
U.S. Cl. 707—104.1  [707/1; 707/201; 715/203] 16 Claims
OG exemplary drawing
 
1. A computing device for synchronizing a visualization with audio samples, the computing device comprising:
one or more computer-readable storage media;
one or more processors;
computer-readable instructions on the one or more computer-readable storage media which, when executed by the one or more processors, cause the one or more processors to provide a system comprising:
one or more audio sources configured to provide audio samples that are to be rendered by a media player;
an audio sample pre-processor communicatively linked with the one or more audio sources and configured to receive and pre-process audio samples before the audio samples are rendered, the pre-processing providing characterizing data associated with each audio sample, wherein the characterizing data is derived from the audio samples, and wherein the audio sample preprocessor comprises a timestamp module that provides a timestamp for each audio sample by querying a media player audio sample renderer for a time associated with an audio sample that is currently being rendered and using the time to ascertain the timestamp, each timestamp being maintained by a data structure associated with the audio sample and configured to hold the characterizing data, and wherein the audio sample pre-processor further comprises a Fast Fourier Transform that it utilizes to process the audio samples to provide frequency data associated with the audio samples; and
one or more effects configured to receive the characterizing data and use the characterizing data to automatically create a visualization that is synchronized with an audio sample that is being rendered by the media player.