14:59:56 RRSAgent has joined #tt 15:00:00 logging to https://www.w3.org/2023/06/08-tt-irc 15:00:00 RRSAgent, make logs Public 15:00:01 Meeting: Timed Text Working Group Teleconference 15:00:17 Agenda: https://github.com/w3c/ttwg/issues/253 15:00:31 Previous meeting: https://www.w3.org/2023/05/25-tt-minutes.html 15:00:31 scribe: nigel 15:01:10 Chair: Nigel 15:01:13 Regrets: Gary 15:01:20 Present: Andreas, Nigel, Pierre 15:02:31 Regrets+ Atsushi 15:03:03 Present+ Cyril 15:03:24 Topic: This meeting, plus Chair news 15:04:02 Nigel: Gary sent his regrets for today - he's actually no longer at Mux, and is having to step 15:04:19 .. away from W3C work for the time being, so the de facto status is we have one Chair at this moment. 15:04:56 .. Agenda for today: 15:05:06 .. IMSC-HRM 15:05:17 .. DAPT, including a demo from Cyril 15:05:44 .. also still on the agenda I retained the fontVariant discussion topic, and TPAC planning, in case we want to cover those 15:05:49 .. Is there any other business? 15:05:57 no other business 15:06:01 Topic: IMSC-HRM 15:06:33 Nigel: Looking at the responses to the CfC to transition to CR, 15:07:38 .. I see 2 approvals, 0 objections, so I declare we have consensus. 15:07:54 .. The Pull request at https://github.com/w3c/imsc-hrm/pull/59 has 2 positive reviews, no requests for change. 15:08:08 .. (different reviewers than those who responded to the CfC) 15:08:38 RESOLUTION: Transition IMSC-HRM to Candidate Recommendation 15:09:10 Nigel: We now need Atsushi's help to make that happen, I think. 15:09:32 .. Is there anything else to say on this, aside from thank you to everyone for your input on this? 15:09:47 Pierre: Thank you Nigel, on my todo list is creating the tests and a draft call for content that we should send around. 15:09:50 Nigel: Sounds good 15:09:59 Pierre: I can have that done for the next meeting. 15:10:38 .. Do you have any specific input? 15:10:48 Nigel: I don't, right now, I'll review though! 15:11:12 Pierre: Of course! But anything else a priori? 15:11:22 Nigel: I'd just be calling for content and/or implementations. 15:11:25 Pierre: Of course, yes. 15:12:18 .. We should probably do a more generic call and then a specific focused call to media companies who may not have implementations. 15:12:33 Nigel: We need to demonstrate implementation so we should be clear that their responses can be held private, 15:12:45 .. and that we are interested to know the tools used to create the content. 15:13:24 Pierre: They're only interested in the content they generate. We shouldn't over complicate this. 15:14:21 Nigel: If it turns out they have common authoring tools we would want to know that. 15:14:38 q+ 15:14:39 Pierre: I would not make that compulsory because it would put them off. 15:14:57 .. If we make it hard for non-technical people to respond then they will not respond. 15:15:19 .. If we need to go to vendors and figure out what was used, we aren't going to bother. 15:15:30 .. It will be hard enough to get content, without the actual workflow as well. 15:15:32 ack at 15:15:56 Andreas: If it is not really needed for exit criteria then I would say it is voluntary information. 15:16:12 .. If there are 2-3 authoring tools that should be sufficient for complying with the exit criteria. 15:16:33 Nigel: That's why I'm making this point: I think it is necessary for the exit criteria 15:16:52 .. We should allow people to provide content for our inspection. 15:16:53 q+ 15:17:21 .. The alternative is to ask providers to give us the results of running the HRM on their content, they 15:17:29 .. don't have to show us the content at all. 15:17:32 ack at 15:17:48 Andreas: Re the authoring tools, if you ask for content you could just say that we are happy to receive 15:18:04 .. information about the authoring tool if it is available. I don't think you would go a second time to ask them again. 15:18:23 .. If providers have a single chain, common in Germany, and they have the information, then they can provide it. 15:19:27 cyril has joined #tt 15:19:36 RRSAgent, pointer 15:19:36 See https://www.w3.org/2023/06/08-tt-irc#T15-19-36 15:19:51 Nigel: checking our exit criteria, I agree, since we only need >=1 content implementation + 1 validating implementation, 15:20:04 s/+ 1/+ >1 15:20:23 .. or >=2 validating implementations, we don't actually need multiple content implementations, minimally. 15:20:29 .. It would be nice to have. 15:21:14 .. I think we're in agreement now, we just need to know there's at least 1 authoring tool out there. 15:21:20 Pierre: Yes. 15:21:23 q? 15:21:31 Nigel: Any more? 15:21:36 Pierre: No, thanks for the discussion. 15:21:40 Nigel: This is why we're here! 15:21:59 Topic: DAPT 15:22:22 Nigel: I presented DAPT work to the MEIG on Tuesday 15:23:08 -> https://www.w3.org/2023/06/06-me-minutes.html MEIG minutes 2023-06-06 15:23:29 .. It was useful I think. 15:23:48 .. I also will be presenting it to the EBU Access Services Experts plenary on Friday next week. 15:24:17 -> https://bbc.github.io/accessibility-presentations/nigel_megitt_ebu_access_services_2023/index.html Slides for next week's presentation 15:24:37 .. I'm regarding this as part of the Wide Review invitation work. 15:24:56 .. But I still have on my to do list requesting HR and WR from liaisons and others. 15:25:09 .. We still have CR must-have issues open. 15:25:48 Cyril: I was reading the minutes from the MEIG meeting. Kaz asked about the ordering of words in Japanese 15:26:13 .. translations - he asked how to deal with word order difference. Did you answer that? 15:26:13 Nigel: Yes, I did. 15:26:23 Cyril: His point is about the structure of the language. I can show you an example. 15:26:36 Subtopic: Netflix TTAL <--> DAPT round tripping 15:26:44 Cyril: [shares screen] 15:27:05 .. As you know Netflix has been working on the TTAL language and is standardising it, 15:27:19 .. and the idea is to demonstrate that lossless roundtripping with DAPT can be done. 15:27:28 .. The code I wrote is not yet open source, I'm thinking about open sourcing it. 15:27:43 .. It would help e.g. a tool vendor that supports TTAL already to use as a front-end to convert XML to JSON 15:27:48 .. with low effort. 15:28:02 .. Similarly if they produce JSON they could use JSON -> XML conversion to deliver the standard XML to 15:28:06 .. streaming services like Netflix. 15:28:15 .. I can show you some inputs I have been using. 15:28:22 .. [shows an extract from a movie] 15:28:32 .. Lots of proprietary information 15:28:40 s/extract/TTAL JSON extract 15:28:52 .. You can see frame based start and end timing, annotations etc. 15:29:06 .. in XML [shows an equivalent DAPT XML document] 15:29:17 .. metadata, styling, layout and events 15:29:39 .. begin, paragraphs that contain text, with daptm attributes, here showing the original language. 15:29:43 .. This is work in progress. 15:29:57 .. There's some Netflix proprietary information in nttm namespace, Netflix's own. 15:30:09 .. I'm looking to see if anything needs to be mapped to daptm that is not yet mapped. 15:30:23 .. One of them is the original language - we carry that even if there's no event in that language. 15:30:33 .. [shows another example of DAPT for a different movie] 15:30:51 .. This is Japanese, translation, but it doesn't say the original language anywhere. 15:30:59 .. That may be an extension to consider. I will file an issue. 15:31:14 .. I had no particular issue converting TTAL JSON to DAPT and back. 15:31:17 .. Small details maybe. 15:31:44 .. For example, looking at metadata, I used the `ebuttm:sourceMediaIdentifier` element we reference in the spec. 15:31:50 .. I wonder if this is the right way to do it. 15:32:09 .. For example we have lots of Netflix-specific internal metadata like movieId, packageId, runtime, those three 15:32:15 .. are relevant to the source media identifier. 15:32:43 .. Can we extend the ebuttm metadata? Are there any restrictions in EBU about this? 15:32:58 Andreas: I think we had this discussion in the EBU and we need to check on the EBU-TT Metadata spec, 15:33:11 .. but as far as I remember it is completely free to extend with non-EBU namespace attributes. 15:33:23 Cyril: Is there a validator for EBU-TT documents? 15:33:29 Nigel: There are XSDs. 15:33:43 Cyril: Are there prohibitions on extensions? 15:34:01 Andreas: Nigel and I would need to check, but for validation we say that foreign namespace entities are 15:34:06 .. pruned prior to validation. 15:34:25 Cyril: The other one is I used ebuttm:documentOriginalProgrammeTitle, and for others I used the 15:34:52 .. ebuttm:documentOriginalEpisodeTitle but I wondered if there is metadata for season number and episode number? 15:34:56 Andreas: I can't remember 15:35:04 Nigel: I don't think so but I'd have to check 15:35:34 .. I would not be surprised if the TV-Anytime spec defines entities for that data though. 15:35:40 Cyril: OK, back to the examples. 15:35:47 .. We have agent with corresponding actor 15:35:49 .. Styling is basic 15:35:56 .. For every event we have... 15:36:06 .. A question: We have several ways to provide annotations in DAPT. 15:36:35 .. One is a desc element with a dapt:type attribute, another is a daptm:eventType so it could be an 15:36:41 .. element or an attribute. 15:37:05 .. I would like to be tighter on recommendations for how people use these annotation mechanisms. 15:37:23 .. Also, we have spans that control the timing of words inside events - that's the concept of adapting 15:37:33 .. the display for speech recording. 15:37:51 Nigel: This came up in the MEIG and I realised that we appear to say nothing about putting times on 15:38:02 .. spans in the spec, and I think we probably should. 15:38:18 .. At least I could not see it on a quick hunt. 15:38:29 Cyril: OK, I think this was the issue raised by Simon from YellaUmbrella. 15:38:54 .. Maybe it's only in an example. Yes, here in Example 10. 15:39:05 Nigel: I'd like to be more explicit about that. 15:39:10 Cyril: Yes, maybe. 15:39:12 Nigel: I will raise that. 15:39:26 Cyril: Here's a "dialog list" where the original language text is present. 15:39:38 .. Here in another example we have both original and translation text in the document. 15:40:14 .. We have inline styles that match in both languages, a word in italic in Korean and also the equivalent in English. 15:41:13 Nigel: For ideographic languages that may not use italics for emphasis, do you need to identify 15:41:35 .. that some kind of emphasis is present on text in all the languages in the event? 15:41:48 Cyril: I don't know, possibly. 15:42:02 .. Another interesting feature is text spoken by 2 characters. 15:42:25 .. Two values are present in the ttm:agent on the div, but the text is present once. 15:42:45 .. Here for a Japanese example I'm using itts:forcedDisplay from IMSC. 15:42:49 .. Maybe worth mentioning in the spec. 15:43:02 .. The idea is that when you produce a dub you know what is not going to be translated and what should 15:43:06 .. remain as forced narrative. 15:43:26 .. A by-product of creating the dub is to identify the non-translated text. 15:43:45 .. Then what's really nice is when you use Pierre's imsc.js example renderer, 15:44:01 .. which has different colours and positions for different speakers, but you can tick the "forced narrative" 15:44:22 .. box and see only the forced narrative ones. 15:44:52 .. Any event in the DAPT script that is not meant to be voice recorded, but dubbed, will end up as forced narrative. 15:45:01 .. For example in the original show you have text on the screen in the original language. 15:45:18 .. The dubbing actor will not speak that, but the transcriber has identified it. 15:45:32 .. Anything that will not be dubbed will have to be in the forced narratives. 15:45:41 .. Is that clear? 15:45:46 Nigel: I need to think about it, I think so. Interesting! 15:45:56 Cyril: The last thing I want to demonstrate is audio description. 15:46:14 .. In this example, without speak and rate, just text, there's a "narrator" character. 15:46:53 .. We identify in Netflix proprietary metadata the voice, the engine, the vendor and the gender. 15:46:59 .. And the language. 15:47:09 Nigel: Do you ever have an agent with a different language from the text? 15:47:25 Cyril: Maybe a French agent would pronounce English with a French accent. I will check. 15:47:52 .. Here's an example with SSML, where there's prosody that can be mapped onto tta:rate but there's also 15:48:07 .. phoneme information on how to pronounce the word cobra, and I don't know how to map that to DAPT yet. 15:48:23 .. If I use the phoneme element, how does it work? In TTML what happens? 15:48:34 Nigel: The foreign namespace element would be pruned for validation. 15:48:55 Cyril: If we want to keep this then we would need to replace the SSML content with attributes or something, right? 15:49:01 Nigel: Not necessarily. 15:49:23 .. We could define a behaviour for SSML content if we wanted processing of SSML namespace elements to 15:49:27 .. do something. 15:49:44 q+ 15:49:45 .. Or as in the ticket (#121) we could adopt an attribute-style approach. 15:49:57 .. We have choice and I don't know which is right. 15:50:10 Cyril: The first choice means modifying the semantics of TTML in the context of DAPT. 15:50:23 .. In imsc.js I think, the word cobra would probably not be rendered. 15:50:40 .. I would like to be backwards compatible with TTML renderers for that. I don't know, to be discussed. 15:50:43 ack at 15:50:54 Andreas: The foreign namespace elements are pruned for validation but not for processing. 15:51:04 .. For validation, foreign namespace vocabulary is ignored. 15:51:19 .. For processing, everything would be in. Of course a presentation processor would not know what 15:51:33 .. to do with unknown vocabulary. Either the processor knows SSML and how to render it, 15:51:49 .. or you want TTML presentation and in that case it makes more sense to translate it to TTML vocabulary. 15:51:59 Cyril: Let's continue the conversation in #121. 15:52:16 .. I ran it on several pieces of content, with no particular issues. 15:52:33 .. One that I did open is #146 for signalling frame rate where we don't mention frameRateMultiplier. 15:52:39 .. I agree it can be a note not normative language. 15:52:56 .. The other one is #147 - the spec currently says that there can be multiple metadata elements. 15:53:09 .. Being able to identify which metadata element is the one you need for DAPT is useful, because otherwise 15:53:19 .. you have to parse everything and later ignore the ones you don't want. 15:53:37 .. I think we could have a daptm:metadataType that signals that the metadata contains only DAPT stuff. 15:53:50 .. The rest should be ignored. 15:53:56 Nigel: That's interesting, I need to think about that. 15:54:08 Cyril: That's it, I will keep iterating on this representation trying to see what needs to be put in the 15:54:26 .. document in terms of vocabulary from a Netflix point of view, what we need a standard mapping for. 15:54:32 .. I will try to make this code open source. 15:54:38 Nigel: That's brilliant, thank you. 15:54:49 Cyril: We probably already have a first implementation for the exit criteria. 15:55:08 Nigel: And we also have a presentation implementation which needs bringing up to date - 15:55:34 .. that's the BBC's Adhere. 15:55:47 -> https://bbc.github.io/Adhere/ Adhere demo 15:56:12 Cyril: It would be great if I could give it content and it would render it! 15:56:26 Nigel: It was made originally for TTML2 and ADPT, so it ought to work, but I haven't tested it with DAPT 15:56:29 .. content yet. 15:56:36 .. Interested to know if it does work! 15:56:56 q? 15:58:03 Nigel: Thank you for that Cyril, I noted a couple of actions to raise issues, in the minutes. 15:58:40 Topic: TPAC 2023 planning 15:58:52 Nigel: From where we are, it looks clear to me that DAPT will be on the agenda. 15:59:01 .. I'm not sure in what form - maybe we will be up to having a plug-fest? 15:59:09 .. Being in Europe, there may be interested folk around. 15:59:24 Pierre: The other topic that might benefit from an in-person meeting, maybe not best in Europe, 15:59:42 .. is trying to converge IMSC and ARIB-TT. Maybe that's a question for Atsushi. 15:59:52 .. Might be a little easier in an Asia-based TPAC. 15:59:58 .. A topic we ought to keep on our radar. 16:00:00 Nigel: I agree. 16:01:03 .. One of my observations at the MEIG was the number of Japanese attendees - and Kaz also 16:01:20 .. wanted to talk about the SSML stuff in DAPT. There seems to be a bubbling interest. 16:01:26 Pierre: Yes. 16:01:29 Topic: Meeting close 16:01:38 Nigel: Thanks everyone, we're at time. [adjourns meeting] 16:01:41 rrsagent, make meeting 16:01:41 I'm logging. I don't understand 'make meeting', nigel. Try /msg RRSAgent help 16:01:46 s/rrsagent, make meeting// 16:01:52 rrsagent, make minutes 16:01:53 I have made the request to generate https://www.w3.org/2023/06/08-tt-minutes.html nigel 16:05:58 s/shows an TTAL/shows a TTAL 16:13:36 scribeOptions: -emphasis 16:13:38 rrsagent, make minutes 16:13:39 I have made the request to generate https://www.w3.org/2023/06/08-tt-minutes.html nigel 16:14:58 s/ daptm / `daptm` /g 16:15:07 s/ nttm / `nttm` /g 16:15:35 s/ ebuttm / `ebuttm` /g 16:15:58 s/movieId/`movieId` 16:16:08 s/packageId/`packageId` 16:16:17 s/runtime/`runtime` 16:16:36 s/ebuttm:documentOriginalProgrammeTitle/`ebuttm:documentOriginalProgrammeTitle`/g 16:16:53 s/ebuttm:documentOriginalEpisodeTitle/`ebuttm:documentOriginalEpisodeTitle`/g 16:17:11 s/desc element/`desc` element 16:17:27 s/dapt:type/`daptm:type` 16:17:41 s/daptm:eventType/`daptm:eventType` 16:18:03 s/itts:forcedDisplay/`itts:forcedDisplay`/g 16:18:13 s/ttm:agent/`ttm:agent`/g 16:18:39 s/phoneme element/`phoneme` element 16:18:58 s/frameRateMultiplier/`ttp:frameRateMultiplier` 16:19:16 s/metadata element/`metadata` element/g 16:19:31 s/daptm:metadataType/`daptm:metadataType` 16:19:43 rrsagent, make minutes 16:19:45 I have made the request to generate https://www.w3.org/2023/06/08-tt-minutes.html nigel 16:21:01 s/tta:rate/`tta:rate` 16:22:19 scribeOptions: -final -noEmbedDiagnostics 16:22:27 zakim, end meeting 16:22:27 As of this point the attendees have been Andreas, Nigel, Pierre, Cyril 16:22:28 RRSAgent, please draft minutes v2 16:22:30 I have made the request to generate https://www.w3.org/2023/06/08-tt-minutes.html Zakim 16:22:36 I am happy to have been of service, nigel; please remember to excuse RRSAgent. Goodbye 16:22:37 Zakim has left #tt 16:23:01 rrsagent, excuse us 16:23:01 I see no action items