Home | History | Annotate | Download | only in speech

Lines Matching defs:utterance

66 // Utterance
70 int Utterance::next_utterance_id_ = 0;
72 Utterance::Utterance(Profile* profile)
83 Utterance::~Utterance() {
87 void Utterance::OnTtsEvent(TtsEventType event_type,
101 void Utterance::Finish() {
105 void Utterance::set_options(const Value* options) {
134 void TtsController::SpeakOrEnqueue(Utterance* utterance) {
135 // If we're paused and we get an utterance that can't be queued,
137 if (paused_ && !utterance->can_enqueue()) {
143 if (paused_ || (IsSpeaking() && utterance->can_enqueue())) {
144 utterance_queue_.push(utterance);
147 SpeakNow(utterance);
151 void TtsController::SpeakNow(Utterance* utterance) {
154 GetVoices(utterance->profile(), &voices);
155 int index = GetMatchingVoice(utterance, voices);
159 // speech synthesizer a chance to try to synthesize the utterance
170 current_utterance_ = utterance;
171 utterance->set_extension_id(voice.extension_id);
172 ExtensionTtsEngineSpeak(utterance, voice);
176 utterance->Finish();
177 delete utterance;
185 utterance->id(),
186 utterance->text(),
187 utterance->lang(),
189 utterance->continuous_parameters());
194 GetPlatformImpl()->LoadBuiltInTtsExtension(utterance->profile())) {
195 utterance_queue_.push(utterance);
200 utterance->OnTtsEvent(TTS_EVENT_ERROR, kInvalidCharIndex,
202 delete utterance;
205 current_utterance_ = utterance;
258 // already finished the utterance (for example because another utterance
301 // Start speaking the next utterance in the queue. Keep trying in case
304 Utterance* utterance = utterance_queue_.front();
306 SpeakNow(utterance);
317 Utterance* utterance = utterance_queue_.front();
320 utterance->OnTtsEvent(TTS_EVENT_CANCELLED, kInvalidCharIndex,
323 utterance->Finish();
324 delete utterance;
344 const Utterance* utterance, std::vector<VoiceData>& voices) {
352 if (!utterance->extension_id().empty() &&
353 utterance->extension_id() != voice.extension_id) {
358 !utterance->voice_name().empty() &&
359 voice.name != utterance->voice_name()) {
362 if (!voice.lang.empty() && !utterance->lang().empty()) {
364 std::string utterance_lang = utterance->lang();
374 utterance->gender() != TTS_GENDER_NONE &&
375 voice.gender != utterance->gender()) {
379 if (utterance->required_event_types().size() > 0) {
382 utterance->required_event_types().begin();
383 iter != utterance->required_event_types().end();