IRC log of htmlspeech on 2011-11-03

Timestamps are in UTC.

15:13:00 [RRSAgent]
RRSAgent has joined #htmlspeech
15:13:00 [RRSAgent]
logging to http://www.w3.org/2011/11/03-htmlspeech-irc
15:13:42 [burn]
zakim, I am Daniel_Burnett
15:13:42 [Zakim]
sorry, burn, I do not see a party named 'Daniel_Burnett'
15:14:14 [burn]
Present+ Daniel_Burnett
15:16:36 [smaug]
smaug has joined #htmlspeech
15:17:36 [smaug]
hi
15:28:28 [smaug]
Zakim, smaug is Olli_Pettay
15:28:28 [Zakim]
sorry, smaug, I do not recognize a party named 'smaug'
15:28:52 [smaug]
well, how am I then o_O
15:29:05 [smaug]
s/how/who/
15:31:53 [burn]
burn has changed the topic to: agenda: http://www.w3.org/2005/Incubator/htmlspeech/2011/11/f2f/agenda.html (burn)
15:32:50 [burn]
Chair: Daniel_Burnett,Michael_Bodell
16:01:57 [smaug]
pong
16:06:13 [burn]
zakim, code?
16:06:13 [Zakim]
the conference code is 773324 (tel:+1.617.761.6200 sip:zakim@voip.w3.org), burn
16:06:32 [mbodell]
mbodell has joined #htmlspeech
16:07:03 [Zakim]
Team_(HTMLSpeech)12:00PM has now started
16:07:10 [Zakim]
+tpac
16:07:55 [burn]
trackbot, start telcon
16:08:23 [trackbot]
RRSAgent, make logs public
16:08:27 [trackbot]
Zakim, this will be
16:08:27 [Zakim]
I don't understand 'this will be', trackbot
16:08:29 [trackbot]
Meeting: HTML Speech Incubator Group Teleconference
16:08:31 [trackbot]
Date: 03 November 2011
16:09:01 [Zakim]
+[IPcaller]
16:09:19 [smaug]
Zakim, [IPcaller] is Olli_Pettay
16:09:19 [Zakim]
+Olli_Pettay; got it
16:09:39 [smaug]
Zakim, nick smaug is Olli_Pettay
16:09:39 [Zakim]
ok, smaug, I now associate you with Olli_Pettay
16:17:46 [ddahl_]
ddahl_ has joined #htmlspeech
16:20:13 [Milan]
Milan has joined #HtmlSpeech
16:20:32 [Milan]
Topic: Introductions
16:20:37 [glen]
glen has joined #htmlspeech
16:22:59 [DanD]
DanD has joined #htmlspeech
16:23:22 [nagesh]
nagesh has joined #htmlspeech
16:25:23 [Milan]
Topic: Review recently sent examples
16:26:11 [DanD]
http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Oct/att-0064/speechwepapi_1_.html#introduction
16:26:16 [mbodell]
http://bantha.org/~mbodell/speechxg/example1.html
16:27:57 [Milan]
Michael: Speech Web Search Markup only
16:29:37 [Milan]
Robert: Found addGrammarFrom() is awkward
16:30:16 [Milan]
... really a hint
16:30:33 [Milan]
Glen: True that input has no grammar
16:31:16 [Milan]
Michael: It's a builtin grammar
16:31:34 [Milan]
Robert: What about derviveGrammarFrom
16:31:42 [Milan]
Glen: It's an append grammar
16:32:23 [Milan]
DanD: Option might be a better example
16:33:03 [Milan]
Michael: Text is a grammar
16:34:00 [Milan]
Robert: Assume q is an object from which a grammar can be derived
16:34:09 [smaug]
Nit, <button name="mic" onclick="speechClick()"> is a submit button, so when you click it, the form is submitted. type="button" would fix the problem
16:34:18 [Milan]
DanB: addDerivedGrammar
16:34:42 [Milan]
Debbie: Figgure out semantics first
16:35:38 [Milan]
Robert: AddDerivedGrammarFromID
16:35:56 [Milan]
Glen: Also rename q to 'inputField'
16:37:50 [Milan]
Glen: Also from text input type to date or somethign more contrained
16:38:36 [Milan]
... Need to specify the lack of grammars
16:38:47 [Milan]
... Is this dictation?
16:39:34 [Milan]
Robert: improve example by defaulting to UTF-8
16:40:11 [glen]
Section 5.1: when no grammar specified, defaults to builtin:dictation
16:40:31 [Milan]
Robert: Base 64 encoding is ugly
16:41:12 [Milan]
... to the point where it is unsualbe
16:41:40 [Milan]
Michael: Worried about directly inserting XML due to 8th bit
16:42:43 [Milan]
DanB: Are there already common protocols for inserting strings derived from URLs into local variables?
16:43:16 [Milan]
Glen: Should only be a W3C standard, implmentation is orthoginal
16:44:45 [Milan]
Robert: AddFromString() would be nice:?
16:45:14 [Milan]
Glen: addStringGrammar() and addElementGrammar()
16:45:22 [matt]
matt has joined #htmlspeech
16:45:22 [Milan]
Avery: Perfer longer name because its truer to form
16:45:24 [ehlen]
ehlen has joined #htmlspeech
16:46:09 [smaug]
Couldn't you just prepend "data:application/srgs+xml," to the serialized XML. But anyway, using data urls is kind of hackish, IMO.
16:47:11 [Milan]
Robert: Too many dots to get the interpretation
16:48:15 [Milan]
Milan: Propose addGramamrFromURI()
16:49:25 [Milan]
Robert: Newing up a speech grammar is better approach
16:51:56 [Milan]
Michael: Let's just raise issues now rather than solve them
16:53:02 [Milan]
Debbie: Example is complex, and gets mixed up with arguement that JS is complex
16:53:50 [Milan]
* laptop?
16:55:03 [Milan]
Michael: Next example from Bjorn
16:56:56 [Milan]
Robert: The example lacks a grammar
16:57:11 [smaug]
s/onclick="startSpeech"/onclick="startSpeech(event)"/
16:57:18 [DanD]
http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/att-0008/web-speech-sample-code.html
16:58:45 [Milan]
Robert: Need to define what happens when lacking a grammar
16:59:12 [Milan]
Avery: Is there a policy against comments in the examples?
16:59:39 [Milan]
Michael: Planning on adding that to an appendix
17:00:52 [Milan]
Avery: It's a decent example, as long as it is clear that this instance lacks a grammar
17:01:11 [Milan]
Robert: Example shows default behavior
17:02:03 [Milan]
Rahul: Could also delete button as means of shorting example
17:02:29 [glen]
per Avery's suggestion: add a comment "since no grammar is specified and no element is binded, uses default grammar builtin:dictation"
17:03:28 [burn]
s/adding that to/adding examples to/
17:03:54 [Milan]
Rahul: Two different ways to perform same array access
17:04:02 [Milan]
Glen: Should make it consistent in example
17:06:18 [mbodell]
In Bjorn's second example need sir.maxNBest = 2;
17:06:19 [glen]
use same notation: s/q.value = event.result.item(0).interpretation;/q.value = event.result[0].interpretation;/
17:07:14 [Milan]
Robert: Intent is to get a text transcript of the user's input
17:07:42 [Milan]
... why are we accessing the interpretation instead of tokens?
17:10:24 [Milan]
Milan: Need to bring this up in protocol team
17:11:17 [Milan]
<all agreed> to replace to "utterance" in place of interpretation
17:12:01 [Avery]
Avery has joined #htmlspeech
17:12:40 [Milan]
Milan: Last two comments should apply here as well
17:15:12 [Milan]
Milan: Should we have company-specific references?
17:15:22 [Milan]
Michael: Prefer example.org
17:15:54 [Milan]
Robert: Is there speech recognition in turn by turn>
17:16:17 [Milan]
Michael: Speech recognition is just destination capture
17:16:38 [smaug]
Again, s/onclick="startSpeech"/onclick="startSpeech(event)"/
17:17:14 [Milan]
Robert: The prefer speek next instruction should cancel last instruction
17:17:47 [Milan]
Glen: Thought the purpose of example was to show interplay between speech and tts?
17:18:13 [Milan]
Michael: TTS play resumes where last left off
17:18:41 [Milan]
Glen: Way to stop prior play is a good feature
17:19:15 [Milan]
... we should change this example
17:19:44 [glen]
change example to show how to stop, by persisting the tts object and calling stop before adding .text and .play
17:21:13 [Milan]
Michael: Ollie example next
17:21:25 [mbodell]
http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/att-0009/htmlspeech_permission_example.html
17:24:44 [Milan]
Micahel: First example is just removing unauthorized elements?
17:25:12 [Milan]
... but second example doesn't allow speech input to start
17:25:13 [Milan]
Ollie: Yes
17:25:56 [Milan]
Michael: Can you transition from not authorized to authorized?
17:26:14 [Milan]
Ollie: Should be possible, but example doesn't do that
17:27:13 [Milan]
... but could also just reload the page
17:27:56 [Milan]
* Going on break now
17:30:24 [burn]
s/Topic: Introductions/ScribeNick: Milan/
17:51:11 [ddahl_]
scribe:ddahl
17:51:19 [ddahl_]
topic: Robert's example
17:51:46 [ddahl_]
robert: two recognitions in a row, you want to pick your cities based on what state you're in.
17:52:19 [rahul]
rahul has joined #htmlspeech
17:52:52 [Avery]
Actually I think it's based on what state is specified in the first reco, not necessarily what state you're in. A minor nit.
17:52:56 [ddahl_]
robert: it really should say "interpretation.state", not just "interpretation"
17:53:35 [ddahl_]
...used push instead of adding things to the array of speech grammars
17:55:41 [ddahl_]
robert: a bug on result, should be city, also, sr.onMatch should be sr.onResult
17:56:20 [ddahl_]
robert: second example is rereco
17:57:35 [ddahl_]
...gives grammars to speechInputRequest, then classifies, then does rereco with a specific grammar
17:58:12 [ddahl_]
glenn: this seems to be a strange use of "interpretation"
17:58:27 [ddahl_]
robert: there is a huge universe of grammars
17:58:50 [ddahl_]
rahul: this is identifying one grammar as different from the others
17:59:15 [ddahl_]
robert: using the attribute "modal" to activate and deactivate grammars
17:59:43 [ddahl_]
...would change the example to get interpretation.classification
18:00:27 [ddahl_]
...strange to have multiple "modals" as true, think modal might be a bad idea
18:01:01 [ddahl_]
topic: speech-enabled email
18:01:46 [ddahl_]
michael: one interesting thing is that you might get notifications that you would want to speak to, but without clicking
18:02:22 [ddahl_]
robert: was mostly thinking about things like "reply", but you could also imagine saying "read it to me" after notification
18:02:47 [ddahl_]
...made up a method to cancel TTS
18:03:24 [ddahl_]
michael: you could just delete the element
18:03:36 [ddahl_]
robert: what if you set up the element with stuff in it?
18:03:49 [ddahl_]
glenn: destroy should not be to only way to cancel
18:05:44 [ddahl_]
topic: Milan's example of protocol
18:06:12 [ddahl_]
milan: will augment with API calls that trigger protocols
18:07:34 [glen]
glen has joined #htmlspeech
18:07:46 [ddahl_]
...need a result index of some kind
18:08:12 [ddahl_]
...then recognizer decides to change its mind and reorders results
18:10:26 [ddahl_]
...strange to get a "complete" result in the middle of a long dictation
18:11:29 [ddahl_]
...result index 0 is the first fragment, then halfway through the second fragment, the recognizer says the first one is done
18:11:51 [ddahl_]
...different from MRCP, because in MRCP that means it's the end of it
18:12:41 [ddahl_]
...then retracts a result, not sure how to represent this, maybe an "IN_PRO
18:12:59 [ddahl_]
...GRESS" message with no payload
18:13:30 [ddahl_]
... we will put this in the larger document as an example of the protocol
18:14:02 [ddahl_]
topic: michael johnston's multimodal use case
18:14:19 [smaug]
Could you please paste links to the example here
18:14:21 [ddahl_]
michael: "I want to go from here to there" is the use case
18:14:40 [smaug]
( would be then easier to read minutes later )
18:15:39 [mbodell]
Michael's example: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/att-0020/multimodal_example.html
18:16:15 [mbodell]
You can walk through the examples from: http://bantha.org/~mbodell/speechxg/f2f.html which links to http://bantha.org/~mbodell/speechxg/examples.html which then walks through the examples
18:16:30 [ddahl_]
glenn: it would be good to have a "state" attribute
18:17:12 [ddahl_]
...the "nomatch" state is more of a result, not a state
18:17:42 [ddahl_]
...we may need more than one attribute to get results of speech processing
18:18:21 [ddahl_]
michael: this also has the EMMA so that you can see the mapping from EMMA
18:18:37 [ddahl_]
...this example makes use of a remote speech service
18:19:11 [glen]
http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/att-0020/multimodal_example.html
18:19:24 [ddahl_]
...the EMMA shows the combined speech and gui input
18:20:13 [ddahl_]
robert: this should be a wss: , that is, a web socket protocol, but what should we do if someone uses http?
18:21:40 [ddahl_]
michael: you could get the command right but not the person if you didn't do the "clickInfo"
18:22:02 [howard]
howard has joined #htmlspeech
18:22:27 [ddahl_]
topic: Charles Hemphill's example
18:22:27 [glen]
http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/0024.html
18:23:00 [ddahl_]
danD: we should start with the simplest example
18:24:21 [ddahl_]
topic: Michael Bodell's example 8, translation
18:24:31 [glen]
http://bantha.org/~mbodell/translate.html
18:24:41 [glen]
view-source:http://bantha.org/~mbodell/translate.html
18:24:42 [ddahl_]
michael: different example of translation
18:25:15 [ddahl_]
...there's from and to languages, you choose, and then click on microphone to talk
18:25:45 [ddahl_]
...there's a progress bar that get's updated
18:26:26 [ddahl_]
...we're grabbing our language from the selector, we're using a dictation grammar for whatever language we're using
18:26:43 [ddahl_]
...where are we doing capture?
18:26:57 [ddahl_]
glen: wouldn't that be the microphone?
18:27:14 [ddahl_]
michael: not necessarily, there could be other things like media streams
18:27:58 [ddahl_]
glen: is capture necessary or does it just provide more features?
18:28:52 [ddahl_]
michael: we didn't have any examples of capture from other places, like from Web RTC
18:29:13 [ddahl_]
...right now there's no standard for accessing microphone
18:29:40 [ddahl_]
glen: would like to see default example where we don't have to explicitly do capture
18:30:11 [ddahl_]
michael: all examples assume that there's magic for capturing audio
18:30:28 [ddahl_]
glen: can't we make it so that the magic is what happens by default?
18:30:50 [ddahl_]
dan: there are many security and privacy issues
18:31:13 [ddahl_]
...different permissions for getting access to media but also to do something to the media
18:32:00 [ddahl_]
michael: this is also raised in some of our issues, we only have a two sentence note now
18:32:22 [ddahl_]
...can TTS work on Web Sockets?
18:32:25 [ddahl_]
robert: yes
18:33:25 [ddahl_]
michael: on audio start, etc. are in our spec. another issue is that payload of start, stop events isn't defined
18:33:56 [ddahl_]
robert:: do we have VU meter events?
18:34:14 [ddahl_]
michael: no
18:34:25 [ddahl_]
dan: that came up in Web RTC, they don't have that, but they could create it
18:34:43 [ddahl_]
michael: we do have speech-x events for custom extensions
18:34:57 [ddahl_]
robert: most speech apps have one
18:35:11 [ddahl_]
michael: is that part of the UA or the app?
18:35:32 [ddahl_]
topic: Debbie's example
18:35:52 [ddahl_]
multi-slot filling
18:35:56 [mbodell]
Debbie's: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/att-0031/Multi-slotSpeech1.html
18:36:16 [DanD]
DanD has joined #htmlspeech
18:37:43 [ddahl_]
debbie: in this example you have to pull out the slot values from the EMMA
18:38:54 [ddahl_]
robert: is this the same as saying "interpretation.booking"?
18:39:21 [ddahl_]
debbie: not sure
18:39:50 [ddahl_]
... we don't know what's in "interpretation"
18:40:48 [ddahl_]
robert: we could get rid of "interpretation"
18:41:16 [ddahl_]
michael: it could be a useful pointer into the EMMA
18:41:57 [ddahl_]
michael: that is available in VXML
18:42:38 [mbodell]
Issue: we should make sure it is clear what the interpretation points to
18:42:38 [trackbot]
Created ISSUE-1 - We should make sure it is clear what the interpretation points to ; please complete additional details at http://www.w3.org/2005/Incubator/htmlspeech/track/issues/1/edit .
18:43:36 [ddahl_]
michael: should do an if to make sure that you really got a value
18:44:21 [ddahl_]
debbie: could add the EMMA
18:44:57 [ddahl_]
...would there be value in some kind of convenience syntax so that you don't need the full DOM generality to manipulate the EMMA result?
18:44:57 [mbodell]
Charles' example: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/0033.html
18:45:18 [ddahl_]
topic: another example from Charles Hemphill
18:45:36 [ddahl_]
michael: the same example as before but with an external grammar
18:46:12 [ddahl_]
avery: what's the advantage of having "reco" element as a child under "input"
18:46:54 [ddahl_]
michael: there are two different ways to do the same thing, with "reco" under "child" you don't need an id
18:47:07 [smaug]
<input> element can't have child elements
18:47:22 [ddahl_]
s/"child"/ as a "child" under <input>
18:48:00 [kaz]
kaz has joined #htmlspeech
18:48:12 [ddahl_]
actually, input is a child of reco in the proposal
18:48:37 [smaug]
My comments to example 3 http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Nov/0034.html
18:48:57 [ddahl_]
michael: another example with a real inline grammar so that you don't have to do data uri
18:49:38 [ddahl_]
michael: we would have to define a "grammar" tag
18:49:54 [ddahl_]
robert: we would have to define for browsers how to interpret SRGS
18:50:25 [ddahl_]
avery: like putting script in page vs an external reference
18:50:44 [smaug]
Milan: remember, we're talking about HTML here, not XML
18:50:55 [smaug]
(I assume that was Milan)
18:51:13 [ddahl_]
milan: could we say "as long as this is valid XML ignore it and pass it to us"?
18:51:34 [ddahl_]
robert: why wrap the whole thing with the grammar element?
18:51:57 [ddahl_]
michael: if there's an SRGS 1.1, you wouldn't know what version it was, for example
18:52:30 [ddahl_]
...would like to have inline grammar, if any, be full SRGS with <grammar> element
18:53:22 [ddahl_]
michael: that is the end of the examples
18:55:15 [ddahl_]
rrsagent, format minutes
18:55:15 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html ddahl_
18:55:23 [Milan]
* Good point Ollie
18:55:40 [Zakim]
-Olli_Pettay
18:57:32 [howard]
howard has left #htmlspeech
19:24:19 [rahul]
rahul has left #htmlspeech
19:42:35 [burn]
burn has joined #htmlspeech
20:05:14 [glen]
glen has joined #htmlspeech
20:05:20 [glen]
scribenick: glen
20:05:42 [glen]
topic: issues
20:07:38 [Zakim]
+??P0
20:07:47 [smaug]
Zakim, ??P0 is Olli_Pettay
20:07:48 [Zakim]
+Olli_Pettay; got it
20:08:00 [glen]
burnett: if can't agree, depends on importance. If important, capture different opinions in doc.
20:08:38 [nagesh]
nagesh has joined #htmlspeech
20:08:41 [glen]
...(not required to resolve everything in incubator group)
20:08:46 [mbodell]
First issue to discuss: http://bantha.org/~mbodell/speechxg/issuep1.html
20:09:42 [DanD]
DanD has joined #htmlspeech
20:09:54 [glen]
1. What Content-Type do we want to use on an empty message? Use case was nulling out previous candidate recognition.
20:10:14 [glen]
milan: do we have to specify? can it be assumed?
20:10:36 [glen]
...empty means no payload?
20:11:11 [glen]
robert: protocol doesn't require a body
20:11:34 [glen]
...in which case I don't think it needs a content type. Example getParams
20:11:49 [glen]
michael: what about interim results?
20:12:59 [ehlen]
ehlen has joined #htmlspeech
20:13:41 [glen]
...if no content and not content type then nulls out corresponding result. Example: an interim result gets replaced with no result (e.g. if a <cough> is initially recognized as some text)
20:14:36 [glen]
topic: Protocol Issues
20:14:38 [glen]
2. I am skeptical about changing established MRCP event/method names. I sort of agree that LISTEN is better than RECOGNIZE, but do not think the reasons are good enough to warrant ensuing churn.
20:16:14 [glen]
Robert: Microsoft doesn't care if similar to MRCP, rather that it's compatible with our web sockets protocol
20:16:38 [glen]
burnett: web sockets is just a transport
20:16:55 [glen]
...violates many types of protocol design
20:17:17 [glen]
...if standards track, IETF is a logical place
20:17:33 [glen]
robert: so naming doesn't matter much at this point.
20:17:36 [glen]
all: agree
20:18:16 [glen]
burnett: some talk of using SIP to setup, would have to separate signaling and data...which is one thing wrong with this.
20:18:34 [glen]
robert: this is more to illustrate a point that it can be done
20:19:22 [glen]
burnett: companies could implement today, and may not be completely interoperable (as is often the case on first implementations)
20:20:15 [glen]
michael: we agree, not to change names right now. Names will likely to be re-evaluated in a standards track.
20:21:10 [glen]
...minor syntax issues can be called out as a note in the doc.
20:22:34 [glen]
burnett: when gets into a standards group, they look at requirements and take ideas into consideration, but they consider MANY other factors, e.g. security, that drive
20:22:46 [glen]
3. We need a way to index the recognition results. I suggest using a Result-Index header
20:23:57 [glen]
all: agree to add. if a one-shot recognition, it's only [0] and still optional
20:24:31 [glen]
4. It was awkward to use a RECOGNITION-COMPLETE message presumably with a COMPLETE status during continuous speech. Instead, I used INTERMEDIATE-RESULT with a new Result-Status header set to final.
20:25:12 [glen]
robert: just rename RECOGNITION-COMPLETE as RECOGNITION-RESULT
20:26:15 [glen]
...it's an intermediate, unless it's a final response type.
20:26:57 [glen]
burnett: MRCP has separate status code and completion code
20:28:11 [glen]
Milan: we need a complete flag, not sure it was defined. We haven't stated which status codes correspond to which messages.
20:28:53 [glen]
burnett: in MRCP, status is about communication (like 200 OK). In MRCP, the completion code indicates what happened (e.g. successful reco)
20:29:54 [glen]
robert: so status indicates "sending more", so status should be in-progress for continuous reco case.
20:30:41 [glen]
robert: need request state?
20:31:12 [glen]
burnett: request has been made, has it been completed yet? status is success, illegal method, illegal value, unsupported header
20:31:38 [glen]
robert: reco result, 200 OK, in progress
20:32:12 [glen]
5. Perhaps Source-Time should also be required on final results
20:32:14 [glen]
all: yes, everything's fine, more to come
20:34:16 [glen]
Milan: by time have final result, should know start time.
20:34:33 [glen]
all: agree, require only reco result
20:35:13 [glen]
Milan: could be reco result with type = pending
20:35:33 [glen]
michael: pending implies have already started
20:35:44 [glen]
robert: in progress more accurate
20:35:45 [glen]
all: agree to leave as is
20:35:58 [glen]
6. Wanted to confirm that channel identification is being handled by the WebSocket container
20:36:11 [glen]
robert: handled by web socket
20:36:41 [glen]
...if two separate recos, then two web sockets and two audio streams. (Can have 2 grammars active in one reco)
20:36:53 [glen]
milan: continuous hotword case
20:36:57 [glen]
robert: that's continuous reco
20:37:28 [glen]
...start session with hotword and command-control grammar, all is continuous results
20:37:42 [glen]
michael: hard if change over time
20:37:51 [glen]
...because have to pause to change
20:37:56 [glen]
...so not continuous
20:38:13 [glen]
robert: don't want to transmit audio twice, but with two sessions, you must
20:38:43 [glen]
avery: does emma result specifies which grammar?
20:38:58 [glen]
michael: yes
20:39:14 [kaz]
kaz has joined #htmlspeech
20:39:31 [glen]
7. I noticed that Completion-Cause was missing from Robert's spec example in section 4.2.
20:39:55 [glen]
robert: accidental omission, need to add
20:40:31 [glen]
topic: Web API Issues
20:40:44 [glen]
1. To get the reco result I think i have to write "e.result.item(0).interpretation". This is a lot of dots and an index just to get the top result.
20:41:31 [glen]
robert: I want to write e.interpretation -- because most of the time that's what I want (but still could use the verbose way as well)
20:42:20 [mbodell]
Here is the link to where the event is defined: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Oct/att-0064/speechwepapi_1_.html#speechinputresult
20:43:29 [glen]
milan: e.result.interpretation
20:43:47 [glen]
michael: can already use e.result[0].interpretation
20:44:54 [glen]
glen: we should change utterance to match
20:45:30 [glen]
all: e.interpretation and e.utterance
20:45:39 [glen]
...agreed
20:46:33 [glen]
2. "utterance" has a couple of different meanings in the doc. It's alternatively the recording of what the person said, or the transcript returned by the recognizer.
20:47:19 [glen]
michael: transcript? text? tokens?
20:48:38 [glen]
text and token are over used and confusing
20:49:54 [glen]
robert: but it is text, so not overloading the concept
20:49:59 [glen]
... (unlike token)
20:50:26 [glen]
burnett: transcript, closest to what's actually happening, laymen get it
20:51:46 [glen]
glen: text is not descriptive: interpretation is text, whereas transcript vs interpretation is clear
20:52:59 [glen]
all: agree: rename utterance to transcript
20:53:47 [glen]
5. The "modal" attribute on SpeechGrammar is unnecessarily restrictive
20:53:56 [glen]
Discussion: There are cases where I'll want to have multiple grammars active, but not all, and not just one. Developers would be better off with a boolean enabled attribute on each grammar. Would be useful to clarify the behavior when there is more than 1 grammar with this set to true (only the first in the list is active?) Is this even useful at all? What is the case for having grammars which aren't active in the reco? Can we change the state of the modal/u
20:54:11 [glen]
robert: less lines of code if just set one to true
20:55:26 [glen]
milan: alternatively, could add/remove from grammars array
20:55:49 [glen]
glen: sending all at once allows caching
20:55:55 [glen]
...of grammars
20:57:02 [glen]
...what about continuous case, can grammars change on the fly
20:57:35 [glen]
michael: we decided to simplify by re-calling .start to change grammars or anything else
20:58:12 [glen]
milan: should have a separate way to preload
20:58:46 [glen]
burnett: voicexml has defineGrammar
20:59:14 [glen]
milan: grammar set object on the SpeechInputRequest
21:00:32 [glen]
...I proposing sets of grammars
21:00:58 [glen]
robert: I'd like it flatter, get rid of enabled/disabled -- just delete -- and don't allow preload
21:02:43 [glen]
michael: already have .open that allows preloading
21:02:54 [mbodell]
See web api: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Oct/att-0064/speechwepapi_1_.html#dfn-open
21:06:14 [glen]
scribenick: glen
21:06:31 [glen]
burnett: nervous about this, we discussed this for a long time and considered many edge-cases
21:06:36 [howard]
howard has joined #htmlspeech
21:06:51 [glen]
robert: alternative: get rid of modal and enable, and just use a bunch of grammars
21:07:26 [howard]
howard has left #htmlspeech
21:07:55 [glen]
avery: if .open has already been called, .start doesn't call it (.start only calls .open if hasn't been opened yet)
21:09:23 [glen]
burnett: wondering if there are performance advantages in reco engine if can call enable/disable as opposed to calling .open multiple times?
21:10:00 [smaug]
start might need to re-call open if authorizationState has changed from not-authorized to authorized
21:10:11 [glen]
milan: MRCP didn't solve this, why should we?
21:10:24 [glen]
...all good MRCP clients do what you're saying automatically, they automatically check for the deltas
21:10:43 [glen]
robert: this runs at web-scale, distributed
21:11:18 [glen]
...big difference between telephony and web
21:12:26 [glen]
michael: options: eliminate model, keep and define what happens if multiple set to true
21:15:49 [mbodell]
mbodell has joined #htmlspeech
21:16:29 [glen]
glen has joined #htmlspeech
21:16:38 [glen]
avery: easier to add later than remove
21:17:58 [matt]
rrsagent, draft minutes
21:17:58 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html matt
21:18:03 [glen]
agree: eliminate .modal
21:18:13 [glen]
5. The interpretation attribute is completely opaque. That may be necessary given that SISR can pretty much return anything. But it'll need some examples to show how to use it.
21:18:25 [matt]
i|scribe:ddahl|scribe:ddahl_|
21:18:30 [matt]
rrsagent, draft minutes
21:18:30 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html matt
21:18:58 [glen]
burnett: there was support for a flat array of interpretations
21:19:23 [glen]
...I didn't like that, Nuance and their customers didn't like it,
21:20:03 [glen]
debbie: use emma to define layout
21:20:40 [glen]
michael: different reco engines may use emma in different ways
21:21:13 [glen]
...fundamentally, .interpretation points to somewhere in emma, which simplifies (and a corresponding .transcript)
21:22:14 [glen]
all: agree, specify which part of emma holds the interpretation
21:22:46 [glen]
michael: mapped to a DOM object, emma literal or node
21:23:36 [glen]
...like debbie's slot-filling example
21:25:13 [glen]
michael: I will send text for this
21:25:36 [glen]
5. The array of SpeechGrammar objects is too cumbersome
21:26:00 [smaug]
something happened to the audio. it is all just noise
21:26:09 [smaug]
though, getting late here
21:26:13 [Zakim]
-Olli_Pettay
21:26:14 [glen]
Discussion: Robert: The array of SpeechGrammar objects is too cumbersome. In most cases I'd like to write something simple like: mySR.speechGrammars.push("USstates.grxml","majorUScities.grxml","majorInternationalCities.grxml"); But I can't. I have new-up a separate object for each one then add it to the array, even when I don't care about the other attributes. Better to just make it an array of URI strings, and add functions for the edge cases. e.g. void ena
21:27:10 [Zakim]
+[IPcaller]
21:27:24 [smaug]
Zakim, [IPcaller] is Olli_Pettay
21:27:24 [Zakim]
+Olli_Pettay; got it
21:27:30 [glen]
void setWeight(in DOMString grammarUri, in float weight); And yeah, I remember arguing the opposite on the phone call. But that's before I tried writing sample code. Glen: "The uri of a grammar associated with this reco. If unset, this defaults to the default builtin uri." Presumably using the grammar attribute overwrites the default grammar, so if a developer wishes to add a grammar that supplements the default grammar, then this alternative should work: re
21:27:44 [glen]
would add clarity. Michael: If you view source on the web api document you'll see the grammar functions and descriptions are there commented out as I anticipated, and agree, with this comment. We should have both functions and array/collections and this makes the things that Robert and Glen describe much easier/better.
21:29:19 [glen]
michael: grammar spec after ? are hints, before builtin: are required and errors if not supported
21:30:45 [glen]
...example: builtin:contacts may recognize names in smartphone
21:31:35 [glen]
...require built:generic
21:35:14 [glen]
burnett: built:generic means I'll take anything you got: if it's just a date grammar, I'll take it.
21:35:19 [mbodell]
We are talking about http://bantha.org/~mbodell/speechxg/issuew5.html but really more about what happens with no grammar
21:35:34 [ddahl2]
ddahl2 has joined #htmlspeech
21:35:53 [glen]
milan: builtin:generic could respond with failure, builtin:dictation could also respond with failure
21:36:30 [glen]
robert: builtin:generic should be builtin:default
21:36:39 [glen]
...and none specified is builtin:default
21:38:18 [glen]
burnett: what if want to use both default and another grammar
21:38:34 [glen]
glen: then add builtin:default and builtin:foo
21:39:40 [glen]
michael: default is not user default, but service or ua default
21:41:41 [glen]
milan: want a way to record without a grammar
21:42:59 [glen]
michael: we define builtin:default, encourage vendors to implement, and state when none specified, it's on by default. (and when other grammars specifed, it can also be added.
21:44:30 [glen]
michael: I like .addGrammer(url, weight) as a simplification from creating object and then setting it
21:44:55 [glen]
robert: .addGrammarFromUrl(url, weight)
21:45:21 [glen]
... .addGrammarFromElement(element, weight) .addGrammarFromString(string, weight)
21:45:52 [burn]
burn has joined #htmlspeech
21:46:02 [Milan]
Milan has joined #HtmlSpeech
21:46:02 [ehlen]
ehlen has joined #htmlspeech
21:46:24 [glen]
robert: better yet: .addUrlGrammar .addElementGrammar .addStringGrammar
21:47:00 [glen]
... but advantage for objects to be alphabetical order, grouped together in docs
21:47:12 [rahul]
rahul has joined #htmlspeech
21:47:31 [glen]
glen: .addGrammarUrl .addGrammarElement .addGrammarString
21:48:22 [glen]
... remove is a JavaScript array operation
21:49:54 [nagesh]
nagesh has joined #htmlspeech
21:51:34 [glen]
michael: also .addCustomParameter(name, value)
21:53:12 [glen]
all: agree: .addGrammarUrl .addGrammarElement .addGrammarString .addCustomParameter
21:55:38 [burn]
rrsagent, draft minutes
21:55:38 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html burn
21:56:30 [smaug]
I think this is enough for me. I'll read the minutes tomorrow and send comments
21:56:35 [Zakim]
-Olli_Pettay
21:56:42 [smaug]
It is midnight here
22:17:11 [smaug]
dark? it has been dark hear for the last 6 hours
22:17:15 [smaug]
here
22:21:18 [rahul]
scribenick: rahul
22:23:00 [rahul]
Topic: Issue 6
22:23:00 [matt]
rrsagent, draft minutes
22:23:00 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html matt
22:23:01 [mbodell]
Link to the current issue: http://bantha.org/~mbodell/speechxg/issuew6.html
22:23:14 [glen]
6. The names are a bit long.
22:23:25 [glen]
Discussion: e.g. "new SpeechInputRequest()" vs "new SpeechIn()" . e.g. "mySR.speechGrammars.push("foo")" vs "mySR.grammars.push("foo")" . e.g. "resultEMMAXML" vs "EMMAXML" or just "EMMA" (call the other one "EMMAText" ) e.g. "inputWaveformURI" vs "inputURI"
22:26:01 [matt]
zakim, who is on the phone?
22:26:01 [Zakim]
On the phone I see tpac
22:26:10 [rahul]
Milan: how about SpeechRequest instead of SpeechInputRequest?
22:29:58 [rahul]
Robert: SpeechRecognizer?
22:30:12 [rahul]
Milan: AudioSynthesizer?
22:31:30 [rahul]
Glen: SpeechReco?
22:32:03 [Milan]
Milan: AudioSynth
22:32:21 [Milan]
* test
22:33:15 [rahul]
Resolution: We will use SpeechReco instead of SpeechInputRequest
22:33:28 [matt]
-> http://en.wikipedia.org/wiki/Bikeshedding Parkinson's Law of Triviality
22:34:26 [rahul]
Action: Editing team to update to SpeechReco
22:34:26 [trackbot]
Sorry, couldn't find user - Editing
22:35:13 [rahul]
Topic: Issue 7
22:35:33 [rahul]
7. SpeechInputRequest.outputToElement() should be an attribute, perhaps 'forElement'
22:36:25 [matt]
-> http://bantha.org/~mbodell/speechxg/issuew7.html Issue 7
22:40:12 [rahul]
Resolution: Replace outputToElement() function with the outputElement attribute
22:40:41 [rahul]
Topic: Issue 8
22:40:45 [rahul]
8. SpeechInputResult has a getter "item(index)". SpeechInputResultEvent has an array "SpeechInputResult[] results.
22:40:53 [rahul]
Discussion: Can we change both to be collections similar to http://www.w3.org/TR/FileAPI/#dfn-filelist (accessible via [] operator and optionally with a .item() method)?
22:41:28 [kaz]
kaz has joined #htmlspeech
22:42:12 [rahul]
Resolution: Accepted
22:42:12 [rahul]
Topic: Issue 9
22:42:13 [matt]
-> http://bantha.org/~mbodell/speechxg/issuew8.html Issue 8
22:42:21 [matt]
-> http://bantha.org/~mbodell/speechxg/issuew9.html Issue 9
22:42:31 [matt]
s|-> http://bantha.org/~mbodell/speechxg/issuew8.html Issue 8||
22:42:32 [rahul]
9. The <reco> element should probably be a void element with no content on its own
22:42:42 [rahul]
Discussion: Satish: http://dev.w3.org/html5/spec/Overview.html#void-elements. I just noticed this in the for attribute's description, missed it in earlier reads: "If the for attribute is not specified, but the reco element has a recoable element descendant, then the first such descendant in tree order is the reco element's reco control." Is there a benefit to doing this over requiring the 'for' attribute to be set and making reco a void element? Charles: I a
22:42:54 [matt]
i|8. Speech|-> http://bantha.org/~mbodell/speechxg/issuew8.html Issue 8|
22:42:57 [matt]
rrsagent, draft minutes
22:42:57 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html matt
22:43:27 [glen]
resolution: can specify with either descendent or with for= attribute
22:43:28 [rahul]
Resolution: Agreed to leave it as-is using either the for or the descendant pattern
22:43:40 [rahul]
Topic: Issue 10
22:43:46 [matt]
-> http://bantha.org/~mbodell/speechxg/issuew10.html
22:43:52 [rahul]
10. TTS is hard
22:43:53 [matt]
|http://bantha.org/~mbodell/speechxg/issuew8.html||
22:44:19 [matt]
i|10.|-> http://bantha.org/~mbodell/speechxg/issuew10.html Issue 10|
22:44:22 [matt]
rrsagent, draft minutes
22:44:22 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html matt
22:45:04 [rahul]
Discussion: Bjorn: I can't see any easy way to do programmatic TTS. The TTS element is at least missing the attributes @text and @lang. Without those, it's pretty hard to do the very simple use case of generating a string and speaking it. It's possible, but you need to build a whole SSML document. For use cases, see the samples I sent earlier today. Dominic: For TTS, I don't understand where the content to be spoken is supposed to go if it's not specified in
22:46:42 [rahul]
Michael: @lang is not missing since it could be inherited
22:46:54 [rahul]
... there is no @text there
22:50:17 [rahul]
Glen: content within <tts></tts> will show up within older browsers
22:50:35 [mbodell]
Discussion is <tts src="data:text/plain,Hello, world"/> versus <tts value="Hello, world"/> versus something else. Note in JS we could define a function so it is pretty similar, but from Markup a little harder to get the function creating the data uri (probably still possible)
22:56:29 [glen]
72<tts value="fahrenheit">F</tts>
23:01:01 [glen]
michael: tts as a markup may render visually a control (play, stop, etc)
23:01:12 [glen]
...other dom can interact
23:01:32 [glen]
glen: most uses of tts need dynamic control -- that is require javascript
23:01:53 [glen]
michael: because tts inherits from media-element, it requires a src attribute
23:04:38 [glen]
glen: <img alt="text">
23:04:53 [glen]
michael: <tts> is not used as an alternative fallback
23:05:14 [rahul]
Dan: usecase for <tts> element is to facilitate easy generation as part of markup rather than generating script
23:07:02 [burn]
burn has joined #htmlspeech
23:12:38 [rahul]
s/|http://bantha.org/~mbodell/speechxg/issuew8.html||//
23:12:46 [rahul]
rrsagent, draft minutes
23:12:46 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html rahul
23:15:13 [rahul]
Michael: the @lang inherited from the <media> element should be passed as a parameter to the synthesizer
23:15:48 [rahul]
Resolution: Add a @text attribute to <tts>.
23:16:14 [rahul]
Topic: Issue 11
23:16:40 [rahul]
-> http://bantha.org/~mbodell/speechxg/issuew11.html Issue 11
23:16:50 [rahul]
rrsagent, draft minutes
23:16:50 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html rahul
23:17:17 [rahul]
11. How does binding to button work
23:18:12 [rahul]
Discussion: Satish: "When the recoable element is a button then if the button is not disabled, then the result of a speech recognition is to activate the button." "For button controls (submit, image, reset, button) the act of recognition just activates the input." "For type checkbox, the input should be set to a checkedness of true. For type radiobutton, the input should be set to a checkedness of true, and all other inputs in the radio button group must b
23:20:40 [smaug]
smaug has joined #htmlspeech
23:24:50 [rahul]
Michael: propose to have an issue note that this needs further thought
23:25:20 [rahul]
Robert: define what we can, and for others say there is no binding
23:28:02 [rahul]
Resolution: Add issue note that more work to be done on bindings
23:28:21 [rahul]
Topic: Issue 12
23:28:30 [rahul]
12. What about meter, progress, and output elements?
23:28:37 [rahul]
Discussion: Satish: The meter, progress and output elements all seem to be aimed at displaying results and not for taking user input. Is there a reason why these are included as recoable elements?Michael: This is specified at Reco Bindings. A person could want to be able to speak and have it change a progress bar or meter or output element. The primary reason is matching what is done with label. These are all labelable elements and thus ended up as recoable
23:29:36 [rahul]
Glen: suggest we not talk about bindings to these
23:30:11 [rahul]
Dan: we need to decide which ones to leave out, I agree since these are not even <input> elements
23:30:21 [rahul]
Resolution: Remove these from the recoable elements and bindings
23:30:28 [rahul]
Topic: Issue 13
23:30:38 [rahul]
13. grammars and parameters should be collections
23:30:48 [rahul]
Discussion: Satish: Similar to issue 8, SpeechInputRequest attributes 'grammars' and 'parameters' should probably be turned into a collection as well
23:30:56 [rahul]
Resolution: Accepted
23:31:01 [rahul]
Topic: Issue 14
23:31:21 [rahul]
14. rename language to lang
23:31:29 [rahul]
Discussion: SpeechInputRequest.language should probably be changed to 'lang' to match lang attributes.
23:31:42 [rahul]
Resolution: Accepted
23:31:52 [rahul]
Topic: Issue 15
23:31:59 [rahul]
15. rename iterimResults to interimResultsInterval
23:32:13 [rahul]
Discussion: SpeechInputResult.interimResults should probably be renamed to interimResultsInterval to indicate its usage similar to how other attributes have 'Timeout' in their names
23:33:16 [rahul]
rrsagent, draft minutes
23:33:16 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html rahul
23:33:37 [rahul]
Resolution: Turn into boolean property, name does not change
23:33:54 [rahul]
Topic: Issue 16
23:34:02 [rahul]
16. drop enum prefixes
23:34:11 [rahul]
Discussion: SPEECH_AUTHORIZATION_ prefix could be dropped for the enums and just have 'UNKNOWN', 'AUTHORIZED' & 'NOT_AUTHORIZED' (similar to XHR States). Same for SPEECH_INPUT_ERR_* and other such enums.
23:35:52 [rahul]
Resolution: Accepted (given Satish's input and expertise)
23:35:59 [rahul]
Topic: Issue 17
23:36:11 [rahul]
17. A way to uncheck automatically by speech?
23:36:14 [rahul]
Discussion: Glen: "For type checkbox, the input should be set to a checkedness of true." It would be nice to have a way to allow user to say something to set it to false, but I can't think of a good convention for this other than adding an attribute or grammar. Perhaps this could/should only be possible via scripting. (I don't like the idea of toggling the checkbox because some users may not be able to easily observe what state the checkbox is currently in.)
23:36:45 [rahul]
Resolution: See resolution to issue 11
23:37:19 [smaug]
mbodell: I'm kind of online
23:37:23 [smaug]
what enum conflicts?
23:37:35 [smaug]
if the enum is in an interface, then no
23:37:43 [smaug]
s/enum/const/
23:38:13 [rahul]
Topic: Issue 18
23:38:20 [rahul]
18. Binding hints versus requirements
23:38:27 [rahul]
Discussion: Glen: "For date and time types ... type of color ... type of range the assignment is only allowed if it is a valid ..." On our call we discussed how these grammars are hints, and in particular how pattern may be difficult to implement. We discussed that showing an output response, even an invalid one, may be more valuable than no response. Michael: We can do hints for patterns on text, and for numbers out of range, but for other types HTML5 is jus
23:39:11 [rahul]
Resolution: See resolution to issue 11
23:39:12 [glen]
satish provides this example of two sets of enums, with no prefixes.
23:39:21 [glen]
https://developer.mozilla.org/en/DOM/HTMLMediaElement
23:39:27 [rahul]
Topic: Issue 19
23:39:35 [rahul]
19. Does reco and TTS need to be on a server as opposed to client side?
23:39:41 [rahul]
Discussion: Dominic: The spec for both reco and TTS now allow the user to specify a service URL. Could you clarify what the value would be if the developer wishes to use a local (client-side) engine, if available? Some of the spec seems to assume a network speech implementation, but client-side reco and TTS are very much possible and quite desirable for applications that require extremely low latency, like accessibility in particular. Is there any possibility
23:39:53 [matt]
i|18.|->http://bantha.org/~mbodell/speechxg/issuew18.html Issue 18|
23:40:01 [matt]
-> http://bantha.org/~mbodell/speechxg/issuew19.html Issue 19
23:42:59 [glen]
satish continues: HTMLMediaElement.LOADED so no clashes
23:43:45 [glen]
(above refers to issue 16)
23:46:44 [rahul]
Resolution: The service does not need to be remote, UAs may define URIs to local engines. We should add clarifying text specifying this.
23:46:54 [rahul]
Topic: Issue 20
23:47:01 [rahul]
20. Set lastMark?
23:47:11 [rahul]
Discussion: Dominic: An earlier draft had the ability to set lastMark, but now it looks like it's read-only, is that correct? That actually may be easier to implement, because many speech engines don't support seeking to the middle of a speech stream without first synthesizing the whole thing. Michael: Actually the speech xg version has never supported setting a lastMark. You can control playback using the normal media controls (setting currentTime, seekabl
23:47:36 [rahul]
rrsagent, draft minutes
23:47:36 [RRSAgent]
I have made the request to generate http://www.w3.org/2011/11/03-htmlspeech-minutes.html rahul
23:47:45 [burn]
s/specifying this./specifying this. Also, the serviceURI does not need to be remote. We will clarify this as well./
23:53:12 [rahul]
Resolution: Leave as-is right now. Add issue note about also making it writeable.
23:53:15 [rahul]
Topic: Issue 21
23:53:21 [rahul]
21. More frequent callbacks?
23:53:27 [rahul]
Discussion: Dominic: When I posted the initial version of the TTS extension API on the chromium-extensions list, the primary feature request I got from developers was the ability to get sentence, word, and even phoneme-level callbacks, so that got added to the API before we launched it. Having callbacks at ssml markers is great, but many applications require synchronizing closely with the speech, and it seems really cumbersome and wasteful to have to add an s
23:55:42 [rahul]
Resolution: Leave as-is. Suggest as enhancement to SSML.
23:55:58 [rahul]
Topic: Issue 22
23:56:00 [rahul]
22. How do we fit with capture/input/MediaStream?
23:56:11 [rahul]
Discussion: Michael: Our spec has: attribute MediaStream input; but we have nearly no explanation of it and our examples don't show how to use it. Can we do better?
23:57:34 [mbodell]
spec link: http://lists.w3.org/Archives/Public/public-xg-htmlspeech/2011Oct/att-0064/speechwepapi_1_.html#dfn-input