IP Library Granted Patent US 7,788,097
Granted Patent B2
US 7,788,097 · App. 11/554,960 · Granted Aug 31, 2010

Multiple sound fragments processing and load balancing

Assignee: Nuance Communications, Inc.
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 7,788,097
App. No.
11/554,960
Granted
Aug 31, 2010
Kind
B2
Abstract

A method, system and article of manufacture of recognizing a voice command. One embodiment of the invention comprises: receiving a voice input; using the number of sound fragments, determining a number of sound fragments to be processed in a first set of sound fragments; determining whether the first set of sound fragments of the voice input matches with the first set of sound fragments of a voice command; and if the first set of sound fragments matches with the first set of sound fragments of the voice command, then determining whether one or more remaining sound fragments matches with one or more remaining sound fragments of the voice command.

Claims (66)

1. A method, comprising:

receiving a voice input;

selecting a first set of sound fragments of the voice input;

determining, via at least one processor, whether the first set of sound fragments of the voice input matches with a first set of sound fragments of a voice command; and

if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding one or more remaining sound fragments of the voice input.

2. The method of claim 1 , wherein determining whether the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command is performed by a first processing system that comprises the at least one processor.

3. The method of claim 1 , further comprising:

if the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command, then determining whether one or more remaining sound fragments of the voice input matches with one or more remaining sound fragments of the voice command;

wherein determining whether the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command is performed by a first processing system that comprises the at least one processor; and

wherein determining whether the one or more remaining sound fragments of the voice input matches with the one or more remaining sound fragments of the voice command is performed by a second processing system.

4. The method of claim 3 , wherein the first set of sound fragments of the voice input depends on a load of the first processing system and a load of the second processing system.

5. The method of claim 3 , wherein selecting the first set of sound fragments of the voice input comprises:

monitoring a load of the first processing system and a load of the second processing system; and

selecting the first set of sound fragments of the voice input based on the load of the first processing system and the load of the second processing system, wherein the size of the first set of sound fragments of the voice input is reduced when the load of the first processing system exceeds a predefined threshold.

6. The method of claim 3 , further comprising if the one or more remaining sound fragments of the voice input matches with the one or more remaining sound fragments of the voice command, then invoking an action for which the voice command is configured.

7. The method of claim 3 , further comprising if the one or more remaining sound fragments of the voice input does not match with the one or more remaining sound fragments of the voice command, then discarding the voice input.

8. The method of claim 1 , further comprising if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding the voice input and processing a subsequent voice input.

9. A method comprising:

receiving a voice input;

selecting, by a load manager, first set of sound fragments of the voice input;

determining, by a first processing system, comprising at least one processor, whether the first set of sound fragments of the voice input matches with a first set of sound fragments of a voice command; and

if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding one or more remaining sound fragments of the voice input.

10. The method of claim 9 , further comprising:

if the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command, then determining, by a second processing system, whether one or more remaining sound fragments of the voice input matches with one or more remaining sound fragments of the voice command.

wherein the first set of sound fragments of the voice input depends on a load of the first processing system and a load of the second processing system.

11. A non-transitory computer readable medium containing a program which, when executed, performs an operation, comprising:

receiving a voice input;

selecting a first set of sound fragments of the voice input;

determining whether the first set of sound fragments of the voice input matches with a first set of sound fragments of a voice command; and

if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding one or more remaining sound fragments of the voice input.

12. The non-transitory computer readable medium of claim 11 , wherein determining whether the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command is performed by a first processing system.

13. The non-transitory computer readable medium of claim 11 , further comprising:

if the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command, then determining whether one or more remaining sound fragments of the voice input matches with one or more remaining sound fragments of the voice command;

wherein determining whether the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command is performed by a first processing system; and

wherein determining whether the one or more remaining sound fragments of the voice input matches with the one or more remaining sound fragments of the voice command is performed by a second processing system.

14. The non-transitory computer readable medium of claim 13 , wherein the first set of sound fragments of the voice input depends on a load of the first processing system and a load of the second processing system.

15. The non-transitory computer readable medium of claim 13 , wherein selecting the first set of sound fragments of the voice input comprises;

monitoring a load of the first processing system and a load of the second processing system; and

selecting the first set of sound fragments of the voice input based on the load of the first processing system and the load of the second processing system, wherein the size of the first set of sound fragments of the voice input is reduced when the load of the first processing system exceeds a predefined threshold.

16. The non-transitory computer readable medium of claim 13 , wherein the operation further comprises if the one or more remaining sound fragments of the voice input matches with the one or more remaining sound fragments of the voice command, then invoking an action for which the voice command is configured.

17. The non-transitory computer readable medium of claim 13 , wherein the operation further comprises if the one or more remaining sound fragments of the voice input does not match with the one or more remaining sound fragments of the voice command, then discarding the voice input.

18. The non-transitory computer readable medium of claim 11 , wherein the operation further comprises if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding the voice input and processing a subsequent voice input.

19. A non-transitory computer readable medium containing a program which, when executed, performs an operation, comprising:

receiving a voice input;

selecting, by a load manager, a first set of sound fragments of the voice input;

determining, by a first processing system, whether the first set of sound fragments of the voice input matches with a first set of sound fragments of a voice command; and

if the first set of sound fragments of the voice input does not match with the first set of sound fragments of the voice command, then discarding one or more remaining sound fragments of the voice input.

20. The non-transitory computer readable medium of claim 19 , the operation further comprising:

if the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command, then determining, by a second processing system, whether one or more remaining sound fragments of the voice input matches with one or more remaining sound fragments of the voice command,

wherein the first set of sound fragments of the voice input depends on a load of the first processing system and a load of the second processing system.

21. A voice command recognition system, comprising:

a load manager configured for selecting a first set of sound fragments of a voice input;

a first processing system comprising:

a memory containing a first voice command recognition program; and

a processor which, when executing the first voice command recognition program, performs an operation comprising:

receiving the voice input;

determining whether the first set of sound fragments of the voice input matches with a first set of sound fragments of a voice command; and

if the first set of sound fragments of the voice input matches with the first set of sound fragments of the voice command, then forwarding the voice input to a second processing system; and

the second processing system comprising;

a memory containing a second voice command recognition program; and

a processor which, when executing the second voice command recognition program, performs an operation comprising:

receiving the voice input from the first processing system; and

determining whether one or more remaining sound fragments of the voice input matches with one or more remaining sound fragments of the voice command.

22. The system of claim 21 , wherein the first set of sound fragments of the voice input selected by the load manager depends on a load of the first processing system and a load of the second processing system.

23. The system of claim 21 , wherein the first set of sound fragments of the voice input selected by the load manager depends on a load of the first processing system and a load of the second processing system; and wherein the size of the first set of sound fragments of the voice input is reduced when the load of the first processing system exceeds a predefined threshold.

24. The system of claim 21 , wherein the operation of the second processing system further comprises: if the one or more remaining sound fragments of the voice input matches with the one or more remaining sound fragments of the voice command, then invoking an action for which the voice command is configured.

Assignments (2)
NUNC PRO TUNC ASSIGNMENT Recorded Apr 8, 2010
From: MCINTYRE, JOSEPH HERBERT; MOORE, VICTOR S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024204/0535 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2009
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: NUANCE COMMUNICATIONS, INC.
Reel/Frame 022330/0088 →
Continuity (2)
Continuation 1016497200 · Jun 6, 2002
Related Publication 20070088551A1 · Apr 19, 2007