IP Library Granted Patent US 9,218,804
Granted Patent B2
US 9,218,804 · App. 14/025,344 · Granted Dec 22, 2015

System and method for distributed voice models across cloud and device for embedded text-to-speech

Inventors: Benjamin J. Stern (Morris Township, NJ); Mark Charles Beutnagel (Mendham, NJ); Alistair D. Conkie (Morristown, NJ); Horst J. Schroeter (New Providence, NJ); Amanda Joy Stent (Chatham, NJ)
Assignee: AT&T Intellectual Property I, L.P.
G10L13/07
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 9,218,804
App. No.
14/025,344
Granted
Dec 22, 2015
Kind
B2
Abstract

Systems, methods, and computer-readable storage media for intelligent caching of concatenative speech units for use in speech synthesis. A system configured to practice the method can identify a speech synthesis context, and determine, based on a local cache of text-to-speech units for a text-to-speech voice and based on the speech synthesis context, additional text-to-speech units which are not in the local cache. The system can request from a server the additional text-to-speech units, and store the additional text-to-speech units in the local cache. The system can then synthesize speech using the text-to-speech units and the additional text-to-speech units in the local cache. The system can prune the cache as the context changes, based on availability of local storage, or after synthesizing the speech. The local cache can store a core set of text-to-speech units associated with the text-to-speech voice that cannot be pruned from the local cache.

Claims (54)

1. A method comprising:

identifying, via a processor, a speech synthesis context;

determining, based on a local cache of text-to-speech units for a text-to-speech voice and based on the speech synthesis context, additional text-to-speech units which are not in the local cache;

requesting from a server the additional text-to-speech units;

receiving the additional text-to-speech units from the server; and

synthesizing speech using the text-to-speech units and the additional text-to-speech units.

2. The method of claim 1 , further comprising:

storing the additional text-to-speech units in the local cache; and

pruning the local cache after synthesizing the speech.

3. The method of claim 2 , wherein the local cache stores a core set of text-to-speech units associated with the text-to-speech voice that cannot be pruned from the local cache.

4. The method of claim 1 , wherein identifying the speech synthesis context comprises:

receiving a request to synthesize speech.

5. The method of claim 1 , further comprising:

determining parameters relating to speech synthesis; and

determining, based on the parameters, how many additional text-to-speech units to request.

6. The method of claim 1 , wherein the local cache of text-to-speech units comprises speech snippets for use in concatenative synthesis.

7. The method of claim 1 , further comprising:

beginning to synthesize speech using only the local cache of text-to-speech units before receiving the additional text-to-speech units; and

continuing to synthesize speech using the local cache of text-to-speech units and the additional text-to-speech units as the additional text-to-speech units are received and stored in the local cache.

8. A system comprising:

a processor; and

a computer-readable medium having instructions which, when executed by the processor, cause the processor to perform operations comprising:

identifying a speech synthesis context;

determining, based on a local cache of text-to-speech units for a text-to-speech voice and based on the speech synthesis context, additional text-to-speech units which are not in the local cache;

requesting from a server the additional text-to-speech units;

storing the additional text-to-speech units in the local cache; and

synthesizing speech using the text-to-speech units and the additional text-to-speech units in the local cache.

9. The system of claim 8 , wherein the computer-readable medium stores further instructions which result in further operations comprising:

pruning the local cache after synthesizing the speech.

10. The system of claim 9 , wherein the local cache stores a core set of text-to-speech units associated with the text-to-speech voice that cannot be pruned from the local cache.

11. The system of claim 8 , wherein identifying the speech synthesis context comprises:

receiving a request to synthesize speech.

12. The system of claim 8 , wherein the computer-readable medium stores further instructions which result in further operations comprising:

determining parameters relating to speech synthesis; and

determining, based on the parameters, how many additional text-to-speech units to request.

13. The system of claim 8 , wherein the local cache of text-to-speech units comprises speech snippets for use in concatenative synthesis.

14. The system of claim 8 , wherein the computer-readable medium stores further instructions which result in further operations comprising:

beginning to synthesize speech using only the local cache of text-to-speech units before receiving the additional text-to-speech units; and

continuing to synthesize speech using the local cache of text-to-speech units and the additional text-to-speech units as the additional text-to-speech units are received and stored in the local cache.

15. A non-transitory computer-readable storage medium storing instructions which cause a processor to perform operations comprising:

identifying, via a processor, a speech synthesis context;

determining, based on a local cache of text-to-speech units for a text-to-speech voice and based on the speech synthesis context, additional text-to-speech units which are not in the local cache;

requesting from a server the additional text-to-speech units;

storing, in a storage device, the additional text-to-speech units in the local cache; and

synthesizing speech using the text-to-speech units and the additional text-to- speech units in the local cache.

16. The computer-readable storage medium of claim 15 , wherein further instructions are stored which caused the processor to perform further operations comprising:

pruning the local cache after synthesizing the speech.

17. The computer-readable storage medium of claim 16 , wherein the local cache stores a core set of text-to-speech units associated with the text-to-speech voice that cannot be pruned from the local cache.

18. The computer-readable storage medium of claim 15 , wherein identifying the speech synthesis context comprises:

receiving a request to synthesize speech.

19. The computer-readable storage medium of claim 15 , wherein further instructions are stored which caused the processor to perform further operations comprising:

determining parameters relating to speech synthesis; and

determining, based on the parameters, how many additional text-to-speech units to request.

20. The computer-readable storage medium of claim 15 , wherein the local cache of text-to-speech units comprises speech snippets for use in concatenative synthesis.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2013
From: STERN, BENJAMIN J.; BEUTNAGEL, MARK CHARLES; CONKIE, ALISTAIR D.; SCHROETER, HORST J.; STENT, AMANDA JOY
To: AT&T INTELLECTUAL PROPERTY I, L.P.
Reel/Frame 031195/0695 →
Continuity (1)
Related Publication 20150073805A1 · Mar 12, 2015