- From: Bjorn Bringert <bringert@google.com>
- Date: Thu, 30 Jun 2011 18:33:49 +0100
- To: public-xg-htmlspeech@w3.org
>From today's call:
- Agreement: Add a nomatch event, with interface
SpeechInputResultEvent, and remove the SPEECH_INPUT_ERR_NO_MATCH error
code.
- Not agreed: Maybe add a nospeech event, with interface Event and
remove the SPEECH_INPUT_ERR_NO_SPEECH error code.
- Not agreed: Maybe add a aborted event, with interface Event and
remove the SPEECH_INPUT_ERR_ABORTED error code.
/Bjorn
On Thu, Jun 30, 2011 at 12:57 PM, Bjorn Bringert <bringert@google.com> wrote:
> Here is a first draft of IDL and semantics for the speech recognition
> events in the web app API.
>
> This does not include the events needed for continuous recognition, as
> that is part of Debbie's work item.
>
> == IDL ==
>
> interface SpeechInputRequest {
> // ... other speech recognition functionality ...
>
> attribute Function onaudiostart;
> attribute Function onsoundstart;
> attribute Function onspeechstart;
> attribute Function onspeechend;
> attribute Function onsoundend;
> attribute Function onaudioend;
> attribute Function onresult;
> attribute Function onerror;
> };
> SpeechInputRequest implements EventTarget;
>
> interface SpeechInputResultEvent : Event {
> readonly attribute SpeechInputResult result;
> };
>
> interface SpeechInputErrorEvent : Event {
> readonly attribute SpeechInputError error;
> };
>
> interface SpeechInputError {
> const unsigned short SPEECH_INPUT_ERR_OTHER = 0;
>
> // The following code have not been agreed. I include them anyway to
> have a list to start with.
> // This is roughly a union of the error code sets from the Microsoft
> and Google proposals.
>
> // Speech was detected, but it could not be recognized.
> const unsigned short SPEECH_INPUT_ERR_NO_MATCH = 1;
> // No speech was detected.
> const unsigned short SPEECH_INPUT_ERR_NO_SPEECH = 2;
> // Speech input was aborted by calling cancel(), or by some
> UA-specific behavior such as
> // UI that lets the user cancel speech input.
> const unsigned short SPEECH_INPUT_ERR_ABORTED = 3;
> // Audio capture failed.
> const unsigned short SPEECH_INPUT_ERR_AUDIO_CAPTURE = 4;
> // Some network communication that was required to complete the
> recognition failed.
> const unsigned short SPEECH_INPUT_ERR_NETWORK = 5;
> // The user agent is not allowing any speech input to occur for
> reasons of security, privacy or user preference.
> const unsigned short SPEECH_INPUT_ERR_NOT_ALLOWED = 6;
> // The user agent is not allowing the web application requested
> speech service, but would allow some speech service,
> // to be used either because the user agent doesn't support the
> selected one or because of reasons of security, privacy
> // or user preference.
> const unsigned short SPEECH_INPUT_ERR_SERVICE_NOT_ALLOWED = 7;
> // There was an error in the speech recognition grammar.
> const unsigned short SPEECH_INPUT_ERR_BAD_GRAMMAR = 8;
> const unsigned short SPEECH_INPUT_ERR_LANGUAGE_NOT_SUPPORTED = 9;
>
> // One of the constants above.
> readonly attribute unsigned short code;
> // The message attribute must return an error message describing the
> details of the error encountered.
> // The message content is implementation specific. This attribute is
> primarily intended for debugging and
> // developers should not use it directly in their application user interface.
> readonly attribute DOMString message;
> };
>
> interface SpeechInputResult {
> // Debbie's work item
> };
>
>
> == Description ==
>
> The DOM Level 2 Event Model is used for speech recognition events. The
> methods in the EventTarget interface should be used for registering
> event listeners. The SpeechInputRequest interface also contains
> convenience attributes for registering a single event handler for each
> event type.
>
> For all these events, the timeStamp attribute defined in the DOM Level
> 2 Event interface must be set to the best possible estimate of when
> the real-world event which the event object represents occurred.
>
> Unless specified below, the ordering of the different events is
> undefined. For example, some implementations may fire audioend before
> speechstart or speechend if the audio detector is client-side and the
> speech detector is server-side.
>
>
> == List of events ==
>
> For each event, we list the name, the interface of the event object,
> and a description.
>
> audiostart, interface: Event
> Fired when the user agent has started to capture audio.
>
> soundstart, interface: Event
> Some sound, possibly speech, has been detected. This must be fired
> with low latency, e.g. by using a client-side energy detector.
>
> speechstart, interface: Event
> The speech that will be used for speech recognition has started.
>
> speechend, interface: Event
> The speech that will be used for speech recognition has ended.
> speechstart must always have been fire before speechend.
>
> soundend, interface: Event
> Some sound is no longer detected. This must be fired with low latency,
> e.g. by using a client-side energy detector. soundstart must always
> have been fired before soundend.
>
> audioend, interface: Event
> Fired when the user agent has finished capturing audio. audiostart
> must always have been fired before audioend.
>
> result, interface: SpeechInputResultEvent
> Fired when the speech recognizer returns a final result with at least
> one recognition hypothesis. The result field in the event contains the
> speech recognition result. All the following events must have been
> fired before result is fired: audiostart, soundstart, speechstart,
> speechend, soundend, audioend.
>
> error, interface: SpeechInputErrorEvent
> Fired when a speech recognition error occurs. The error attribute is
> set to a SpeechInputError object.
> After an error event is fired, no further events will be fired for the
> given speech input request.
>
>
>
>
> --
> Bjorn Bringert
> Google UK Limited, Registered Office: Belgrave House, 76 Buckingham
> Palace Road, London, SW1W 9TQ
> Registered in England Number: 3977902
>
--
Bjorn Bringert
Google UK Limited, Registered Office: Belgrave House, 76 Buckingham
Palace Road, London, SW1W 9TQ
Registered in England Number: 3977902
Received on Thursday, 30 June 2011 17:42:01 UTC