 My name is Leverbitsky, and I just came to Singapore from the Czech Republic. Yeah, enjoying your hot weather, by the way. And actually, the reason why I want to talk about this topic, my website talk, is about here in Asia, you have so many languages, and yeah, sometimes you really have to use your Google translator a lot, and yeah, that's the way how you survive. Not Singapore, you know, in Singapore, because awesome everyone speaks English, but like if you go abroad, yeah, sometimes it's hard. And basically, I wrote this small application like two years ago, and unfortunately the speech API didn't evolve in like two years, so they're still the same, but from the other hand, it still works. Okay, let's get started. So basically, the app I want to present to you is, it's something like a Google Translate, but it's open source. When I started to work on it, I was trying to find an API. So basically, you have like a Google Translation API, you have Microsoft API, and there's Yandex Translate. So basically, the first two, you have to pay to use them, and like, yeah, I didn't want to pay for like a home main project. So, and then I tried Yandex Translate API. Yandex is an IT company in Russia, and it's like a Google competitor, and they have free version of the API. So if you don't, if you use it for non-commercial thing, and if you know the exceed some like how many thousand requests they can do, just go ahead and use it. The API is really simple. First, you go to this URL and sign up. Then you get your API key. After that, there are two main APIs. The first one is to get a list of supported languages. It's not Google, so it doesn't support like all thousand, like, I don't know, hundreds of languages we have in the world, but yeah, most common ones like French, German, English, like Chinese probably, and yeah. So there's like one API call, get languages, and you will get the list of languages, like which dictionaries are there. After that, there's another call. So basically you can type in any language. I know something in German, and then the API can detect your language based on your content. So another really simple call, and yeah. And if it doesn't know, so you can give you like, okay, it's like probability 60% is English and probability is like 50% is like German, whatsoever. Okay, and after that, the final step is to translate the text. Again, that's another API call, just translate from what language to what language, and send your text, and you get the response. So that's the first part of the API. And then we are going to the Web Speech API. So I have a dream. After I watched the first Iron Man movie, I really want to have this clap. And like two years ago, we didn't have Alexa and like commonly available and other speakers. So I was playing with Web Speech API because it was probably the easiest framework that you can just go and use. You don't want to deal with like Apple or iOS. If you're not iOS developer or Android developer, so probably it was almost the only option. And so Web Speech API, it's still a draft. So it's not a standard yet. It's not approved. That's why it's not supported by all major browsers. And it has a few components. The first one is a speech recognition component. So that's basically, when you say something, you can use a mic on your laptop. And this component will be able to recognize your speech and convert to text. And another big component is speech synthesis component. That's basically a text-to-speech API. So you can send any text and it will talk to you. And yeah, there are some other APIs. So this is a demo. And if you want to play around with this app, go ahead, download it and play with it. And so let's go to the code. So this is my demo. And the demo has basically two main methods. You can do recording and you can do speech. So when you do recording, first you have to choose a language. Actually, let me run it first. It will be easier. So we do... 8080. So basically this is a really simple thing. And you can start recording. Hi, how are you doing? And something doesn't work. Oh gosh, I'm out of internet. Do we have Wi-Fi here because I need API? Sorry. That's why you want to do a real app. Just go ahead and build it on iOS. They haven't built in. That's what happens when you don't have internet nowadays. That's a proxy login page. Okay, let's see. Here we have languages. Awesome! So let's try again. Hi, how are you doing? Yep, so it works. And then I can translate it to Russian. Slate and read. And then I can French. Like French. Slate. Something will sound. Okay. So anyway, how it works. And the API is like a really simple one. Basically, when you do your recording, you have to choose your language. So it will be probably EN, DE, FR. And then you just have your own result handler. So this event handler is called when Chrome is able to recognize text. And then you just click start and it will start recording your voice. And then when you, in your event handler, you have a result. And inside the result, Chrome will give you different options. So it counts the probability. So probably this text means that. And then you can just join them all together. And for translation, like when you... Okay, so it's a translation. When you want to... For the speech, see. Yeah, for speech. For speech, it's like even easier. But there is a hack. You have to... First, Chrome has to load voices. It has built-in voices for different languages. But if you call this function in like window speech voices, not inside like a timeout, but right after like the function call, it will return you now. So for some like... There is a bug or hack in Chrome. So you must call this get voices inside set interval method. And then you just choose your voice and create this object. This is like a speech generator that gets your text. And you also provide the voice for your language and do speak. Like really simple and straightforward. So we go back here. So unfortunately, this API is not like approved to the standard. So it's not supported by all browsers. But yeah, now it's supposed to work from home. But as you can see, we have 63% of coverage. Like two years ago, it was 40-something. So it means Chrome is growing a lot. Here we go. Thank you. I don't understand the coverage. Coverage? Oh, it's all right here. 63%. So basically, you can use it for Samsung Internet. It means it's like a Chrome probably. And then Chrome on Android and Chrome. And under the hood, the speech API uses... I think it's the same language and speech engine that you use on Android. And if you are on Google Cloud, so probably you have an API that you can use in your normal applications, like desktop or mobile, whatever. Yeah, I hope they will add a safari. Any other questions? Sure. I'm sorry? Yeah, you have to... You have preset voices. Voices are part of this speech engine from Google. And you have a set of voices. And each voice is associated with a particular language. So then you just load voices first. It's sort of like a voice API. And then you have this... Then you have this class that is responsible for speech synthesis. And yeah, it must have a voice to be able to produce something. The Yandex translation... I mean, how is recognition able to handle... I think they work in this. So basically, I'm originally from Russia. So I know Yandex. And I know guys from Yandex. So they have a developer portal, like developer.yandex.org. And they have all bunch of APIs. They have mapping, they have voice recognition, they have some machine learning stuff. So it's quite... If you have time and interest, just go and take a look. For Yandex APIs, which one do you think are pretty strong? I guess translation APIs are really, really strong one, yeah. And the map, they have a really good map. And I know that they probably... I don't know for Yandex, but I think they're working a lot now with Asian markets. So we'll see what they'll come from. But if you're in Russia and you're driving, then the Yandex maps is just a go-to solution. Any other questions? So if there are no other questions, then I think you're pretty sure what you meant at the end of the interview. Thank you. Thank you very much. Thank you.