February 4th, 2019
In 2011, Benjamin Knapp stopped breathing one night and lost oxygen to his brain, suffering from a severe brain injury known as cerebral hypoxia. Today, he has difficulty moving, speaking, and seeing, but can communicate with others by squeezing his fingers and opening his mouth. These small muscle movements can be used to create an efficient communication device that will be able to help Ben type his thoughts on an audio keyboard with the aid of a text-to-speech program. This project's purpose is to develop a predictive audio keyboard that can be controlled with two binary inputs. This keyboard can be installed on a Raspberry Pi and connected to two MyoWare Muscle Sensors to allow people with disabilities to communicate concisely and effectively.
The following items are needed for this project:
- 1x Raspberry Pi 3 Model B+
- 2x MyoWare Muscle Sensors
- 1x Display for Raspberry Pi 3 Model B+
- 1x Speaker for Raspberry Pi 3 Model B+
For a complete list of parts, see the parts-list.md file.
After obtaining the previous items, install a Linux or Unix operating system (preferrably Raspbian).
- Install and update packages
sudo -i
apt-get update --fix-missing -y
apt-get dist-upgrade -y
apt-get autoremove -y
apt-get autoclean -y
- Install Python 3.6 (if not already installed)
apt-get install python3 -y
- Install Python packages
pip install tensorflow; pip3 install tensorflow
pip install numpy; pip3 install numpy
pip install autocomplete; pip3 install autocomplete
pip install kivy; pip3 install kivy
pip install gTTS; pip3 install gTTS
- Clone/download the repository
- Clone repository:
git clone https://github.com/computer-geek64/accessible-virtual-keyboard/
- Download repository:
wget https://github.com/computer-geek64/accessible-virtual-keyboard/archive/master.zip; unzip master.zip
- Execute
Main.py
- Before executing the program, ensure that the line
#!/usr/bin/python3
is at the top ofMain.py
. If it is not, make sure to add it there before running./Main.py
. The other alternative is to use thepython3
command as so:python3 Main.py
. - Always ensure that the line endings are compatible with the operating system that you are using.
- If a warning message surfaces regarding
pip
, execute the following command:python -m pip install --upgrade pip; python3 -m pip install --upgrade pip
- After
Main.py
is executed (either by running./Main.py
orpython3 Main.py
), a GUI (Graphical User Interface) should appear.
Explain each function of the accessible virtual keyboard.
- Software:
- Python - Primary project language
- TensorFlow - Machine learning back-end development
- NumPy - Scientific computation package
- Autocomplete - Basic autocomplete functionality
- Kivy - GUI (Graphical User Interface) front-end development
- gTTS - Google Text-to-Speech
- IDE: JetBrains - High-end integrated development environment for Python
- Shell: GNU Bash - Open-source Bourne Again Shell
- Python - Primary project language
- Hardware:
- Raspberry Pi - Inexpensive and efficient single-board computer
- MyoWare Muscle Sensors - Arduino-based electromyography (EMG) sensor for muscle control
Please read the CONTRIBUTING.md file for details on our code of conduct and pull request policy.
This project uses git version control.
See the sources.md file for information gathered to help create this project.
- Ashish D'Souza - Sole developer - computer-geek64
See also the list of contributors who participated in this project.
This project is licensed under the MIT License - see the LICENSE.md file for details.
- Benjamin Knapp
- This is dedicated to you. I hope this project will help you find your own voice again.
- Christopher Knapp
- Project founder
- Thank you for such an amazing opportunity to help others