Voice recognition and automatic dictation have always been a difficult (and expensive) task on most operating system including Linux.
However, recently some very large companies (Google, Apple, Amazon) have seen the value of being able to communicate vocally with their devices. In order to make this successful they have had to make their voice recognition fast, accurate and built into their devices and offered for free.
We can take advantage of their hard work and R&D dollars to get excellent dictation on the Linux desktop by using KDEConnect. Despite being a KDE application is can be easily installed and used on Gnome as well. Nick Congleton has written a guide to installing KDEConnect on Gnome here.
Amongst KDEConnect’s many useful features you can also use your phone for input to your computer.
This input can be controlling the mouse pointer on your computer via the touch screen of your phone or text input via the phones virtual keyboard. Most importantly for this guide, if your phone’s keyboard supports voice input then this will also get sent to the computer as text and entered into whatever application has focus.
In this guide I will use Google’s GBoard keyboard which supports voice typing. But any keyboard that supports voice typing will work just as well.
All you need to do to get this working is to follow the steps below.
Step 1 - Install KDEConnect on your computer and your Android phone
You will need to use your package manager to install KDEConnect on your phone and then install KDEConnect Android app either from Google Play or from F-Droid if you prefer a non-Google source.
Step 2 - Install and enable Gboard and voice typing
If you have not got Gboard installed then you can download it from the Google Play here. Then you need to make sure some settings are enabled.
This is done in the settings at:
System -> Languages & Input -> Virtual keyboard -> Manage Keyboards
As shown in the screenshot below you need to ensure that Google Voice Typing and KDE Connect Remote Keyboard are both toggled on and that you are using the Gboard.
Step 3 - Start talking to your computer!
Open an application such as LibreOffice writer and ensure that it has focus on the desktop.
Then open the KDEConnect app on your phone and make sure they are paired. Then select the Remote Input option.
Next, hit the keyboard icon at the top left of the screen:
Then, hit the numbers and symbols button:
And finally, press the mic icon:
This will change the view from the keyboard to the voice typing input page:
While the voice typing page is listening anything you say will get recognized and sent to your computer as text and entered into the application you have open.
I have found that I can put the phone on my desk next to my laptop and start talking and it will very accurately transcribe my words into text. Or, if you have a Bluetooth headset, you can use this with your phone and wander around talking and getting everything down taken down automatically.
The accuracy isn’t 100% but a short proofreading will soon find any errors and is still much faster than typing especially if your typing speed isn’t very fast.