SOPARE 1.5 is available; Feedback

Just a quick head up: SOPARE 1.5 is released and of course this version is the best version that is currently available 😉

Raspberry Pi offline speech recognition voice control

SOPARE stands for SOund PAttern REecognition and it is a Python program that provides offline and real time voice recognition on a Raspberry Pi or alike. The source code is available. Read more.

Many things have changed since the last video tutorials were made.

Commits to GitHub since last tutorial

You will notice that the configuration file changed and moved to another location. In addition, the text „start endless recording“ does not appear as promised. If you want the text to appear you can change the log level to „INFO“.

The plan is to create a new, updated tutorial with lots of interesting stuff inside. There is already some feedback available from the former tutorials (e.g. make the console text bigger or better readable, start from scratch video, …) and I’ll do my best to consider that.


However, if you have ideas or special requests please do not hesitate and write a comment to let me know.

Happy voice controlling and have fun!

14 thoughts on “SOPARE 1.5 is available; Feedback

    • Hey. In my opinion the first steps and even a bit further is covered in the available posts and videos. However, some people are asking for some more detailed steps in terms of installation…this topic is on the list for the next upcoming tutorial.

  1. Maybe a section on how to add our own plugin. can we add folders in plugin folders, do we need to add code to register…
    It will be better than just modifying always plugin/print

    Thanks a lot for your work by the way.

    • You are welcome 🙂

      Ok, the next tutorial is about custom plugins. Maybe I get something done within the next two week, but I can’t make any promises…

  2. Thank a lot for sharing sopare.

    i am a student, my project is home automation through voice recognition. i have successfully installed SOPARE in raspberry pi 3.
    let me guide how can config commands like light on, light off etc. i am using usb microphone. i am humbly request to u please guide me for further action.

    i am waiting for your positive response..

  3. hi martin
    you are doing great work brother
    i m student i want to train SOPARE in my local language can you please guide how can i send commands in urdu then sopare translate or how can config commands like light on, light off etc. i am using usb microphone. i am humbly request to u please guide me for further action.

    • Hi. You can train SOPARE in your native language and you can set the ID as you want. Just make sure that the character encoding works in the command line. As I’ve never developed using India encoding here is my advice: Start by using ASC IDs (English words like light, on, off) and train SOPARE by speaking your native Urdu language to avoid encoding errors and issues and to get first results.

  4. Thank you for this project! Is there a way to handle empty results like [] so that sopare will restart.

    Example: sudo ./
    results returned [] so restart sopare: sudo ./

    The reason being is I want to be able to transition from the custom plugin, which calls some complex handling or even plays a song, then restart sopare to listen. When I use: Sudo ./ -l eventually it will hang up and I have to CTRL-C

    • You are welcome. Instead of restarting you should fix the hang up problem. If you have a custom plugin with complex handling you need to decouple it from the thread that calls it. Think about a fast, small and lightweight plugin that calls (or initiates or communicates with) the complex thread (or external process).

    • Hi. In this very moment I’m busy doing other things and having different priorities. So the answer is like often not a clear yes or no. But as there are open issues and my TODO list I can say that it’s not done and you should expect activity in the future 😉

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.