Arduino Speech Synthesizer: Talkie Library LPC Speech Generator

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 เม.ย. 2020
  • Arduino projects can talk with synthesized speech using the Talkie LPC based library, similar to the speech synthesizer chips used in early arcade games and the Texas Instruments Speak & Spell product. One such LPC speech synthesizer chip is the TI TMS5220.
    Sketch:
    github.com/GadgetReboot/Talki...
    Talkie Library:
    github.com/ArminJo/Talkie
    Convert wav to LPC data:
    github.com/patrick99e99/BlueW...
    github.com/ptwz/python_wizard
    audio.online-convert.com/conv...
    Linear predictive coding LPC info:
    www.dexsilicium.com/tms5220.pdf
    en.wikipedia.org/wiki/Linear_...
    en.wikipedia.org/wiki/Human_v...
    www.compadre.org/osp/EJSS/449...
    www.soundonsound.com/techniqu...
    Patreon: / gadgetreboot
    #ElectronicsCreators
  • วิทยาศาสตร์และเทคโนโลยี

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

  • @tammasus
    @tammasus 2 ปีที่แล้ว +12

    Anybody else thinks this sounds way cooler than an actual voice recording in a project?

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

    Hey, such a nice and useful video! I loved the way you showed the info available, from the library to the sound generation. Way better than all the other videos on the subject I've seen so far. I am surely going to use it in a lock project I am working on.

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

    Exactly what I’ve been looking for! I’ll be using this library to automate a tropospheric ducting beacon station for reporting station status and propagation dynamics. Thank you for the share!

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

    Thank you for this video. I had a TMS5220 synthesizer back in the mid 1980s and today the later TMS5220C chips can still be found on the usual places for odd chips. I have a couple on order and this information will get me to audio playback.

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

    Thanks a lot ❤️ I was looking for it from since a long time
    Appreciable content 👌✨

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

    Wow, unbeleavable that something like this is possible with so few memory bits. Thanks for the great Video!

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

    Well done! It is amazing what can come out of a digital device. It would be cool to see the waveform on your scope. The SpeakJet took phonemes (I think that is the word) and you built up each word by passing the phonetic representation. I used it with PIC's and it was fun. I like TTS - you will enjoy that with the Raspberry Pi. It is way better than most.

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

    Works great. I used this in my Gas Sensor for Emergency Workers project and a couple more. Handy dandy especially when you need to transmit it over RF too ;)

  • @onecircuit-as
    @onecircuit-as 4 ปีที่แล้ว +1

    Great vid - could be very useful. When I needed a voice alarm emanating from an Arduino for a project a couple of years ago I used an external “ISD1820 voice recording module” triggered by the nano. Worked well, but this is neater as long as the sound is coherent.

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

    Yes I have found this interesting. I remember the days when I used to mess with programming the RC 850 repeater controllers. I miss those days, so thi might be just what I was looking for! Thank you. Hopefully I can get this to work.

  • @makerofthingsunique
    @makerofthingsunique 2 หลายเดือนก่อน

    Great tutorial, going to see if this is still about to play with. Was going to get an SPO256 to play with but this might suit me better

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

    Amazing what can be done with a little arduino. Keep bringing the great videos to us. It gives something for us to look forward to in the current climate around the world.

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

      I was surprised how well it worked for an Uno without completely filling up the program space as well. I think I will include this for fun in some other projects.

    • @The-creator-of-good-videos-15
      @The-creator-of-good-videos-15 10 หลายเดือนก่อน

      @@GadgetReboot Did I just hear “Gadget-Reboot is trapped in an Arduino.”?

  • @JuanCarlos-ff6vp
    @JuanCarlos-ff6vp 4 ปีที่แล้ว +2

    Great. I would like to make an LPC vocoder. I wonder if the LPC algorithm can be implemented on the Arduino itself, in order to generate a real-time library that is constantly updated with the digitized audio captured from the microphone.

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

    There's no greater satisfaction than the imitation of a human being. Top job mate!

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

      if I had two Arduino‘s set up with the ability to speak as well as speech recognition, I would try to start building an AI and set them up next to each other and see if they can get themselves into an argument! might make for an interesting TH-cam tech soap opera.

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

      @@GadgetReboot hahaha that's gold! I was thinking in practical terms like driving a vehicle where voice for sensors would be brilliant!

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

    Excellent video. I liked

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

    Nice video! That is really fun. I want to use this for my solar system without any display. So it can tell the voltage and can alert in case of an error with a simple spoken description of the error. For example: "Battery low" or "Panel not connected" etc. Maybe it is a good idea to add a capacitor at the speaker output in series with the speaker to block long periods of DC. Maybe this will reduce the pops and clicks. Also think that it is a good idea to add a resistor in series to limit the current.

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

    Very cool. I use ffmpeg to change video and audio file formats. Audacity should allow you to change audio formats too.

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

    Tempted to set this up in the office as a form of GIT Blame on our CI pipeline. “RED ALERT, Slaine has broken the build again !” 😂

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

    Thanks, now I'm gonna have nightmares for the next two weeks

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

      luxury. Mine are still ongoing.

  • @SLAVKINGRED
    @SLAVKINGRED 9 หลายเดือนก่อน +1

    this is dope

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

    This is fantastic! I wonder what caused the high frequency components at the end of your first custom sample.. is that the noise you were talking about in the video? I wonder if just trimming the wav file more carefully in audacity would fix it? Maybe a noise gate set at a low level to cut to silence when it's very low?

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

      yeah the weird garbled noise at the end of the sample, I couldn’t figure out how to get rid of it including trimming the audio file, and within the sketch I even try to make it stop playing back the sample before it gets to the end of the data thinking the sample was corrupt and it should ideally sound clean if I truncate the playback but it’s still did the same thing so it’s something weird going on in the library maybe

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

    That is cool! What is the spec (impedance/ohms) of the speaker that you used? Thanks!

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

      I used 8 ohms but I found it better to add the resistor capacitor filter network recommended by the library on GitHub and then go into a powered amplifier, more volume and less clicks after every word.

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

    Nice sounds, reminds me of the 1970's talking alarm clocks. I had one that made sound of a cock crowing. It went off in a hotel and heard lots people crying about being woken up by a chicken. Happy days. Keep them coming

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

      that would be funny! It reminds me of some of the voices in early 80s arcade games. It’s good to be able to emulate this without having to pay large fees for a more limited chip, although it would be nice to have a nostalgic ship like that if I could find it in a scrapped unit.

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

    I've had trouble figuring out how to do custom words in the talkie library for WEEKS and this is by far the best tutorial I've come across. I've downloaded BlueWizard on my mac and it runs fine, but I cannot for the life of me figure out how to input a .wav file and, unfortunately, you glossed over that detail. So please, enlighten me: How do you enter a wav file into BlueWizard?.

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

      I used the File menu and Open 16 bit 8KHz wav option to load it in.

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

      @@GadgetReboot Figured it out! I ended up running the python wizard version on a windows computer from the command line, bypassing the UI. All that because I couldn't figure out how to input files the normal way on BlueWizard (seriously, where is the 'file menu'?!?).

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

      I am actually an idiot. Just found the 'file' menu at the top left of the screen, in the grey bar thingy. I was only looking at the UI window that opens when you run the program. Can't believe I spent days looking for that. Thanks for your patience.

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

    "Greetings, professor Falken!"

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

    I have been thinking of maybe getting the sound data of different phonemes and using an English dictionary to get the IPA pronunciation of different words so you can construct words and sentences from text instead of recording each special case

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

    I wonder how similar that mewthod is to how the spoeech samples were done in old Apple2 games like the original Castle Wolfenstein?
    "ACHTUNG!"

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

    Great Job, 1 problem
    Two days ago I discovered your arduino lib “Talkie”.
    I played a bit arond with it and also managed to produce some Dutch phrases. (not high quality, but understandable)
    One thing I can’t figure out: How to design different voices. P.e. Low man voice (bass), high man voice (tenor), woman voices ( alt, soprame) and eventually accents.

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

    good job. did you get some more Own Vocabulary?

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

    Nice! Will it work on the ESP-32? I want to use it as a sound source in an audio game similar to Bop it. LPC will give it a lot more retro flavor if it works.

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

      The github page for the Talkie library lists ESP32 as a valid device but I haven't tried it yet.

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

    no eh tenido la suerte de correr los software en base Python... no hay ningún software que corra directamente en win10?

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

    salam how can I record my words suggest me really working wave to code converter witch can be work in case of Vocab_US_TI99 I try some converters but i did not get a voice or get only some tones???

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

    I have been toying around with the Speakjet IC but the sucker costs about $30 after shipping. Right now it lives in a circuit that tweaks its repeat rate and currently select phoneme with potentiometers to produce arbitrary "babbling."

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

      i’m already trying to think of ways I can implement something like this in an eventual audio synthesizer project. I have lots of little ideas that I still have to figure out how to find time to implement.

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

      @@GadgetReboot Take a look at this: yusynth.net/archives/WirelessWorld/Chatterbox-1976.pdf
      and also the SAM speech synthesiser from the 80's, two sine and one square wave (sounded a little rusty though, brilliant in the early 80's):
      discordier.github.io/sam/

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

    "Shall we play a game?"

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

    Had a speech synthesizer on the BBC Micro in the 80s, surely the Arduino could do the same thing without all the wav banter..🙂

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

      I think it's doing the same thing, using the LPC method to synthesize sounds, emulating how those old chips work. The original chips would have ROM data to synthesize the words, not sure how they obtained the data, but Arduino is creating the ROM data by analyzing a wav file. It's probably way easier than whatever they originally had to do.

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

    Can you teach me how to use Python Wizard in Windows? Couldn't figure that out 😢. Need this for an arduino talking clock project, I have to change the words to Portuguese.

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

    Respected sir, customized audio is not playing in arduino using talkie library.
    can you tell me the steps to convert customized audio in to .C file for arduino using python wizard and also explain how to install python wizard in windows 7
    thanking you

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

    "please check your fual level."
    -Chrisler electronic voice alert, 1985

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

    Is there a way to make this speak text fron a string? I have used this library for awhile now and find it rather limiting. I have another library TTS-FM which does exactly what i want but sounds horrable, i dont understand fully how the whole phoenom stuff works so i dont know how to make the tts-fm sound better, any idea on how to merge the two librarys? Im stumped man..

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

      I don’t know if there’s a way to convert a string on the fly but at least with this library it needs the pre-encoded sound samples so it’s basically more like an audio player except it plays back this special format

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

    On the blue wizard program, you said "up in the file menu...", where is this file menu?
    Edit: answer to self: click on "file" on the top left of the screen.

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

      yeah on Mac menus arent on the windows, but on the status bar

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

    Its GORF ! screaming " INSERT COIN"

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

      makes me even more nostalgic to build a mame arcade cabinet.

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

    Hello, i don't understand why i am having loud click sounds betweend "words"... i have somewhere read that adding a 100nf capacitor in parallel would eliminate the click sounds, so i ordered them and it helps nothing at all :( i have the click sounds on all my arduino's... speaker, headphones, makes no difference... bad luck? i know how google works, but can't find an answer.. the talkie sounds great between the clicks...

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

      Liked and subbed, i really find that mac util for creating your own sounds, great! tnx

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

      it did that for me as well so I tried to find a speaker that minimized it. I don’t know if there’s an easy way to fix it, unless somebody who understands the software can fix it at the source. I think it’s because every word is treated like a whole new cycle of turning an amplifier on to say the word and then turning it off so you get those clicks and pops that are normally controlled in a power amplifier on power up with relays that only connect the speakers after all of that power on noise is done. If somebody could figure out how to keep the system enabled and just send out the data and then turn it off, that would at least keep it down to only clicking around each sentence.

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

    any way to make it louder? just did it on my speak and it's unfortunately not loud enough. was thinking a watt amplifier?

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

      It would need an amplifier, and that's a good idea to buffer the Arduino pins to prevent damage from trying to load them too much from a directly connected speaker. A simple amplifier that may work could be just an NPN transistor to drive the speaker from the power supply instead of the port pin
      theorycircuit.com/simple-single-transistor-audio-amplifier-circuit/

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

    Actually, in my project, i want to use a loud speaker, so removing the clicking sound is important for that. Could you please suggest something?

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

      I would like to figure it out but I would need to do more research and test certain concepts out for avoiding the clicks like maybe a Low pass filter so that I can pass the audio but probably prevent some fast transient high frequency click from making it through…

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

    I want to make a talking Pumpkin that says "Happy Halloween" I am making is so the eyes and mouth move. It might be easier and more realistic using a Raspberry pi or NVIDIA Jetson Nano.

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

    but how do you generate the lpc data?!?

  • @codingfun63
    @codingfun63 5 หลายเดือนก่อน

    #error Sorry, when using an AVR chip, Talkie requires Timer2 ???????

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

    how can i make it louder?

  • @edulinktutorprovider
    @edulinktutorprovider 7 หลายเดือนก่อน

    Unable to find file upload option

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

    The extra noise sounds like a buffer over run

  • @JaneDoe-bq9sw
    @JaneDoe-bq9sw 3 ปีที่แล้ว

    i'm new to arduino. what speaker should i use for this?

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

      just about anything should work, I used an 8 ohm small one that came out of a toy but you could probably just as easily use a speaker from A stereo system

    • @JaneDoe-bq9sw
      @JaneDoe-bq9sw 3 ปีที่แล้ว

      Gadget Reboot OK, thank you!

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

    Could you give me another .wav file to .hex converter?I can't built it in this video.I'm using windows.

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

      I haven't tried it but someone made a python utility based on the other one github.com/ptwz/python_wizard

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

      you can also use a virtual machire running MacOS to run the program (I am doing this)

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

    Narrator kinda sounds like a synthesized machine..