While my typing speed is pretty fast it’s still embarrassing by elite coder standards. I can speak faster than I can type when just talking in natural English.
It occurred to me while check coding that it would be a lot faster for me to giveinstructions to the LLM by just talking into a microphone.
This was made difficult however by the fact that I am using sway desktop and have a set up entirelycatered towards keyboard.
On my Android phone, I can easily dictate using Google’s Virtual Keyboard, which has voice transcription built in. The quality of the transcriptions not great, but it can do it.
Ironically I wasn’t able to do it on my far more powerful workstation which has a GPUto accelerate voice transcription and can then achieve far greater quality.
In theory I can do it in applications which have support for voice transcription, butthose are few and far between on my desktop.For coding I use NeoVim and Windsurf and now Zed Editor, none of which seem to havea voice transcription built in.
Meanwhile I have a local AI instance running which has a whisper CPP backend built in.That is back to GPU acceleration so I can run powerful voice transcription models.
I discovered a very nice piece of software called Newman which allows one tocompletely control their Linux desktop using voice. This uses the Vosk transcription runtime.
It uses an application called a do tool which creates a virtual keyboard.It transcribes your voice input into UTF8.Then converts that into key presses which are entered through the virtual keyboard.the virtual keyboard.
Because it simulates key presses, it works with any Linux desktop and even the serial terminal or system console.
It’s a great piece of software but I didn’t want to use VOSC. I wanted to use thewhisper backend for local AI. In addition, I wanted to integrate with local AGI and for the user to be able to give natural voice commands that don’t really fit into Newman’s model of specifying individual key presses with code words.
So how I have decided to create a new voice input application called VoxInput. Presently it is very simple and just uses local AIs whisper back end totranscribe audio captured on Linux.
Like Newman, it uses new input via dotool to write key presses to a virtual keyboard.