IP Library Granted Patent US 6,999,922
Granted Patent B2
US 6,999,922 · App. 10/607,639 · Granted Feb 14, 2006

Synchronization and overlap method and system for single buffer speech compression and expansion

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 6,999,922
App. No.
10/607,639
Granted
Feb 14, 2006
Kind
B2
Abstract

The present invention ( 110 ) permits a user to speed up and slow down speech without changing the speakers pitch ( 102, 110, 112, 128, 402–416 ). It is a user adjustable feature to change the spoken rate to the listeners' preferred listening rate or comfort. It can be included on the phone as a customer convenience feature without changing any characteristics of the speakers voice besides the speaking rate with soft key button ( 202 ) combinations (in interconnect or normal). From the users perspective, it would seem only that the talker changed his speaking rate, and not that the speech was digitally altered in any way. The pitch and general prosody of the speaker are preserved. The following uses of the time expansion/compression feature are listed to compliment already existing technologies or applications in progress including messaging services, messaging applications and games, real-time feature to slow down the listening rate.

Claims (32)

1. An electronic device for playing audio at user selectable rates comprising:

an audio output module coupled to a single circular fixed-length outbound audio buffer for playing audio therefrom through a speaker, wherein the audio is stored as a series of sequential time-based audio samples, which are portioned into sequential frames;

a first modulo pointer for modulo indexing into the circular fixed-length outbound audio buffer where a first portion of audio samples is indexed;

a second modulo pointer for modulo indexing into the circular fixed-length outbound audio buffer where a second portion of the audio samples is indexed so that the first portion and the second portion of the audio samples are sequential in time;

a cross correlation function for determining a position of maximum correlation between the first portion of the audio samples and the second portion of the audio samples;

a third modulo pointer for modulo indexing into the circular fixed-length outbound audio buffer at the position of maximum correlation; and

a SOLA (Synchronized OverLap and Add) function with a selectable rate variable, the SOLA function operating on the first portion of the audio samples and the second portion of the audio samples with an output of the SOLA function being written in the circular fixed-length outbound audio buffer at a starting position of the third modulo pointer.

2. The device of claim 1 , further comprising:

an audio loopback path to present audio received from a user via an audio input module to the circular fixed-length outbound audio buffer of the audio output module so that audio is capable of being heard by a user.

3. The device of claim 2 , wherein the audio output module includes:

a vocoder for detecting a word rate in the audio loopback path using at least one of:

an energy decision metric;

a voicing decision metric; and

a tonality measure.

4. The device of claim 3 , wherein the word rate is used to set the selectable rate variable.

5. The device of claim 1 , further comprising:

a user input interface for receiving a user selection for adjusting the selectable rate variable.

6. The device of claim 5 , wherein the user input interface for receiving a user selection includes a selection for increasing the selectable rate variable of audio loopback and a selection for decreasing the selectable rate variable of audio loopback.

7. The device of claim 1 , further comprising a receiver for receiving the selectable rate variable from a second device.

8. The device of claim 1 , further comprising:

a copying function for inserting a copy of the first portion the audio samples in between the first portion and the second portion of the audio samples so as to be sequential in time there between.

9. A computer readable medium containing programming instructions for executing on an electronic device with an audio output module, the programming instructions comprising:

storing as a series of sequential time-based audio samples, which are portioned into sequential frames in a single circular fixed-length outbound audio buffer for playing audio therefrom through a speaker;

indexing into the circular fixed-length outbound audio buffer with a first modulo pointer where a first portion of audio samples is indexed;

indexing into the circular fixed-length outbound audio buffer with a second modulo pointer to a second portion of the audio samples is indexed so that the first portion and the second portion of the audio samples are sequential in time;

determining a position of maximum correlation between the first portion of the audio samples and the second portion of the audio samples;

indexing into the circular fixed-length outbound audio buffer with a third modulo pointer to the position of maximum correlation; and

executing a SOLA (Synchronized OverLap and Add) function with a selectable rate variable, the SOLA function operating on the first portion of the audio samples and the second portion of the audio samples with an output of the SOLA function being written in the circular fixed-length outbound audio buffer at a starting position of the third modulo pointer.

10. The computer readable medium according to claim 9 , further comprising

receiving via a user input interface a user selection for adjusting the selectable rate variable.

11. The computer readable medium according to claim 9 further

comprising: receiver for receiving a rate variable from a second device.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034417/0001 →
CHANGE OF NAME Recorded Oct 2, 2012
From: MOTOROLA MOBILITY, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 029216/0282 →