Rasa Voice Interface - future plans?

Having seen the blog post on building a voice assistant I’ve long been meaning to try it out and finally did this weekend :slightly_smiling_face:

It’s great, thanks a lot for putting it together @juste I had quite a few road bumps on the way to getting it working, and am interested in finding out more about the general direction for the Voice Interface.

Q. Are the repo and/or blog post expected to be updated much?

There’s a few points where it might do with some improvement.

I don’t know if others had these issues but I couldn’t get the TTS working in the same process as DeepSpeech and the way it’s architected, it seems like it risks problems whenever any of the three underlying projects get updated (especially regarding python dependencies). I ended up running the TTS demo server as a separate process and calling that via requests (replacing most of the TTS code in the connector).

There is a bug with CORS, and another one with Sanic (for which there’s a workaround), there’s that duckling error too (although it seems it’s fine to ignore), the dependencies are a bit of a nightmare (and barely touched on in the blog) and a few details are missing (eg installing Sara skips the requirements.txt step). Nothing impossible to figure out but it might help others if they could be updated.

Q.Are there any plans to simplify the voice demo?

Sara is cool but it does seem to require various things that are peripheral (eg the duckling docker image just adds needless complexity; it has a bunch of dependencies for things that Sara uses but aren’t really necessary for voice, eg for the newsletter sign-up etc)

One small point on the blog, in case it helps others, the original link I’d arrived at from Twitter was for the AMP version and in that version none of the script sections from GitHub showed up correctly. As there were a number of other instructions missing in the main text (eg directories to do things in) I initially thought the script sections mentioned had been missed out the blog in error. It was only when I got to the connector code section that I was stuck without the complete script and spotted the AMP thing :slightly_smiling_face:

For anyone interested, here’s a video of my installation working: https://youtu.be/C2LYAU39rA4


Hi @nmstoker, The video you’re sharing looks cool, but why did I end up with this problem following the tutorial?

And what appears on the left is not audible.

Hi @Neary-li

I’m sorry but I think it will be quite difficult to get to the bottom of why that error is coming up.

As mentioned I also had quite a few difficulties getting it working: the repo was pretty old last time I checked and it’s also quite a complex setup overall so there could be a huge number of things that have gone wrong, either with your setup of it or with the code no longer working unchanged with current browsers and/or backend infrastructure.

If you’re keen to use it, I would suggest trying to get in touch with someone from RASA on the forum to see if they have plans to maintain the demo - if it’s being maintained then that should reduce the chances that it has become incompatible with current tools (on the RASA side and with modern browsers).

If you can’t do that but wish to proceed anyway then I think you’d need to start debugging the front-end code. From what I can see there may be a problem with it listening to the mic, so it might be that your browser is blocking permission or that the way that works has changed (eg where the error message mentions Recorder not defined with startUserMedia)

I know that hasn’t solved your issue but I hope it’s at least a help in where you might start. Best of luck!

Kind regards, Neil

Hello, thank you for your info and I know time has passed but can I ask you a few questions? I’ve been trying to follow the same tutorial for weeks but I’m unable to connect the voice interface with the sara bot via socket. The tutorial is a little bit outdated but I managed to run the tts and stt scripts alone but not in the socket connector.

My problem is defined in this issue I created long ago:

I don’t know if I’m doing anything wrong or the tutorial is simply outdated. I also tried many things with cors, but nothing resolved the problem. Thank you so much, really.

Hi @belendominguez, it is surely outdated, I manage to implement my own voice connector. I also replaced Mozilla models with silero-models that I think perform better, at least for spanish language (numbers and dates poorly trained on the other hand).

1 Like

Wow thank you so much, I’ll try instantly. You’ve saved my life, thanks a lot!

1 Like

Good evening, I’ve been trying to recreate your repository before trying the socket in my own Rasa Bot last week, but I came across with some errors I don’t know how to fix. I’ve followed the steps as you specified and using rasa shell let me talk to the bot, but when I try running django, the web page shows this:

Nothing is shown in Console or the Terminal:


Should I not use Django? I tried with Sanic but it keeps getting this error when I try ./gen_webserver_cert.sh

I don’t know if this is easy to resolve or if I should just copy the socket and try to implement it in my own rasa. Thank you so much for your time, really.

gen_webserver_cert.sh is a quick script I made for self-signed certificates just for testing, run as root or with sudo command (it is supposed you have e.g. a kubernetes cluster and a valid CA file in /etc/kubernetes/pki or create your own with openssl). I recommend sanic for simplicity and async functions to run correctly.

Anyway, it is better to get your own certificates e.g. certbot for Let’s encrypt certificates.

More detailed now in README. terraform deployment already working too once CORS fitted (Origin URL https://dadbot-web.ddns.net:8000).