Majel: Voice Assistant Style Interface For Command Line Terminal

George Close


Supervised by Dave Marshall; Moderated by Yipeng Qin

A program that allows users to speak command line inputs aloud and have them executed by the system. This would be useful in particular for file system navigation; often user friendly directory and file names with spaces are difficult to access in command line. The project will also in part be an attempt to introduce a 'natural language' way of interacting with the terminal; the input of the speech "Execute My Script" is much more intuitive and descriptive of what the user wants to happen compared typing "./myscript.sh".

A vastly limited set of possible 'words' in the language of commands as well as more structured grammar should mean that this program works much faster and more accurately than existing systems such as Google Assistant, Siri or Cortana. Additionally, the program will be fully functional offline, and will not use calls to internet based APIs.

I plan to use python with the speech_recognition module (https://pypi.org/project/SpeechRecognition/) and PocketSphinx-python (https://github.com/bambocher/pocketsphinx-python) for offline speech recognition. Focus of project will be on analysis of input speech data, rather than on collection of the data itself; the aforementioned python module handles this.

I have some early demo and proof of concept code here: https://github.com/leto19/majel

Initial Plan (31/01/2020) [Zip Archive]

Final Report (11/05/2020) [Zip Archive]

Publication Form