[MUSIC] So now we have the user interface connected. Let me just double check here the view controller very fast. So in my view controller I actually see now that my for the text view is connected to this dot here shows me it's connected and I have my two functions connected. If I run this application now. Actually what I might have to do for that is get out of view for a second. So if I run this application now. It's compiling, it's running, but it's successfully, application fires up. So there's no text in here. If I now say, so first a couple of things to verify. If I now, make this window bigger, you see the Stop and the Speak button on other constraints and they move the screen. And also my text view is now actually following the size on my window. If I say something here now like hello Ralph and I press the Speak button, what will happen here is it will call the function speak, and inside my speak function so far there's not much code there. So what I do here is I basically speak button click to say whatever I said here. So in my console it says Hello Ralph. So it does not speak yet, it gives us an error up there. So we can ignore that for a moment, so the next thing which we want to do now is we want to make it actually speak. So to make it actually speak, we will go and go into the view controller at first I stop the execution of the the application. The next thing which we want to do is we want to activate speech synthesizer and we want to read the text. What I do here is, let speech synthesize be in n s speech synthesizer. Yeah, and it gives me a warning that I'm not using it, that's fine. And because we're making a new one obviously we have the brackets there. So now we have a speech synthesizer and all I need to do here is if I go into the speak button click. First thing I want to make sure is I want to define some form of contents, right? So let my contents be equal to something like text view. Text view, yeah, string but was a where. Got this So basically it's an if. Is empty. Sorry, the kind of, contents is empty, sorry. And then, [LAUGH] that was an easy error. Right, so we look at the contents and so we take the string and, but only if it's not empty, and if it's not empty, then we take this speech synthesizer. And I can take our speech synthesizer and I say start SpeakingString, and into the string actually we move the contents. All right, so that is if it succeeded, and else, where we do in the other case, we basically say speechSynthesizer, start SpeakingString, nothing to say to you. I have nothing to say to you. All right so that's what happens in that case and than the equivalent here at the bottom is basically if I stop, then I saw speechsynthesizer.stopspeaking. So when I run this application now, compile and run, it succeeds and so let's see if and how it works. >> Let's see if it all works. >> All right, so I can speak. >> Let's see. >> And, I can stop the synthesizer whenever I want. So, my user interface is complete. My application can actually allow me to write the text. And I can enter the text and I can use a synthesizer to speak it. So I think this is a good moment to cut this module off, and then I will do a second part where I will show you how we integrate all this saving the files in the file system. Thank you. [MUSIC]