Tech-related Projects


SAPI Cortana and OneCore Voice Enabler for Windows 10

This script, run as administrator, will add cortana and all installed OneCore/Mobile voices to both the 32-bit and 64-bit speech control pannels. This will give you the option of using the offline copy of Microsoft Eva, the current voice for cortana, and theoretically any other voices that microsoft adds in the future, assuming the internal registry formats do not change too much. Simply download the script, go to where you saved it, context menu or right click on it, and choose the run as administrator option. Since it also is registered as a 64-bit voice, it can also be used in Microsoft's default screen reader, Narrator. I have also tested it with several audio games written in the BGT language, as well as the free NVDA screen reader..

VM Creation script for qemu

This script can be used to create vms using qemu. It provides the following functions:

  • creates new vm images. To create a new vm, run: vm init [name] [cores] [memory, in MB] [disk size] [installer ISO] [remote host] remote port]
  • starts vms and provides a spice connection to the graphical console on [remote port] and provides an encrypted connection to the qemu monitor on [remote port+1]
  • starts and shuts down vms, storing settings in a file for later startup

To connect to your vm after startup, copy the [vm name] file to the control host and run it through


To connect to the qemu monitor, copy the [vm name].pem file to your control host and run: openssl s_client -CAfile [vm name].pem -connect [remote host]:[remote port]
Before running the vm script, install the socat program, ovmf firmware and virtio-win iso, packages socat, virtio-win and ovmf in arch.

Digital Sign In Sheet for Windows

This program is designed to keep track of sign ins to an arbitrary number of activities where no complex solution is required. It logs names, dates, times and activities to a simple text file that can be printed or integrated into a more complex solution if required.

Keyboard tutorial for windows

This program will speak and display pressed keys. Most common keys are spoken, including letters, numbers, common symbols, and text editing keys such as arrow keys, backspace, and other commonly used keys. Using the learnkeys.ini file that the program creates in the current directory, you can change the font size of the interface, startup and shutdown messages, which key sequence is used to exit, shift escape by default, and how all supported keys are displayed and spoken.

Sound Board for braudcasters and augmented communication

This program, once executed, can be used to map key presses to sounds. It is configured using the soundboard.ini file that it generates in it's current directory. The default prefix key combination is control+alt. To program a sound, hold down the prefix key and press a letter, number, or function key. A file selection dialog will appear. Simply select a sound, and the program will remember and play back the sound every time the key is pressed. In case you edit the ini file, the program will reread it's config file every few seconds. To change the prefix key or other settings, change the prefix line in the general section of the config file. Two special values are supported, quit, which unloads the program from memory, and reload, which stops all currently playing sounds and force rereads the config file. By default, quit is bound to prefix+q, and reload is bound to prefix+r. Since the program can be activated using standard key presses, it can be used as a communication aid for those with physical disabilities using alternative input devices that can be programmed to mimic key presses. A caretaker can record and assign sounds for commonly used phrases or other messages.

Virtual Appliances for Virtual Box

As Discussed later in this page, I have developed many different operating systems for both standard PC hardware, as well as single board computers like the Raspberry Pi. If you would like to try preconfigured versions of these systems without installing them, which can be a daunting task for some, download and install the Virtual Box program linked above, as well as it's extension pack. Once both are installed, download either the virtual appliance file for jenux or android, open up Virtual Box, go to file>import appliance, and browse to the ova file you downloaded. For the jenux image, the login and password are "jenux" without the quotes. Enjoy!

Webvisum Captcha Solver Addon for Seamonkey Internet Suite

This is an addon for the Seamonkey Internet Suite, which can aid visually impaired or blind individuals to solve Captchas which have textual solutions. Although the addon is no longer compatible with Mozilla’s Firefox Browser, it appears to work well with seamonkey’s core. To get around the “This addon is not compatible with Sea Monkey” message when trying to install, I have downloaded the latest(version 0.9.1) from Webvisum’s website nand ran it through the online Seamonkey Addon Converter. No other changes have been made by me to get this addon installed.

ebook and document reader for cygwin, linux and mac OS X

This program, given a filename, will make a copy of a supported file and convert it to speech. Adding supported file formats simply requires adding a function that will copy the text of the document to standard output. As of now, the following file types are supported:
1: doc(old Microsoft Word files), uses the catdoc program, which can be installed using your package manager, apt-get, dnf, zypper in linux, and homebrew in Mac OS X
2: docx, uses infozip’s unzip program, and the textual lynx browser, also installable through your package manager.
3: pdf, both textual and images, uses programs from the popler package, pdftotext and pdfimages, as well as tesseract to ocr images if the pdf cannot be automatically converted to text
4: html, uses the lynx textual browser, which is usually called lynx in package managers
6: JPEG, JPG, PNG, and TIFF image files, uses the tesseract OCR program to extract readable text from these types of image files, even while offline.
5: epub, uses the same programs and methods as docx, but gets the text from different files
This program uses espeak to read the output of the text converter functions, and sox(Sound Exchange) to playback the generated files. A speech rate of 500 words per minute is used by default, however, the commands used to speak the text from the converter functions, as well as the commands used to play sounds, if necessary, can be changed by changing the syncmd, synargs, playcmd, and playargs variables near the top of the code. This script will run in cygwin. I plan to make a premade version with all of the dependencies and a GUI based file selection utility in the near future.


Previous page: JenniOS Home