On October 20, 2020, EEG Video hosted a webinar for educators, municipalities, and other content creators who use EEG’s Lexi Automatic Captioning and Lexi Local. This online event focused on Scheduling, a powerful new feature to easily schedule, monitor, and maintain automatic captioning.
Lexi Scheduling Demo • October 20, 2020
In this webinar, John Voorheis, Director of Sales, and Ed Reeseg, Front-End Software Developer, demonstrated:
- All about the new scheduling feature for Lexi and Lexi Local
- Scheduling Lexi jobs to run on a one-time or recurring basis
- How to use additional monitoring and control features
- How to set up Lexi Instances
- A live Q&A session
Featured EEG solutions included:
To find out about upcoming EEG webinars, as well as all other previously streamed installments, visit here!
John: Alright, so thanks so much everybody for joining us today. My name is John Voorheis. I'm part of the sales team here. We're going to be talking about our Lexi 2.0 release, specifically with some of the aspects of Scheduling and some of the other new features that we've rolled out. And I'm really happy to be joined by Ed Reeseg today. He's a member of our engineering team and he's a front-end software developer and, you know, his efforts along with a whole host of others have been really instrumental in crafting this Lexi 2.0 release. So Ed, just if you want to say hello to everyone?
Ed: Yeah! Hello, everybody. Again, my name is Ed. Like I mentioned, I'm a member of the team here at EEG and I'm extremely excited to be going over things with you. We're going to do a demo of some of the new features that we're rolling out based on feedback of what would be helpful. And yeah, I'm really happy to be here and I want to thank each and every one of you for taking the time out of your day to join us.
John: Absolutely, and thank you, Ed, for joining us today. So yeah, today we're going to just be reviewing some of the new features with Lexi 2.0, including scheduling jobs, managing multiple Lexi Instances, as well as live event management. And this is going to be followed by a live Q&A session with both Ed and myself and hopefully Bill McLaughlin, our VP of Product, who I'm sure, again, many of you know will be joining us as well if any of you have questions on product roadmap or anything of that nature.
So again, really great to see everybody here today. So Lexi, of course, is our cloud-hosted automatic captioning system. And, you know, it's currently available in English, Spanish and French and when it's available in those languages as in it can translate audio in English, Spanish or French and it has custom topic models to support those languages. So you can program vocabulary in any of those three languages into Lexi to apply to your specific content.
It's a high-accuracy, low-latency solution as we state, you know, it's designed to be easily set up and pulled up in an instant with no additional equipment necessary besides your EEG encoder. You can just go ahead and access it at eegcloud.tv.
And to the right on this slide you see, you know, it's a familiar workflow to many of you who are using iCap and iCap encoders where you input your video source into your encoder, the audio is extracted sent to iCap or in this case to Lexi and the caption data is returned and goes out for live broadcast.
Now what's important to note here is that EEG encoders can really be any host of devices we have our HD492 iCap encoder which is our flagship SDI product. We also have our EN537 encoder which is really a stripped down SDI encoder that's designed specifically for interfacing with the Lexi service. We also have our Alta IP video encoder which is compatible with 2110-40 MPEG transport stream. And for live events, streaming only, we have our Falcon RTMP streaming encoder which is a fully virtual solution for directly captioning an RTMP stream. And all of those are fully compatible with the Lexi solution. So you just need to be using an EEG encoder so it's great in the sense that it doesn't require any additional hardware.
Now let's talk a little bit about when I say high accuracy. You know, currently under optimal circumstances we stayed about a 90% rate for what's now the previous generation of Lexi or what I'll refer to as Lexi 1.0.
Now, what do I mean by optimal circumstances? Typically that's like a clean audio feed with minimal background noise, minimal background music. Now we often get caught up in saying something like single speaker audio which is something of a misnomer because Lexi does extremely well, you know, with multiple speakers provided that they're not talking over one another. So just having a polite conversation like you might see on the nightly news. You know, Lexi does quite well with that, it also does quite well even for things like live sports where there are isolated microphones and time has been taken to program the custom topic models with names and other event specific terminology. So that's kind of what we describe as optimal circumstances. And, you know, there's a lot of other use cases that, you know, I've seen on a pretty regular basis especially now with this new normal that we're living in and I'll talk a little bit more about that here on the next slide. That's kind of an overview of where Lexi is currently and how it fits in into the EEG ecosystem.
So with the Lexi 2.0 release, you know, one of the biggest, you know, real game changers is the improvement in accuracy. It's gone up to about 95% accuracy and, you know, that's really impressive. Yes, that's, definitely, I think, one of the first questions that, you know, I'm usually asked when I'm talking potential Lexi users and people who are trialing the service. What's the accuracy level? So, 95% really is a pretty significant improvement or near 95% so kind of in that 94 to 95 range but from 90%. So that's really exciting.
You know, at the same time, you know, we've incorporated the ability to schedule events in advance and updated the user interface based on feedback provided by, you know, both customers and those who have trialed the service. We've also added greater ability to create, manage, and monitor Lexi jobs. So we'll talk a little bit more about that.
But yeah, since, you know, kind of this new normal took effect back in March with the coronavirus, we've seen like a real uptick in demand for accessibility solutions, you know, from educational institutions moving remotely, to a lot of corporations who were, you know, kind of had accessibility initiatives but we're pushing those forward just because of the greater need to do so with a remote workforce. And part of that ties into the scheduling feature because one of the great advantages of Lexi you know since since really its inception was, you know, with any AI service, you know with a human captioner with a manual caption writer, you always have to, you know, schedule that individual in advance you can't do so on the fly, I need captions right now and hit a button.
So of course, Lexi was always able to do that; however, the scheduling feature is something that was, you know, at that point not yet present. And people had asked about that because there's a desire to be able to schedule jobs in advance when you may not have someone on premises to schedule a job, it may be an early morning news broadcast for your engineer isn't yet, there things like that. And while there was some scheduling previously possible through GPI triggers with our hardware encoders, you know, that was not the case with our virtualized systems such as Alta and Falcon. So you know, that update’s particularly meaningful in that regard.
So with that, I'll turn things over to Ed to kind of take you through a little bit of what that scheduling feature looks like within the interface.
Ed: Thank you very much John. So yeah, what I wanna do here is the first thing we're gonna do is we're gonna go ahead and go over Lexi. One of the biggest and I think most helpful changes for Lexi 2.0 and that's going to be the Instances feature.
So, if you look at my screen right now, this should look relatively familiar to anybody that's already familiar with EEG Cloud. However, if I navigate over to the Lexi side of things, this is gonna look a little bit different. So, it's important to note that, you know, in the past, the process for initializing a Lexi job has always been pretty straightforward. You just configure the settings exactly the way you want them for the job in question and you've got immediate access to everything that Lexi offers.
But with the move to Lexi Instances, we're making this process even more simple than it's ever been before. What they represent is a reusable template of settings with which you can initialize your Lexi jobs. So creating an Instance is incredibly easy and you'll find that if you're already familiar with the Lexi jobs interface, you're already an expert on this new Instance interface. So as you create an Instance, if you go to add new you'll find that all the usual options that you've come to expect are right here.
So I'm going to go ahead we're going to select the name for our Instance, something representative of what these, you know, this what we want this template to well represent. So because I'm an extremely creative person (you'll have to bear with me in that department), I already have one instance so I'm just going to call this my second instance. And we're going to put in our Access Code here and if we want to choose, you know, some more advanced options here, we can go ahead.
Let's say we want all caps, we'd like two rows instead of three, and then maybe we'd like to go ahead and make use of Lexi Vision. This is an option that we have for the automatic positioning of captions based on graphics that are present on the screen to avoid captions, you know, covering up things like overlays or information that may be at the bottom of the screen. So say we want to select this. We hit submit, and what this is going to do is this is going to create a new Instance for us. And this Instance is just that template of settings.
So let's navigate into the Instance management page and take a look. So right away we can see we've got our settings at the bottom here. We also can see that we don't have any sessions created as of yet. Now this is because we haven't toggled the Instance on to run a Lexi job. So let's go ahead and fix that.
If I come up to this switch here and I toggle it on we can see now that we do indeed have a session. Now this is representative of a Lexi job that we've created using the settings that are already in place on our Instance. We got the job ID right here and any other relevant information.
And keep in mind that, you know, although reusability is a really big factor in why this is so helpful, say, for example, in the old jobs interface it was extremely helpful to be able to modify your settings from job to job. Maybe your use case often changed or, you know, you just found it useful that you could configure things how you wanted to figure out what worked best for you.
Well with Instances it's just as simple. All we got to do is, let's say I want another Instance and this time I'm not going to change anything I'm just going to leave it as the default. We're going to again be very creative and call it Ed's Third Instance. We're going to submit. This is going to create another Instance of settings reusable template of settings. And if I want to start the job right up then, if I wanted it to just behave as it used to where we hit submit and we get a job running right away, you can toggle your Instances on and off right here from the Instances tables. So you can see I can toggle this one off, toggle this one on here. And that's going to start up a new job but with these new settings that I've inputted.
The real advantage here is, say you're, you know, trying different things to see what works for you and you happen to figure out well, you know, this particular series of settings is really useful. Rather than needing to remember exactly what those settings are and go through and re-enter them every time with every job in the future all you have to do is just click a button and you can initialize and terminate your Lexi jobs that easy.
So I'm going to turn things back over to John so we can talk a bit more about some of the new features we've added to improve your experience with Lexi even further namely this Lexi scheduling feature that he mentioned.
John: Hey thanks, sorry about that. I was on mute, a little bit difficulty sharing my screen. So yeah these Lexi Instances that Ed was talking about this was really based on feedback we'd receive where a lot of these things in terms of comparing what encoders these were going to, where the video feeds were going, what custom topic models you might be using, weren't changing on a job-to-job basis. So that was definitely incorporated into our thinking with this release.
So moving along in terms of scheduling jobs, one of the one of the biggest really differentiators between Lexi and a live captioner was, you know, while you could bring up Lexi on the fly you weren't able to schedule jobs in advance. So with the Lexi 2.0 release you are able to schedule jobs anywhere from one minute in the future to 90 days in the future.
So with that we've also incorporated some live event management features. So you can with these live event management features you can take live events that you may have scheduled in advance or on the fly an extend running time so if the game goes into extra innings, if you have breaking news, if, you know, there's there's a political debate that's gone over time, these things can be extended.
Something else we've incorporated into this Lexi 2.0 release is the ability to monitor jobs with Lexi Leash. So you can ensure jobs don't run over so you're not using Lexi time unnecessarily. So with that I'll turn things over to Ed to kind of go through some of these features within the interface.
Ed: Well thank you very much, John. All right so really quick you can see here that I've got an event scheduled to run at 2:23 and 30 seconds but we're going to come back to that in just a moment because what I want to do is I want to kind of go through our Scheduling interface, our calendar views here with you in detail so you're as familiar as possible with this new feature.
So you can see that we have an access to a variety of views here. We've got a standard, you know, monthly calendar view, for, you know, just a general overview of a particular month. If you'd prefer we have a weekly view of a particular day.
So you can see here the event that I'd scheduled to start a job at that time and if you don't want to have to worry about, you know, the calendar UI how things are looking like, you know, on a particular day or on a particular month, we have a more no-nonsense agenda view that you can make use of that essentially it just shows you a list of any jobs that are scheduled to run in a particular date range. And allows you to access them in the same way that you would from any other view of the calendar. So, in addition to these views, we also provide you with the ability to filter through your scheduled Lexi jobs in a number of ways. Now this includes only seeing jobs that you yourself scheduled as opposed to any jobs that are associated with, you know, with your billing.
In addition to this, we also offer the ability to filter by Instance. So say for example, I have my three Instances here, bear with me on the names again. Say I only want to see jobs that have been scheduled using my first instance. Well if I click this you can see that the most recent event that I scheduled for the third actually is no longer being shown. Now this is a good way to help only see the information that's relevant to your current use case.
So if you know that you are going to be using an Instance that is associated with a particular Access Code, perhaps you filter only to the Instances that are making use of that Access Code so you can make sure that, you know, exactly what's running, you can make sure that we're avoiding any conflicts and all that good stuff.
So what I want to do now is I want to show you exactly how you're going to create an event. So if I go to a day next week, now keep in mind you can create an event in a number of ways. You can click the button up here, you can click a calendar cell to open up to a particular day, if it's more helpful, you know, if you want so we can just do drag and drop to open it up to a particular time range. But for right now, I'm gonna go ahead and let's say we want this to run next week at 1 p.m.
So we're gonna call this one o'clock p.m or we're gonna set it to one o'clock p.m. And let's say we want it to run for 30 minutes so it's going to be 1:30. That ends up terminating the job right? We see here that we can choose what Instance we'd like to use. We can also add a summary here. What this summary is going to represent is basically just any relevant information for that particular running of a job. So in this case in keeping with the rest of the naming I'm going to call this Wednesday afternoon.
And we also have some more settings here, such as the ability to set what time zone a job is affiliated with. So say, for example, you know, you're away from the office away from home but you still want to be able to schedule things without having to worry about kind of doing the math for the time zone offset in your head or remembering daylight savings or anything like that. Well it's just a matter of rather than, you know, going along with whatever the default time zone that is selected is, you can select your time zone and choose whatever one is most convenient for you. You also can have emails sent for, you know, a reminder email before the job's gonna start just to make sure that you're aware, you know, and also you can have a transcript sent after the fact once the job is complete. So I'm going to submit this.
We can see that this has appeared on the calendar and we can see if we go to the day here it's right there. Now let's say something didn't go as planned, something fell through, I no longer need this job to run as I had scheduled initially. Well, that's a pretty simple scenario to deal with. All you gotta do is select the job in question, select the event that was scheduled in question. I'm going to go ahead and click cancel event and we can see that it's disappeared off of the calendar. Now if you'd like to see events that you've cancelled still, you know, on the calendar it's as simple as clicking show canceled events.
Now we can see that we have this cancelled event here and if, you know, things change back if we want to restore the job to its, you know, scheduled state it's just a matter of clicking this restore button and it's going to be just as it was in the past. Now keep in mind that if your jobs tend to follow a particular schedule like say for example I have a job that I want to run every Friday early in the morning or relatively early in the morning from 6 a.m to 7 a.m. Recall Friday morning and we have a recurrence menu here. Now this allows you to select exactly when you'd like the event to recur, you may be familiar with features like this from Google calendar for example.
So I'm going to go here, I'm going to select that the event will recur weekly on Friday and we're going to submit. And we can see now that we have scheduled a job to start at that time based on that recurrence set starting on the day that I had selected. Now there are other recurrence options that are a bit more in detail say for example you only want a job to run on certain days of the week certain days of the month, or if you want the recurrence to end after a particular number of jobs or on a particular day, that's that's perfectly fine you can also handle all of those use cases. In fact if I want this to end on the 27th it's just a matter of asking that it stop after this recurrence and we can see now that there's no more jobs scheduled after that and we've kind of successfully modified our recurrent set in the way that we'd like.
So let's go ahead and check out the event from earlier so if I select this we can see here that we get some basic information on the event. When I had scheduled for, the associated Instance, who created that event just to run the job and we can see that it's active. So if I open this up we see here we've got our settings, we've got the current status, and state and just some, you know, helpful information in case you want to monitor its status in real time from the Scheduling UI.
But say, for example, we've realized that we thought we knew when this job needed to end but that's changed maybe the game went into extra innings or overtime or for whatever reason we just need this job to go on longer than we'd initially scheduled. Well you can absolutely open up the same form that you had used to create the event initially. Or you can make use of the extend event menu down here so that's just a matter of selecting the unit we'd like to extend this job by.
We're going to select how many, so let's say 15 minutes I want to extend it by. So it's 2:54 right now. We click extend and if we go back here we now see that we are not going to turn that job we're not going to terminate that job until 3:09 pm at this point. And this can be done as many times as is necessary so, you know, it can be very useful if, you know, you kind of things are a bit touch and go and you want to keep extending it out.
Now after a job has completed, if we select this event we do have an event summary. Now you are able to view information relevant to the sessions you know termination right from the Lexi Instances UI but if you'd like to view it from Scheduling you can see that we see when termination was requested, when this job was first started or initialized, and we can see that we can download captions right for here from the Scheduling UI in whatever format we choose. So that's extremely helpful for just, you know, after the fact if you want to go and check on the status of this job that ran it's right there for you in the user interface.
Again, we're really excited to be rolling these features out to you. As always, please, as you're using these new features, as you're kind of taking advantage of, you know, what we're trying to offer you, if there's anything that we can do to improve your experience with EEG, we love hearing from you and hearing your feedback. So, you know, please reach out to us because that's how we kind of make decisions about how to move forward in many cases.
So I'm going to turn things back to John for any further comments he may have and we look forward to answering some of your questions. John it looks like you may be muted.
John: Thanks, Ed. Thanks so much for taking us through the user interface and those, you know, exciting changes we've made to accommodate these new features for scheduling jobs and managing multiple Lexi Instances, and of course preventing overrun with Lexi Leash. So yeah this is just about the time where we're gonna open things up to some Q&A from all of you. But just, you know, some closing remarks from me, you know, this is a really exciting release for me as someone who, you know, works with a lot of users of Lexi and potential users of Lexi on a day-to-day basis and just what it enables them to do.
You know, previously the lack of scheduling was something that a lot of you pointed out and we've worked to address that in that release. We've also improved the accuracy and the scheduling, you know, as I mentioned earlier really is the most impactful if you're not using one of our SDI encoders but you're using some of our virtualized closed caption encoders like Falcon or Alta. And, you know, one of the use cases where I really see this with or two of them two or three really is particularly, you know, with state and local government who may be doing simulcast out to like a local cable channel for council meetings or, you know, at the same time they may be streaming their content to the web which I work with quite a few customers who do that.
And, you know, with the coronavirus we've seen a lot of people actually doing things like having council meetings on Zoom and subsequently streaming those to Lexi and back out. So actually streaming council meetings from Zoom and having to caption Zoom and then send that out to meet public accessibility requirements. And you seem to see the same thing in higher education so it's exciting how we've worked to address that with this release.
So at this point, you know, I'd like to open up the floor to any questions you have and I've already got quite a few here, I think one of the first ones was actually related to accuracy. What scoring system is used to measure Lexi accuracy for example NER. Are you able to share any accuracy records based on sample testing?
I'll go ahead and turn that over to Ed or Ed, I can answer if you'd like.
Ed: Oh no, I can answer. So my understanding is that the numbers quoted in this presentation are word accuracy rates not NER. For those that don't know word accuracy counts all mistranscribed words the same. So it's simple it's hard hard to argue with. NER is a more complex system that looks at how meaning and understanding is impacted by transcription errors.
Broadly speaking, NER scores are usually numerically higher than word error rate scores on realistic samples. When we say 95% word accuracy this is based mostly on local TV news programs reviewed with real customers. No one number really says and everything so we do recommend a trial with the content of interest to you especially outside of the news domain.
John: Absolutely thanks Ed. Question two, does the Instances engine recognize if there's a conflict of multiple Instances trying to use the same Access Code?
Ed: Yes, so it's okay to have multiple Instance presets targeting the same Access Code for example with a different model or different position settings. If you do try to run them overlapping the most recent one to start will run and take over. The same thing if you're working with a human captioner off of iCap. If they're authorized to caption your Access Code and cut in the Schedule job will end and allow them to caption.
John: Question three, can you create recurring schedules? And of course the answer to that is yes.
Ed: Yes, indeed, and if there's any further more specific questions regarding, you know, the recurrence or the extent to which you can schedule these recurring schedules please feel free to reach out to our Support because we want to make sure that you have as much information as your disposable or at your disposal rather as possible.
John: Yeah the basic implementation of this, I think, as Ed may have mentioned was, you know, some of the really familiar calendaring systems out there like Google calendar. So, you know, a lot of those features are inherently present. So question four, can you schedule start days, times and manually stop it for live events?
Ed: Yes you can absolutely manually stop scheduled jobs through the Instances UI. So if you do, you know, I would recommend you can select like the worst case stop time if it works for you and then you can go ahead and stop it manually if you so choose.
John: And question five, is the idea to add buffer time at the beginning of each event to test captions are working and at the end in case the event goes after?
Ed: Yeah, so I would recommend giving a minute or two at the start just for confidence checking purposes. But the system does start up within about 10 seconds, so if you don't really truly need the lead-in time, that's up to you. And you can, as I kind of mentioned, you can also set a worst-case end time and then kind of, you know, pair manually terminated if you so choose or as you said if the event does run over you can extend that event out if need be.
John: All right and question six, we've had issues with Lexi Leash not refreshing. Have these bugs been worked out?
Ed: So this question I really want to pass on to Support right after this webinar because we want to make sure that we're getting that answered for you and I don't, you know, I'm not equipped at the moment to speak to that but please reach out to us and we'll definitely work with you, you know, closely to make sure that this these issues are addressed and resolved.
John: Yeah, for sure. If you want to put your email in the chat as well with that somebody from Support can reach out directly to you and open up a support case that's always helpful as well. And question seven, can you also change the end time if an event ends early? Does this save on costs of captioning an event?
Ed: Yes, if you stop the event early, you know, manually through the Instances UI then you can know again indeed terminate the job before the scheduled end time. And, you know, at the moment there's also, you know, captioning timeouts. So if, you know, the audio uplink stops or goes silent you won't get billed for any time, you know, that was not used because the captions timed out. So yes that's absolutely an option.
John: And question eight, are there plans to permit setting Scheduling via an external automation or scheduling system something beyond using GPI?
Ed: Yes so for let's see so for I would say, you know, absolutely you'll notice it for more for content that's more difficult. Let's see here just kind of making sure I fully understand the question I'm sorry.
Yeah, so that's something that's been in place in the past, you know, permitting scheduling via external automation. I know John you kind of briefly mentioned that so maybe you'd be able to kind of speak to it more.
John: Yeah you can automate via GPI triggers if you're using our hardware SDI encoders. Are you talking about a third-party integration like with another system based on, I'm just looking at this question once more, via external automation or scheduling system. So yeah I will have to check on that and what the roadmap might be for that it looks like. You're looking at doing something like an integration with API’s or something like that.
Ed: Yeah I would recommend making use of the HTTP API. You know, you can use that for scheduling purposes. Feel free to reach out to Support you can actually speak directly with Wes Long. I know that he's, you know, very useful and as far as, you know, helping out with that. Great guy. So yeah so, you know, feel free to reach out and, you know, we're happy to help out with that.
John: Yeah and Wes's email is just Wes, firstname.lastname@example.org. So if you just want to reach out to him or send something to me at John, email@example.com, I can forward it to Wes, but definitely want to get you set up there with using those HTTP API calls. So, happy to give you any resources you require to do so.
And question nine, good I'm glad we're getting all these questions, is the upgrade to 2.0 happening in the Lexi cloud or do we need to upgrade hardware? And I can go ahead and answer that. The upgrade will be happening in the cloud so there's no need to upgrade any hardware unless Ed, you have anything to add to that?
Ed: No, that's, you know, that sounds good. I also do want to mention that these new features are going to be available with, you know, on on-premises appliances as well, not just in specifically, you know, EEG Cloud, so yes, that's that's also available there.
John: Awesome. All right well hey guys, thank you so much for attending today's webinar on the Lexi 2.0 release. Sorry we had a minor technical issue there at the beginning but looks like we got underway without really too much of a hitch so thanks so much. And yeah this is a really exciting release for me because, you know, I've always, you know, and I would like to think and I think it is that, you know, our reputation within the industry is being an extremely customer centric company.
But with this release, you know, this is really almost based entirely on feature requests from, you know, Lexi users and prospective Lexi users. So, you know, we definitely do listen to this stuff. You know, I hear a lot of this in my day-to-day conversations, I pass it to Bill and Ed and the software development team and that's how these features become a reality in a release like Lexi 2.0. So definitely keep the good ideas coming, we appreciate it and it enables us to better serve you so thanks so much for --
Ed: My apologies for interrupting I did want to kind of also mention as far as, because I happen to notice there was a question regarding release schedule for Lexi 2.0, it's already been released, available on eegcloud.tv so that's that's all taken care of. And keep in mind that if you trigger Scheduling with GPI please contact our Support so you can get your update and be able to select the new engine. So I just wanted to mention that sorry for interrupting you, John.
John: Oh no no, not a problem, not a problem. So yeah, it is available today, I mean, that's a very important point to mention. But, you know, I hope you guys enjoy these new features. Please, you know, continue to use Lexi and continue to, you know, if you're interested in starting to use Lexi please contact us and let us know what you think. Thanks so much and everybody have a great day. Happy captioning. Take care.