Hybrid TTS Engine Caching Speech Units for Latency and Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing speech synthesis technologies face challenges in providing high-quality speech on mobile devices with limited storage space, as they often rely on either local or network-based TTS engines, leading to poor quality and storage limitations.

Innovation Solution

A hybrid embedded and network-based TTS engine system that uses smart prefetching and caching of speech units, allowing the local engine to fetch additional units on demand and manage storage efficiently by prioritizing frequently used speech units and pruning less necessary ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If network-based TTS engine is used, then speech quality is improved, but network latency and dependency on always-on connection worsen

Engineering Contradiction:
Improvespeech qualityVSAvoidnetwork latency
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The voice model is segmented into multiple parts (first portion and second portion), with the first portion stored locally on the device and the second portion stored on the server. This segmentation allows the system to use the locally stored first portion for immediate speech synthesis without network latency, while still accessing the complete voice model quality by fetching the second portion when needed and storage space is available.

Inventive Principle:
Principle #1Segmentation

2Speed

If local TTS engine is used, then response time is improved, but speech quality and coverage worsen

Engineering Contradiction:
Improveresponse timeVSAvoidspeech quality
Core Design Contradiction:
SpeedVSMeasurement precision

Solution Approach 1:

The system performs preliminary action by storing the first portion of the voice model locally on the device before speech synthesis is needed. This allows the local TTS engine to immediately synthesize speech using the locally stored portion, achieving fast response times. The system is prepared in advance to fetch the second portion from the server when storage space becomes available, combining the speed of local processing with the quality of the complete model.

Inventive Principle:
Principle #10Preliminary action

3Measurement precision

If complete voice model is stored locally, then speech quality is improved, but device storage requirements worsen

Engineering Contradiction:
Improvespeech qualityVSAvoidstorage space
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The voice model is divided into segments (first portion and second portion), with only the essential first portion stored locally on the device. This segmentation allows the system to maintain speech quality by accessing the complete model when needed (fetching the second portion from server) while minimizing local storage requirements to only the critical first portion.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements a universal approach where the TTS engine can function with the incomplete local model by fetching additional portions from the server when needed. The local first portion serves multiple purposes: enabling immediate speech synthesis, providing base quality, and allowing the system to operate in both offline and online modes, thus reducing storage requirements while maintaining versatility.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS11335320B2System and method for distributed voice models across cloud and device for embedded text-to-speech
Publication Date: 2022.05.17 AT&T INTELLECTUAL PROPERTY I L P
  • US11335320B2 patent drawing
  • US11335320B2 patent drawing
  • US11335320B2 patent drawing

AI summary

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 speech units that are required for synthesizing speech. The system can request from a server the text-to-speech unit needed to synthesize the speech. The system can then synthesize speech using text-to-speech units already stored and a received text-to-speech unit from the server.