/facebox

Primary LanguageGo

Skookum's Facebot?

The beginnings of a web app that can recognize Skookumites. Currently, there is a lot of manual setup.

Running

You must have the Facebox docker image running locally. TO do that, you'll need to get a key from machinebox.io which is FREE:

MB_KEY="YOUR MB key" docker run -p 8080:8080 -e "MB_KEY=$MB_KEY" machinebox/facebox

Then you need to train the Facebox with pictures (I was using the Bamboo HR pics) and assign it a Name. The Name is used to lookup the sound file. You can upload photos to the facebox by going to http://localhost:8080 and clicking on Try it now it the "Teach faces" section. That will show a form that has a ID, Name, and URL field. Put the URL to the image (you can paste in the URL to the Bamboo image) and a name and click Post.

The /sound directory has the mp3s of the sounds. Each sound needs to be the lowercase version of the name.mp3. I used espeakbox to synthesize text-to-speech. Espeakbox offers another docker image, so:

docker run --name espeakbox -d -p 8082:8080 parente/espeakbox

curl http://localhost:8082/speech\?text\=Hello%20Enrique > sound/enrique.mp3

Once that's done, you can run this app, which starts a web server:

> go run main.go (or build it and run it)

Then, goto http://localhost:8081/static and put your face in the video window. It should say "Hello "

Roadmap

  • Get a real UI. Maybe an Avatar?
  • Use Bamboo API to check employee details. Birthday, etc.
  • Use Google AI API to be more interactive?
  • Allow unknown user to have pic taken, register, etc.
  • Keep interaction state. Meaning, already greeted, etc.
  • Host facebox somewhere cloudy.

Questions

  • Could we put this all over the office?
  • How to incorporate listening? Like this