tonybhimani / potato-talker-app

The Potato Talker repeats what is said to him. Maybe he should be a parrot?

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Potato Talker App

Poatato Talker Preview

How to describe this app... It was a "hey, I want you to add a talking avatar to your sound recorder" but then I decided to take that idea and make it an app. Basically, it's an app that has an animated GIF, text field for input, and tele-types / prints the same message like a parrot, meanwhile the GIF plays with the Potato's mouth flapping as if he's saying it.

The package uses libgif-js (SuperGif) for playing/pausing the animated GIF, and basic Javascript for the rest, bootstrap to doll it up, all baked in Cordova that I built for Android. You could build it for iOS too if you want.

Resources

libgif-js https://github.com/buzzfeed/libgif-js

Potato GIF https://tenor.com/view/potato-talk-blob-face-speak-gif-22490759

So how to get it all running? First you need Node, Cordova, etc then follow this

git clone https://github.com/tonybhimani/potato-talker-app.git
cd potato-talker-app
npm install
cordova plugin add cordova-plugin-tts-advanced
cordova platform add browser
cordova platform add android

then you can run it in the browser or build it for Android

cordova run browser
cordova run android

Updates

  • 11/09/2023 - Added text-to-speech using the cordova-plugin-tts-advanced plugin.
  • 11/12/2023 - Added TTS settings so voice, rate, and pitch can be changed. Settings are persistent.

Branches

I've decided to have different branches of this project for each version instead of overwriting previous changes. Also, if I put out releases they can be for each branch intead of a jumbled mess of choices. That being said, the branches are:

  • main: User text input, cordova-plugin-tts-advanced for speech processing, the potato will be a parrot to what is typed.
  • speech-input: User verbal input, cordova-plugin-speech for speech and voice input processing, the potato will be a parrot to what is spoken.
  • chatbot-gpt: User verbal input, cordova-plugin-speech for speech and voice input processing, the potato will attempt to generate responses from ChatGPT.
  • chatbot-tf: User verbal input, cordova-plugin-speech for speech and voice input processing, the potato will attempt to generate responses from TensorFlow.

That's a glimpse at my roadmap although nothing is set in stone.

Conclusion

Note: I modded the libgif-js script to include an optional config parameter called frame_delay so that the default GIF animation speed can be overridden.

TODOs: Fix the text wrap then add in some text-to-speech capability. If I wanted to go hardcore then I'd give the Potato Talker some intelligence with ChatGPT.

Happy coding!

About

The Potato Talker repeats what is said to him. Maybe he should be a parrot?


Languages

Language:JavaScript 91.8%Language:HTML 8.2%