• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2011 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License"); you may not
5  * use this file except in compliance with the License. You may obtain a copy of
6  * the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13  * License for the specific language governing permissions and limitations under
14  * the License.
15  */
16 package android.speech.tts;
17 
18 import android.os.Bundle;
19 
20 /**
21  * Contains data required by engines to synthesize speech. This data is :
22  * <ul>
23  *   <li>The text to synthesize</li>
24  *   <li>The synthesis locale, represented as a language, country and a variant.
25  *   The language is an ISO 639-3 letter language code, and the country is an
26  *   ISO 3166 alpha 3 code. The variant is not specified.</li>
27  *   <li>The synthesis speech rate, with 100 being the normal, and
28  *   higher values representing higher speech rates.</li>
29  *   <li>The voice pitch, with 100 being the default pitch.</li>
30  * </ul>
31  *
32  * Any additional parameters sent to the text to speech service are passed in
33  * uninterpreted, see the @code{params} argument in {@link TextToSpeech#speak}
34  * and {@link TextToSpeech#synthesizeToFile}.
35  */
36 public final class SynthesisRequest {
37     private final String mText;
38     private final Bundle mParams;
39     private String mLanguage;
40     private String mCountry;
41     private String mVariant;
42     private int mSpeechRate;
43     private int mPitch;
44 
SynthesisRequest(String text, Bundle params)45     public SynthesisRequest(String text, Bundle params) {
46         mText = text;
47         // Makes a copy of params.
48         mParams = new Bundle(params);
49     }
50 
51     /**
52      * Gets the text which should be synthesized.
53      */
getText()54     public String getText() {
55         return mText;
56     }
57 
58     /**
59      * Gets the ISO 3-letter language code for the language to use.
60      */
getLanguage()61     public String getLanguage() {
62         return mLanguage;
63     }
64 
65     /**
66      * Gets the ISO 3-letter country code for the language to use.
67      */
getCountry()68     public String getCountry() {
69         return mCountry;
70     }
71 
72     /**
73      * Gets the language variant to use.
74      */
getVariant()75     public String getVariant() {
76         return mVariant;
77     }
78 
79     /**
80      * Gets the speech rate to use. The normal rate is 100.
81      */
getSpeechRate()82     public int getSpeechRate() {
83         return mSpeechRate;
84     }
85 
86     /**
87      * Gets the pitch to use. The normal pitch is 100.
88      */
getPitch()89     public int getPitch() {
90         return mPitch;
91     }
92 
93     /**
94      * Gets the additional params, if any.
95      */
getParams()96     public Bundle getParams() {
97         return mParams;
98     }
99 
100     /**
101      * Sets the locale for the request.
102      */
setLanguage(String language, String country, String variant)103     void setLanguage(String language, String country, String variant) {
104         mLanguage = language;
105         mCountry = country;
106         mVariant = variant;
107     }
108 
109     /**
110      * Sets the speech rate.
111      */
setSpeechRate(int speechRate)112     void setSpeechRate(int speechRate) {
113         mSpeechRate = speechRate;
114     }
115 
116     /**
117      * Sets the pitch.
118      */
setPitch(int pitch)119     void setPitch(int pitch) {
120         mPitch = pitch;
121     }
122 }
123