Arduino Speech Synthesizer: Talkie Library LPC Speech Generator

Поделиться
HTML-код
  • Опубликовано: 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.

  • @JuergenBoehringer
    @JuergenBoehringer 4 года назад +2

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

  • @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!

  • @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 ;)

  • @AjinkyaMahajan
    @AjinkyaMahajan 4 года назад +1

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

  • @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.

  • @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.

  • @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.

  • @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.

  • @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

  • @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 RUclips 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!

  • @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 !” 😂

  • @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.”?

  • @electronic7979
    @electronic7979 4 года назад +1

    Excellent video. I liked

  • @HyperspacePirate
    @HyperspacePirate 2 года назад +1

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

  • @kurtsanger716
    @kurtsanger716 Год назад +1

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

  • @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.

  • @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

  • @SLAVKINGRED
    @SLAVKINGRED 9 месяцев назад +1

    this is dope

  • @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.

  • @ctiradantoninkupec1457
    @ctiradantoninkupec1457 3 года назад +1

    "Greetings, professor Falken!"

  • @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.

  • @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

  • @saydiy1528
    @saydiy1528 6 месяцев назад

    good job. did you get some more Own Vocabulary?

  • @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.

  • @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.

  • @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.

  • @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?

  • @rolingthunder8612
    @rolingthunder8612 3 года назад +1

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

  • @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

  • @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???

  • @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

  • @andymouse
    @andymouse 4 года назад +2

    Its GORF ! screaming " INSERT COIN"

    • @GadgetReboot
      @GadgetReboot  4 года назад +2

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

  • @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.

  • @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/

  • @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/

  • @j0hmama
    @j0hmama 3 года назад

    but how do you generate the lpc data?!?

  • @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…

  • @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

  • @Jondoesntlikecoffee
    @Jondoesntlikecoffee Год назад +1

    how can i make it louder?

  • @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.

  • @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.

  • @codingfun63
    @codingfun63 5 месяцев назад

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

  • @City_Lights
    @City_Lights 3 года назад +4

    "Shall we play a game?"

  • @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!

  • @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.

  • @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..