Important: Please read the Qt Code of Conduct -

Question on Voice-To-Text Utilization in Qt

  • Hello, Qt community! I have a serious concussion that has limited my capabilities for over a year now. I am (was) a student in college and am not capable of holding a job this summer because of the concussion. I am very bored because of this and am trying to create an AI in Qt in order to alleviate some of the boredom. One of the things I would like the AI to have is voice to text capability so that I can speak to her instead of always having to type. I have spent a long time learning about Markov Decision Processes, B+ Tree algorithms, and Natural Language Processing. Right now I have some base code for the AI that gives it a picture as well as a GUI that you can type into and see the AI's response in. What I would like to begin implementing is the voice to text capabilities. I have spent the past several weeks looking at and trying to implement several types of voice recognition software. Some of what I have looked at includes Voce, Microsoft Speech API, Sphinx, and a couple online sources. However, I have run into a lot of bugs. With Voce I have run into issues making the JVM, with the Microsoft SAPI I am getting an error about variable types from mmsystem.h not being known and for the web sources, they do not satisfy my requirements for what I want the AI to be able to do.

    My final question is, does anyone know of any free voice recognition that works well and is easy to use with Qt? I would prefer it be free and not require internet to use. I would prefer it allow for voice to text and text to speech capabilities. It does not need to be open source, but I don't mind if it is. Alternatively, if someone would like to try and help me with my code or post their own, I would be very grateful. I do not have any code that I can post because I am constantly rewriting it in the hopes that I am able to fix one error or another. I can, however, post any specs or error reports if people would like to see those.

    If this is a complete scrub question, I apologize. I have never used voice recognition software and am a bit new to Qt.

    Thank you all for your time!

  • Moderators

    Hi, welcome to the forum.

    I never worked with voice, but one thing is not clear to me - do you want speech recognition or speech synthesis? In other words do you want to speak to your AI or do you want it to speak to you, as these are two entirely different things.

    You seem to be using Windows platform, so you might check out the latest Microsoft's speech (and AI) technology - Cortana. From the presentations I've seen it seems it can be pretty deeply integrated into any app.

  • @Chris-Kawa

    Thank you for the response! I would like both ideally, but for right now I am perfectly fine with just speech recognition. I would also like it to be compatible with every OS out there that Qt can work with, but for right now I am using Windows which is why I decided to use Windows SAPI. I have also considered just using a bunch of if - else statements to detect which OS I am using and then using the voice recognition for each specific OS, but the problem with that is if the OS changes something with their voice recognition that I will have to go change my code, which can be tedious.

    I will take a look at using Cortana. Although, I would like to try using something that is more cross platform. That is why I initially used Voce and Sphinx or web applications. However, each of those had their own issues that I am unable to resolve.

    Thanks again!

  • Lifetime Qt Champion

    Hi and welcome to devnet,

    Then you might be interested be the QtSpeech module which might not yet cover everything you need but would likely get you started.

    Hope it helps

  • @SGaist

    Hello, thank you for the warm welcome. I am aware of the QtSpeech Module. I have seen a video of it being used on YouTube (Qt Speech to Text. I am really looking forward to when this comes out! I think it will be awesome! However, I am having some issues getting it working. It is not giving me the errors that I have gotten from other software (thank god), but I think it is just me being overwhelmed by all the files and what is going on. Some direction and/or a walkthrough of how to install and then use it would be appreciated, assuming I am not asking too much that is. I noticed on your link, @SGaist , that you take me to a repository. This is very helpful, thank you. However, there are a lot of files. I am a bit new to Qt, and all the files there are a bit overwhelming. Again, any advice on where to start would be helpful.

  • Lifetime Qt Champion

    First thing, build and install the module. You can open the project in Qt Creator so you ensure you build it using the Qt version you're developing with.

    Then you can take a look at the example provided, that should get you started.