Text To Speech & Synthesis App - JavaScript & Web Speech API

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ม.ค. 2025

ความคิดเห็น • 196

  • @braydoncoyer174
    @braydoncoyer174 6 ปีที่แล้ว +163

    Brad, thanks to your videos and Udemy course, I landed my first web developer job. Thank you so much for all you do! I literally owe my career to you! Can we get this comment up to the top so Brad can see this?

    • @TraversyMedia
      @TraversyMedia  6 ปีที่แล้ว +13

      Braydon Coyer thank you very much and congrats!!!

    • @s.aa.a4919
      @s.aa.a4919 5 ปีที่แล้ว +1

      Congrats ❤️

    • @chidichuks2853
      @chidichuks2853 5 ปีที่แล้ว +1

      Congratulations!

  • @burhankalu2682
    @burhankalu2682 6 ปีที่แล้ว +72

    As long as we appreciate you Brad you will be a living legend your just a rare gem.

  • @TraversyMedia
    @TraversyMedia  6 ปีที่แล้ว +43

    Lol at 3:24 i forget my left and rights 😂 just noticed that now. Also, just to let you guys know, the JS starts around 13 mins in

    • @zibbp97
      @zibbp97 6 ปีที่แล้ว +2

      Thanks for the video :D Love it!

    • @VeeWebCode
      @VeeWebCode 6 ปีที่แล้ว

      how to record your videos?

    • @לירןלירן-ס7ז
      @לירןלירן-ס7ז 6 ปีที่แล้ว

      hi can you please keep make videos of angular firebase ?

    • @beatrixbeatrix8452
      @beatrixbeatrix8452 5 ปีที่แล้ว +1

      Hello, Can you pls do a tutorial for google text to speech api? Btw, I'm a novice to programming so this tutorial was lost on me and I am not sure if I can use the same code for google api text to speech.

  • @hamzajirah
    @hamzajirah 6 ปีที่แล้ว +18

    Brad is easily one of the best Tutors.

  • @vikasni95
    @vikasni95 5 ปีที่แล้ว +5

    Brad is not just a human being but a god gift to billions of young programmer... Love u Brad from india🇮🇳😊..

    • @luhgaming215
      @luhgaming215 5 ปีที่แล้ว

      i cant get voice list
      help plz

  • @jdubhman
    @jdubhman 3 ปีที่แล้ว

    This is a great tool, copy and paste in news articles and have them read aloud!
    Thank you so much for all of your tutorials! 🙏

  • @Flamewheel2001
    @Flamewheel2001 ปีที่แล้ว

    I once again am on a coding adventure and I find your tutorial with the answer. Thank you good sir

  • @LordDewi
    @LordDewi 3 ปีที่แล้ว +3

    Holy Crap! This is great!! So helpful, even 3 years later. Not sure where you got the voices but it still works, for free. I had to use WinMerge to see where I screwed up because I didn't want to just "borrow" the script so I typed everything out and messed up. The only problem I have is, in 2021, is that in Firefox and Brave,. Chrome based, it only has Microsoft voices. If I open Chrome it shows all the voices though. Not sure what's going on there. I even tried it with the downloaded code with the same results. At least there were voices but I wanted more options. Thanks for the info and code and tutorial.

  • @lonniebest4697
    @lonniebest4697 6 ปีที่แล้ว

    Another timely video. Keep them coming Brad. I enjoy all your hard work!

  • @brunoaustin9756
    @brunoaustin9756 5 ปีที่แล้ว +1

    Hey Brad. You're tutorials are exceptional. Thanks for doing this

  • @PavonDunbar
    @PavonDunbar 6 ปีที่แล้ว

    I'm in between jobs man but I found a new gig and I start next week. When I get my bills caught up I need to shoot you a donation or something soon to show my appreciation, Brad!

  • @jegedeayodeji3306
    @jegedeayodeji3306 6 ปีที่แล้ว +1

    I envy the way you analyze and write your codes!!
    Much love ❤️ and thank you.

  • @UstadJi
    @UstadJi 6 ปีที่แล้ว

    Brad Dear I Have No Words To Say Thank You To You. You Are A Saviour

  • @ahmedthebest
    @ahmedthebest 5 ปีที่แล้ว +11

    I downloaded your project and run it with a live server
    but my voices list was empty and I have this error:
    TypeError: Cannot read property 'getAttribute' of undefined
    main.js:85

    • @KelbornXx
      @KelbornXx 4 ปีที่แล้ว +2

      Go to line 42 of your JS and remove the comment. That fixed it for me!

    • @ahmedthebest
      @ahmedthebest 4 ปีที่แล้ว

      i tried but doesn't work please can you send me the fixed project or commit it into the github rebo

    • @KelbornXx
      @KelbornXx 4 ปีที่แล้ว +2

      @@ahmedthebest Replaced lines 41 - 45 with the below:
      //Line 35, 36 causes voice list duplication
      getVoices();
      if (synth.onvoiceschanged !== undefined) {
      synth.onvoiceschanged = getVoices;
      }

    • @ahmedthebest
      @ahmedthebest 4 ปีที่แล้ว

      @@KelbornXx thank you, it works

  • @BlakeEdwards333
    @BlakeEdwards333 6 ปีที่แล้ว

    I was waiting for a video like this! Thank god i have TH-cam notifications on!

  • @matteyahmed6470
    @matteyahmed6470 6 ปีที่แล้ว

    one of the best teachers on the internet. !!!

  • @PavonDunbar
    @PavonDunbar 6 ปีที่แล้ว

    Legendary tutorial! Thank you, Mr. Brad! Appreciate ALL your content. You are THE MAN!

  • @sarthaknikhal5540
    @sarthaknikhal5540 3 ปีที่แล้ว

    Brad: "This video is sponsored by Dev Mountain. They will teach everything great like in a bootcamp
    (proceeds to teach all the cool web dev content by giving good tutorials for free and better than most bootcamps)

  • @trulymittal
    @trulymittal 6 ปีที่แล้ว

    hey brad, while watching just only 52 seconds of video, i noticed one thing which makes this video stand out, that today the lightening on your face is perfect and i can see you as well 😀. As for the video, i already know that the content will be as good as always, i have no doubts abt the content, keep the good work. hav a good day

  • @tsigiekumssa4018
    @tsigiekumssa4018 6 ปีที่แล้ว

    You are advanced and amazing man. Keep up the good work!

  • @rukkiecodes
    @rukkiecodes 4 ปีที่แล้ว

    Brad has always been my best

  • @yendrembamrabinchandra476
    @yendrembamrabinchandra476 6 ปีที่แล้ว

    I love to watch your tutorial videos, Brad

  • @combinio9533
    @combinio9533 6 ปีที่แล้ว +1

    Amazing video Brad, as always! ;) anyway, the thing is: the more advanced app I make, the more problem I get with organizing my code. Perhaps You would explain what are the rules to keep code clean, how to organize it, bring up some basic rules You restrict and so on. I know there are many books on the market, but everyone wants You to teach us, not the books ;P
    building small apps is easy, but maintaing and developing big ones is not.

  • @Desiupchar
    @Desiupchar 4 ปีที่แล้ว +1

    TTS with audio share in Android studio
    Can you give any idea how it develop

  • @rutvikshah4589
    @rutvikshah4589 6 ปีที่แล้ว

    Awesome brad !
    Your tutorials helping me a lot:)

  • @elhadjbabacarcisse2868
    @elhadjbabacarcisse2868 6 ปีที่แล้ว

    Thanks Brad for another awesome tutorial!

  • @saileshpatra2488
    @saileshpatra2488 6 ปีที่แล้ว +1

    The if block is called only when the condition is satisfied i.e. (when the voice list is fetched).So why do we need to call the getVoice() method before the if block.The app will work the same without the getVoice() ouside the if block. Anyone having the same doubt plz reply.
    Talking about the follwing code
    getVoices();
    if (synth.onvoiceschanged !== undefined) {
    synth.onvoiceschanged = getVoices;
    }

  • @juiceboxh3ro
    @juiceboxh3ro 4 ปีที่แล้ว

    thank you for this! it was more fun than i was expecting; i refactored it to work in Vue after watching your Vue and Vuex crash courses 😁

  • @CynthiaSotoCaballerolYEAHl
    @CynthiaSotoCaballerolYEAHl 4 ปีที่แล้ว

    Bootstrap migration for classes:
    custom-range --> form-range
    form-group --> mb-3
    float-right --> float-end
    btn-block --> w-100
    badge-primary --> bg-primary

  • @smartsniper268
    @smartsniper268 6 ปีที่แล้ว

    Wow ...I love that sort of things thank you so much for this..💖
    Very happy to get it....

  • @canimcanimnazlim
    @canimcanimnazlim 3 ปีที่แล้ว

    thanks for this awesome little project man

  • @YigitSayan
    @YigitSayan 6 ปีที่แล้ว +1

    Hi Brad, when you type something and change the voice, it actually appends the same voices to the select element again, I added another condition to synth.onvoiceschanged !== undefined && !voiceSelect.hasChildNodes() not sure what caused this on myside

  • @VickyJayOx
    @VickyJayOx 6 หลายเดือนก่อน

    5 years ago and the code is still valid

  • @KochharAmandeep
    @KochharAmandeep 6 ปีที่แล้ว

    Hureyyyy!!!!! Back here again to see awesome development videos

  • @avi12
    @avi12 6 ปีที่แล้ว

    1:40 This list is affected by the OS and the browser.
    From my experiment of making a similar page, Chrome had a different voices list than Edge.

  • @Mihailegal
    @Mihailegal 5 ปีที่แล้ว

    Man you’re the best!!!! Love your work!

  • @maksymkalashnyk
    @maksymkalashnyk 6 ปีที่แล้ว

    Awesome! Brad, thanks for this useful video

  • @DanielK48
    @DanielK48 5 ปีที่แล้ว

    Very cool project! Big thumbs up :)

  • @ikezedev
    @ikezedev 6 ปีที่แล้ว

    Thanks Brad... You're a blessing

  • @AshishNallana
    @AshishNallana 4 ปีที่แล้ว

    I am going to try it...thanks for this project

  • @stephh4392
    @stephh4392 6 ปีที่แล้ว

    Like the project and how you teach it, just to mention, this API is not doing translation, it is just pronunciation from different countries

  • @vinayshankar1778
    @vinayshankar1778 6 ปีที่แล้ว

    brad,thanks to your video ...i can develop my knowledge and trending technology which is using IT companies product.

  • @samuelmino2536
    @samuelmino2536 3 ปีที่แล้ว

    so i have a question, this amazing btw, but how would i make it possible for instead of tts feature, rather when you click a button it will say what is inside the text box of the button of the site. For example if the button says "goodbye" it will say "goodbye"?

  • @swoorp
    @swoorp 4 ปีที่แล้ว

    Loved it, best to practice javascript

  • @gauravimore4362
    @gauravimore4362 ปีที่แล้ว +1

    code is not b=working for brave?is this happening only with me?

  • @sarvarkhalimov111
    @sarvarkhalimov111 3 ปีที่แล้ว

    Cool man. This is an amazing tutorial

  • @zeeshanmanzoor7622
    @zeeshanmanzoor7622 6 ปีที่แล้ว

    brad "The Real Marvel" hero

  • @davidconnelly
    @davidconnelly 6 ปีที่แล้ว

    Hey, thanks for the video. You're great and I'm grateful.

  • @mayankrustagi
    @mayankrustagi 6 ปีที่แล้ว

    Brad, you are a legend.

  • @kehindefasola1852
    @kehindefasola1852 6 ปีที่แล้ว +1

    thank you brad, may God bless you my mentor

  • @stephh4392
    @stephh4392 6 ปีที่แล้ว +1

    I am watching Brad's video a lot recently, at least one video per day, Really like these videos, just I found that I become dependent on following typing, and hard to digest and absorb the tech behind, is there a better way to watch and use these good tutorials? What do u guys do to learn from these excellent videos from Brad? Thank you

  • @toyinatofarati5512
    @toyinatofarati5512 5 ปีที่แล้ว

    I love this man... My Mentor

  • @latelotus
    @latelotus 6 ปีที่แล้ว +2

    Hey, Brad. Long time subscriber here. Love what you do, but I was wondering if you considered creating a course on referencing skills and reading documentation.

    • @TraversyMedia
      @TraversyMedia  6 ปีที่แล้ว +3

      I have thought about that and even somewhat attempted it but my learning style is so all over the place, it is hard to make a linear video/process explaining it you know? But I'm sure I can figure something out at some point

  • @alexblue8524
    @alexblue8524 5 ปีที่แล้ว +1

    What does the blur method do?

  • @ahmedthebest
    @ahmedthebest 6 ปีที่แล้ว

    I normally use Visual Studio code as my main text editor but I don't know all of this awesome things do you have any videos about this programme how to use it first tips and tricks you know something like that

  • @lardosian
    @lardosian 6 ปีที่แล้ว +4

    That was Mandarin Brad!!

  • @SihaoCao
    @SihaoCao 4 ปีที่แล้ว

    Nice app and tutorial Brad, thanks for putting this together and sharing it with the community!

  • @curlblue18
    @curlblue18 6 ปีที่แล้ว

    How long does it take brad to do these tutorials? Are these done live or does he spend time doing them then show us how he did it?

  • @birsingh5388
    @birsingh5388 6 ปีที่แล้ว +3

    Can we create a mobile app by using PhoneGap from these files?

  • @sviatoslav3347
    @sviatoslav3347 6 ปีที่แล้ว +1

    I found the bug. When you choose another language, your select is adding another same options

  • @jujefesko
    @jujefesko 4 ปีที่แล้ว

    Great video, I wonder can you record your own voice, and put it into the filter menu, and use your own voice?

  • @Denvercoder
    @Denvercoder 6 ปีที่แล้ว +5

    So I just finished your MERN course on Udemy. Can you do an add-on to that showing how to do Facebook/Google/Github login? I've tried several times to integrate them and I can get to the point where it is trying to complete the login and it's not working. That would be really awesome. I would pay just for that course.

    • @ovidiugrosu213
      @ovidiugrosu213 6 ปีที่แล้ว

      That's also where I got kinda stuck. I made it work but I'm not sure if I used the best approach :)

    • @Denvercoder
      @Denvercoder 6 ปีที่แล้ว

      Yeah, I took a look at that but I was hoping Brad could do an add on to the course so I could see it in the context of the app be built in the Udemy course.

  • @junka3
    @junka3 6 ปีที่แล้ว +1

    Yes I do like this javascript tutorial.

  • @monsarmiento7685
    @monsarmiento7685 6 ปีที่แล้ว

    Hi, I just wanted to thank you for your video it's really helpfull but I wonder if you could tell me why I can't make my bars for "rate" and "pitch" look like yours, is it because I need to install bootstrap or something like it?.
    I hope you can answer me.
    Thanks again.

  • @tsigiekumssa4018
    @tsigiekumssa4018 6 ปีที่แล้ว

    We loooooove you Brad! You're awesome! !!!!!

  • @ahmedthebest
    @ahmedthebest 6 ปีที่แล้ว

    Please can you give me a link to this extension you are used as a video to clean your coat while typing and your recommendation for best extensions in Visual Studio code

    • @binarybytes7645
      @binarybytes7645 4 ปีที่แล้ว

      Prettier extension is used to make your code clean, even I use it.
      And I think "Live Sever" is the best extension (For those who use HTML, like me !!).

  • @AbhishekKumar-mq1tt
    @AbhishekKumar-mq1tt 6 ปีที่แล้ว +1

    Thank u for this awesome video , u r my favorite and idol

  • @shabellah18
    @shabellah18 3 ปีที่แล้ว

    you are a godsend, thank you so much !

  • @musicasdojulian
    @musicasdojulian 3 ปีที่แล้ว

    Nice job! Thanks for that! Do you know how can I use this to speech a text within a div? it's for hearing accessibility . Thanks for your attention.

  • @iulianab
    @iulianab 2 ปีที่แล้ว

    Hello! Thank you for this amazing tutorial. Can you please tell me if there is a way to download the audio as an mp3?

  • @lilrex2015
    @lilrex2015 4 ปีที่แล้ว

    something is wrong with this setup. I wrote it line for line and copied the github repo and neither work. Brad can you take a look please?
    **EDIT**
    I FOUND MY ERROR

  • @siddy518
    @siddy518 ปีที่แล้ว

    can we add an option in this to download the generated audio as in mp3?
    i would really appreciate the help ;)

  • @cloudninja8768
    @cloudninja8768 6 ปีที่แล้ว

    please sir tell me what should I learn after completed Html, CSS & JavaScript(Modern JavaScript From The Beginning) ?
    ("I mean which framework should I learn react.js, node.js and vue.js"). And I am new in developing field.

  • @celebDataa
    @celebDataa 4 ปีที่แล้ว

    wonderful!. I want to ask a question, please reply.. my question is that can i use my own voice as a voice over?, instead of it sounding like a robot?..Thank you BRAD!.

  • @rajeshnathani626
    @rajeshnathani626 6 ปีที่แล้ว

    Oh I got a bit late but nevertheless belated "Happy Teacher's day Brad" 😀

  • @Ash-em5pm
    @Ash-em5pm 6 ปีที่แล้ว

    Hey Brad , this is a pretty cool video,
    What I am thinking right now is can we make the voice sound a bit more natural than computerised voice using a 3rd party library. Is there any you are aware of? I am quite new to audio and speech technologies in javascript so just asking :)

  • @simajacob7416
    @simajacob7416 6 ปีที่แล้ว

    Thanks Brad. this is so cool. Can you please do the Video one as well.

  • @MohamedSalah-ie6ok
    @MohamedSalah-ie6ok 5 ปีที่แล้ว +2

    It doesn't give me a select when i try you code on browser
    thanks in advance

  • @riis08
    @riis08 6 ปีที่แล้ว

    @Brad amazing... how can we save the audio once its done.

  • @s0234799
    @s0234799 5 ปีที่แล้ว

    There seems to be a limit for the number of words per request. Is it possible to increase that limit?

  • @rishukumar7586
    @rishukumar7586 6 ปีที่แล้ว

    i have a doubt here you are not using any transpiler how your browser able to interpret es6 syntax?

  • @richiexp2
    @richiexp2 6 ปีที่แล้ว

    Great video...Hi Brad can you make a video on how to plan an app before coding it? thanks.

  • @naghamalsayegh4551
    @naghamalsayegh4551 3 ปีที่แล้ว

    If I open the demo in Firefox only two languages are are supported how can I access the other languages

  • @shubhamchitre4702
    @shubhamchitre4702 6 ปีที่แล้ว

    How to use that clock which you use in your videos brad?

  • @xtremegamer5336
    @xtremegamer5336 6 ปีที่แล้ว

    Hey Brad, I was wondering if you could do a tutorial on planning web applications and then turning it into code. I really appreciate your tutorials but I don't want to keep copying code. I've been wanting to build small apps like these.

  • @adamdalker5134
    @adamdalker5134 6 ปีที่แล้ว +1

    thanks for great video tutorial, but i have a problem, always error like this "Uncaught ReferenceError: $st is not defined" do you know how to fix this?, anyway thanks

    • @prajwalpkulkarni
      @prajwalpkulkarni 4 ปีที่แล้ว

      I am one-year late I know, but I got the same error. I compared my code with brad's and it absolutely had no differences at all, however got the same error. So, I copied his code for that part :(

  • @heppen9465
    @heppen9465 6 ปีที่แล้ว

    Epic Project! Thanks!
    btw. For getting body you can do simply document.body w/o querySelector

  • @anishyadav5752
    @anishyadav5752 6 ปีที่แล้ว

    An error came Cannot read property 'appendChild' of null
    at voices.forEach.voice what to do now???

  • @potem1505
    @potem1505 6 ปีที่แล้ว

    hi sir brad do you have a complete full course of html css javascript? want to enroll

  • @lilianseon2995
    @lilianseon2995 6 ปีที่แล้ว

    Is it normal I can choose us-eng voice only ? I'm looking for a french voice

  • @waqarayub5377
    @waqarayub5377 6 ปีที่แล้ว

    Sir window.SpeechSynthesis is Called from which site or place ?

  • @ANILKHANDEI
    @ANILKHANDEI 5 ปีที่แล้ว

    This is great. Thanks.

  • @ehayrapetyan1082
    @ehayrapetyan1082 6 ปีที่แล้ว

    thank.js))))
    God Bless You Brad!

  • @TrouvatkiDePercusion
    @TrouvatkiDePercusion 6 ปีที่แล้ว +1

    Is anybody else getting the error:
    Uncaught TypeError: Cannot read property 'getVoices' of undefined
    for the "const = getVoices.....etc etc etc"?

    • @landon3139
      @landon3139 6 ปีที่แล้ว

      I'm getting a slightly different error
      Uncaught TypeError: Cannot read property 'appendChild' of null

  • @julyfirstz
    @julyfirstz 4 ปีที่แล้ว

    Does anyone know why no options show up in the language selector? I downloaded the files from his github and tried running it. The interface looks fine but I dont think the JS is working. I tried on both firefox and chrome and no languages show up.

  • @dimodimchev7164
    @dimodimchev7164 6 ปีที่แล้ว

    And what if I want to have only 5 selectable voices. Is there a way of implementing certain voices only?

    • @k.saibharadwaj
      @k.saibharadwaj 4 ปีที่แล้ว

      you can reduce the "voices" Array that is returned to an array with voices(5) that you wish to have.

  • @avinashreddy2566
    @avinashreddy2566 2 ปีที่แล้ว

    hello sir how can we develop a speech recognition web application using a cloud-based platform

  • @Eudoffels
    @Eudoffels 6 ปีที่แล้ว

    Hey Bro, you are great, can you please make a video of how to make a webhook in laravel for custom purposes? I know I dont give much context, basically im making a web app with laravel, and need a seperate function that will constantly use the date that a user created an account and check if two days have passed, thanks man.

  • @nuwang1
    @nuwang1 5 ปีที่แล้ว

    Ur videos are great

  • @awaisraza2285
    @awaisraza2285 6 ปีที่แล้ว

    You are awesome brad