Skip to main content

My last day of work and hoping it's a beginning of something new

It was my last day of work and I'm happy I finished my remaining tasks on time. And now, it's time for me to move on to my next journey. The only reason I took the job was for me to get enough experience to build my own app. So I already planned it that I will quit my job after 3 years since I signed the 3-year bond contract.  Didn't know that it was tough having one source of income but I think I'm good since I'm still living with my parents... There are times that I compare my income and life to my coworkers, same age brackets and shit... which resulted for me to lose my focus and my mind shifted a lot of times, and I think it's a waste of time to repeat it again. But... at the end of the day... I'm just too lazy I guess and I think that a day job is not suited for me. I'm more of the build one app and make it rain type of guy... Don't even know what to do now!!! I guess I'll try playing stocks and multiplying my money while trying to build my ...

Creating a simple text to speech program like Wall-E with nodeJS

Creating your own WALL-E

First of all to introduce you to what nodejs can do, we will start with a small project and use an available third party library named Say.js for our text-to-speech program. With this you can build your own WALL-E.

First let's install the libraries we need for this project: 
npm i --save say
npm i --save lodash

Let's import them using:
const say = require('say'); 
const _ = require('lodash');

let's try if the say library is working by making the computer say Hello World (literally of course!!!)
say.speak('Hello World');

😮 It does work right? Now remove that line and let's create something like a speech logger so that everything we ex'ed on our todo list, the computer will let us know by telling it to us loud and clear using the say library:

What this does is we wrapped our say.speak in a promise so that everytime we call the logger the computer will stop and wait for the computer to finish speaking before it executes the next line of code (after calling the resolve() function).

If we did not do this you will hear all the texts being said all at the same time. 😩

So let's move on and create our simple todo program where we will use our speech logger:

Now that we are done with the flow of the program let's create all of our helper functions. Let's create our addToTodoList function, we call this everytime we add a todo in our todo list.

What's a todo list without a way to mark it as done. So let's create that function next:

And, lastly, we may need to create a function to let us know the remaining todos we still need todo for the day:

You may see that we put a lot of await keyword everytime we used the logger function, this is so that it tells the computer to wait till it finishes that line of code (till the promise is resolved).

Once everything is ready and done we can now run the app by calling this:
runApp('Rob');

As you can notice, I passed a name in the runApp function so that the computer can call us by our name. Run the program with:
node index.js

Conclusion

Creating a text to speech program nowadays is very easy because of the technology and third party libraries available in the node package manager. Below, I attached the audio and console logs from the program so you get the idea of what the apped does and that it works:


Speeh to text todo list by Noobie Programmer

Here is the full source code for the project:

Here is the link to the github repo in case you want to clone it: https://github.com/doppelgunner/speech-to-text-to-do-list

Be sure to subscribe to my youtube channel for the video version and to my newsletter so that you keep up to date with my latest tutorials. Thanks! Ciao!

Comments

Popular posts from this blog

Flutter: How to create an error alert or popup notification with SnackBar

There are 3rd party libraries out there that offer alerts or popups in Flutter. But, what I'll be teaching you today is how to use the built in SnackBar widget to produce an error popup or notification easily. For the video version of the tutorial go here:  How to use snackbar in flutter as error alert or popup notification To use the SnackBar widget and make a nice Snack Bar that you see in most google apps like youtube, all you need to do is wrap your entire app with the Scaffold Widget. So let's make create a new file page_wrapper.dart and create a new Widget named PageWrapper that accepts a widget as children. After that all we need to do is call the PageWrapper widget in all of our pages so that we have a base widget that uses the Scaffold in every page. This means we can now use the SnackBar on every page. In the main.dart all you need to do is this: Then now we can create the home page and create a snackbar. Before that we need a trigger ...

What is the DOM and how does it work?

     I've been asked to teach about the DOM... but first and foremost what is the DOM ? Is it when you are angry and you say DOMmit!!! hehe Or Is it your friend DOMinick??? Well kidding aside, the DOM just stands for Document Object Model (😅Sorry for joking but please continue reading the article - there are javascript examples below in codepen ). Browser is taking the HTML sent from the server and converting it to the DOM. so the browser is based on the DOM and not on the html and everytime we edit the dom using javascript it gets reflected on the screen. Is the browser's internal programmatic representation of the web page. Which basically means one thing, you can manipulate the web page using the dom. and how do we do it? of course by using our favorite language, JAVASCRIPT! Since the dom is more or less an object in javascript, it contains several function to access, modify and delete certain elements. If you are familiar with jquery a...

My last day of work and hoping it's a beginning of something new

It was my last day of work and I'm happy I finished my remaining tasks on time. And now, it's time for me to move on to my next journey. The only reason I took the job was for me to get enough experience to build my own app. So I already planned it that I will quit my job after 3 years since I signed the 3-year bond contract.  Didn't know that it was tough having one source of income but I think I'm good since I'm still living with my parents... There are times that I compare my income and life to my coworkers, same age brackets and shit... which resulted for me to lose my focus and my mind shifted a lot of times, and I think it's a waste of time to repeat it again. But... at the end of the day... I'm just too lazy I guess and I think that a day job is not suited for me. I'm more of the build one app and make it rain type of guy... Don't even know what to do now!!! I guess I'll try playing stocks and multiplying my money while trying to build my ...