Closed Bug 1185233 Opened 10 years ago Closed 3 years ago

Implement SpeechRecognition::continuous

Categories

(Core :: Web Speech, defect)

defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: kdavis, Unassigned)

References

Details

(Whiteboard: [webspeechapi][vaani][systemsfe])

Currently SpeechRecognition::continuous is not implemented.
Assignee: nobody → kdavis
Whiteboard: [webspeechapi][vaani][systemsfe]
Likely the best way of doing this is to wait until Bug 1051604 is resolved, then to lower the VAD when SpeechRecognition::continuous to true to allow for longer utterances to be recognized.
Depends on: 1051604
Assignee: kdavis → nobody
Assignee: nobody → kdavis
Comment 1 is not sufficiently detailed as to the implementation direction. In the next two comments I will give a better picture of the two major implementation possibilities.
Possibility 1 ============= The spec[1] implies of the continuous parameter.... 1. The default value MUST be false. 2. If false, the user agent MUST return no more than one final result in response to starting recognition. 3. If true, the user agent MUST return zero or more final results representing multiple consecutive recognitions in response to starting recognition. The current behaviour of the Pocketsphinx implementation returns no more than one final result in response to starting recognition and thus behaves as if continuous were false. Thus to implement continuous one must add behaviour which mimics the continuous is true case described above. A simple means of doing so is as follows: If continuous is true, do not modify the current behaviour. As the current behaviour of the Pocketsphinx implementation returns no more than one final result in response to starting recognition, the current behaviour, in particular, returns zero or more final results representing multiple consecutive recognitions in response to starting recognition. Thus a simple means of implementing the continuous parameter is to 1. Set the default value of the continuous parameter to false 2. Ignore all subsequent values of the continuous parameter [1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html#dfn-continuous
Possibility 2 ============= The spec[1] implies of the continuous parameter.... 1. The default value MUST be false. 2. If false, the user agent MUST return no more than one final result in response to starting recognition. 3. If true, the user agent MUST return zero or more final results representing multiple consecutive recognitions in response to starting recognition. The current behaviour of the Pocketsphinx implementation returns no more than one final result in response to starting recognition and thus behaves as if continuous were false. Thus to implement continuous one must add behaviour which mimics the continuous is true case described above. A simple means of doing so is as follows: If continuous is true and a final result was dispatched, internally call start() again on the apropos SpeechRecognition. instance. As the current behaviour of the Pocketsphinx implementation returns no more than one final result in response to starting recognition, the current behaviour will, on each successful call to start(), respond with one final result. If an internal call is added that, on the dispatch of a final result, calls start() again when continuous is true, then the behaviour of the implementation will be to return zero or more final results representing multiple consecutive recognitions in response to starting recognition when continuous is true. Thus, a simple means of implementing the continuous parameter is to 1. Set the default value of the continuous parameter to false 2. If continuous is true and a final result was dispatched, then internally call start() on the apropos SpeechRecognition instance. There is slight detail that one must be careful not re-parse the grammar in step 2 above, but this should be trivial to implement. [1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html#dfn-continuous
Possibility 1, comment 3, adheres to the letter but not the spirit of the spec[1]. Possibility 2, comment 4, adheres to the letter and the spirit of the spec[1]. So I will implement possibility 2 baring any unforeseen problems. [1] https://dvcs.w3.org/hg/speech-api/raw-file/tip/webspeechapi.html#dfn-continuous
Any progress? :)
Unfortunately, I haven't had time and likely won't until at least after the all-hands meeting in Dec :-(

The bug assignee didn't login in Bugzilla in the last 7 months.
:anatal, could you have a look please?
For more information, please visit auto_nag documentation.

Assignee: kdavis → nobody
Flags: needinfo?(anatal)
Status: NEW → RESOLVED
Closed: 3 years ago
Flags: needinfo?(anatal)
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.