| // Copyright 2015 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| [DartPackage="mojo_services", JavaPackage="org.chromium.mojo.speech_recognizer"] |
| module speech_recognizer; |
| |
| enum Error { |
| NETWORK_TIMEOUT = 1, |
| NETWORK = 2, |
| AUDIO = 3, |
| SERVER = 4, |
| CLIENT = 5, |
| SPEECH_TIMEOUT = 6, |
| NO_MATCH = 7, |
| RECOGNIZER_BUSY = 8, |
| INSUFFICIENT_PERMISSIONS = 9 |
| }; |
| |
| struct UtteranceCandidate { |
| // Utterance text candidate returned by speech recognition service. |
| string text; |
| |
| // Confidence score in [0,1]. |
| float confidence_score; |
| }; |
| |
| union ResultOrError { |
| Error error_code; |
| array<UtteranceCandidate> results; |
| }; |
| |
| // |SpeechRecognizerService| provides access to a speech recognition service. |
| // It is responsible for reading microphone input, deciding when the user is |
| // done speaking, and performing speech recognition on the result. |
| interface SpeechRecognizerService { |
| // Starts listening to the user. When listening has finished or an error |
| // occurs, returns |result_or_error|. Any call to Listen() made while another |
| // is in progress will immediately return an error. |
| Listen() => (ResultOrError result_or_error); |
| |
| // Stops the SpeechRecognizer from listening and finishes any previous call |
| // to Listen() causing it to return. |
| StopListening(); |
| }; |