emubns - a Braille 'n Speak synth emulator Copyright (C) 2020 Mateusz Viste -- WHAT IS IT? --------------------------------------------------------------- emubns is a program that emulates a Braille 'n Speak (BNS) synthesizer. BNS synthesizers were commonly used by sight-deficient people in the nineties to work in DOS. These were actually autonomous mini-computers able to take notes, and one of their features was being able to receive vocalization instructions from a PC over an RS-232 link. emubns is exclusively focused on this single feature. -- WHAT IS IT GOOD FOR? ------------------------------------------------------ I created emubns to play with ancient DOS screen readers, and to understand the miracle behind blind people being able to work with DOS. emubns is a Linux program that listens on a local TCP port (by default 7333), awaiting for BNS instructions issued by a screen reader. Then it processes the instructions and outputs voice using the espeak-ng library. I created emubns for a specific use case: using a screen reader installed on a DOS system inside a Qemu VM. Qemu makes it possible to redirect virtualized COM ports to a tcp port, and that's where emubns kicks in. -- HOW? ---------------------------------------------------------------------- Typically, one would load emubns first, and then run his Qemu VM using something like this: qemu -hda disk.img\ -chardev socket,id=comport,host=127.0.0.1,port=7333\ -device isa-serial,chardev=comport Inside the Qemu VM, a screen reader should be installed (like PROVOX, JAWS, ASAP, etc). This screen reader should be configured to send its output to a "Braille 'n Speak" synth conected to COM1. From now on, anything typed or displayed on the VM screen should be vocalized accordingly. -- REQUIREMENTS -------------------------------------------------------------- emubns relies on espeak-ng for all its voice output, hence it requires espeak-ng to be installed on the host system. -- BUILDING ------------------------------------------------------------------ To build emubns on Linux, simply type 'make'. This should produce an emubns executable, assuming that your system has all necessary dependencies: a C compiler (clang/gcc), libespeak-ng, espeak-ng headers and the make tool. The Windows version is built with Mingw64. -- DOWNLOAD ------------------------------------------------------------------ You may fetch the latest version of emubns at the address below: Source code: http://emubns.sourceforge.net/emubns.tar.xz
Win x64 build: http://emubns.sourceforge.net/emubns-win.zip
I have also prepared a Qemu image containing a FreeDOS kernel with basic tools and a pre-installed screen reader. The package can be fetched here: http://emubns.sourceforge.net/svarog386-qemu-provox.zip
-- LICENSE ------------------------------------------------------------------- emubns is open-source software, published under the terms of the ISC license. Copyright (C) 2020 Mateusz Viste Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ---------------------------------------------------------------------[ EOF ]--