Software developers can use the C/C++ source code on this page to make their application audio-compatible with The vOICe for Windows, as well as to interface with for instance lightweight indoor and outdoor eye-tracking devices to support active vision through the use of eye saccades with The vOICe auditory display. The experience of seeing with sound may prove more compelling, and more visual, through the use of an eye-tracker that controls the camera view that is rendered into sound. It amounts to a non-invasive alternative for a camera implant in the eye, and may also be applied in experimental cross-modal cognitive load balancing systems that aim at augmented cognition through sensory channel mode switching.
To simulate the auditory equivalent of saccades for blind users having good functional
control over their eye movements, one can think of using The vOICe in combination with the
SMI Gazewear
from
SensoMotoric Instruments (SMI),
the EyeLink II (ELII) from
SR Research
or the head-mounted eye tracking systems from
Engineering Systems Technologies (EST),
Applied Science Laboratories (ASL, "Mobile Eye"),
Arrington Research ("EyeFrame"),
Positive Science, LLC,
or
EyeTracking, Inc. (ETI).
Related research is the
Itap
(Information Technology for Active Perception) project at the Institute for
Neuro- and Bioinformatics at the University of Luebeck in Germany, by Erhardt Barth and Thomas Martinetz.
Such an approach lends further support to the position of The vOICe as a non-invasive
vision technology for the totally blind, as compared to invasive technogies such as
retinal implants and brain implants,
although a hybrid approach with camera implants for The vOICe (intraocular camera) is
another possibility. Moreover, gaze-directed use of The vOICe by means of an eye-tracker
may prove of use to people with central vision loss, for instance caused by age-related
macular degeneration (AMD or ARMD), by giving them detailed auditory feedback on what
is in the blind central part of their eye's view, using a zoomed-in (or telescope) view.
For sighted people too, it might be an interesting experience to
simultaneously hear what they are looking at or searching for, for instance
while searching the web with Google
(
Eye-tracking studies: more than meets the eye).
Alternatively, one can think of a head-mounted device (HMD) that uses
Electroencephalography (EEG) for measuring the neural activity of the brain,
Elecromyography (EMG) for measuring electrical signals from muscle contractions,
Electrooculography (EOG) for measuring the electrical potential of the skin
around the eyes, or a tongue drive system for measuring tongue movements.
Such alternative approaches may for instance suit blind people
whose eyes were enucleated for medical reasons, such that conventional
eye-tracking for gaze direction is not applicable. In this context one may
check out the non-invasive neural sensor and signal processing technology of
NeuroSky
to control operation of The vOICe software.
Emotiv Systems is working
on a brainwave detection helmet in what they call "Project Epoc", which could control The vOICe via the Emotiv Development Kit.
Eye-tracking in combination with The vOICe could also serve to make Google's proposed
use of eye-tracking for unlocking augmented reality glasses accessible for totally
blind users of augmented reality glasses
(see Unlocking a screen using eye tracking information
and The vOICe for Android).
Real-time sensory substitution for the blind?
A preliminary investigation of a combination of The vOICe with eye-tracking, using
the software interface described on this web page, was performed in 2004 by Simon Vogt
of the Institute for Neuro- and Bioinformatics at the University Luebeck in Germany
(reported in
Command sequences via vOICeCommand() like "Speed*4", "Zoom*4" and "Saccade 25 75" (or combinations of "Home", "Left", Right", "Up", "Down") can be used to quickly associate newly tracked eye positions with corresponding changes in the absolute positions in a zoomed auditory view, thereby possibly enhancing the visual experience in seeing with sound. A special lens or mirror may be used to maintain some peripheral vision in addition to the zoomed "foveal" view, since The vOICe does not yet support this in software.
Note: remote control commands issued via the vOICeCommand() function are available only to registered users of The vOICe. However, the (un)muting via vOICeSound() for audio compatibility does not require registration. Also, registration is no longer needed as of The vOICe for Windows version 2.01 and later.
Note: in case your application is 16-bit rather than 32-bit, you will have to first define the WM_COPYDATA and COPYDATASTRUCT yourself as
|
The executable of the above example is for demonstration purposes available as voicecontrol.exe. Just run it at the same time as The vOICe for Windows and click the left and right mouse button within the (blank) window to mute and unmute The vOICe.
In the following table an overview is given of the commands currently supported via calls to the vOICeCommand() function:
vOICeCommand() string argument |
Resulting action - if registered |
---|---|
"Stereoscopic" | Turns stereoscopic vision on |
"Not stereoscopic" | Turns stereoscopic vision off |
"Motion" | Turns motion detection on |
"No motion" | Turns motion detection off |
"Impact" | Turns collision threat analysis on |
"No impact" | Turns collision threat analysis off |
"Mute" | Mutes the sound output |
"UnMute" | Unmutes the sound output |
"Wordless" | Turns speech output on |
"Not wordless" | Turns speech output off |
"Speed/4" | Sets quarter soundscape scan speed |
"Speed/2" | Sets half soundscape scan speed |
"Speed*1" | Sets normal soundscape scan speed |
"Speed*2" | Sets double soundscape scan speed |
"Speed*4" | Sets fourfold soundscape scan speed |
"Speed*8" | Sets eightfold soundscape scan speed |
"Zoom*1" | Turns zoom off |
"Zoom*2" | Sets twofold zoom |
"Zoom*4" | Sets fourfold zoom |
"Zoom*8" | Sets eightfold zoom |
"Zoom*16" | Sets sixteenfold zoom |
"Blinders" | Turn blinders on |
"No blinders" | Turn blinders off |
"Inverse" | Sets negative video |
"Positive" | Sets normal positive video |
"Edges" | Turns edge enhancement on |
"No edges" | Turns edge enhancement off |
"Filter red" | Turns red color filtering on |
"Filter green" | Turns green color filtering on |
"Filter blue" | Turns blue color filtering on |
"Filter magenta" | Turns magenta color filtering on |
"Filter orange" | Turns orange color filtering on |
"Filter yellow" | Turns yellow color filtering on |
"Filter cyan" | Turns cyan color filtering on |
"Filter skin" | Turns skin color filtering on |
"No color filter" | Turns all color filtering off |
"Say color" | Performs color identification once for central patch |
"Recognize" | Invokes mobile OCR for reading text (Control R alias) |
"Analyze" | Saves vOICe.bmp and runs analyze.bat (Control X alias) |
"Reset" | Resets all commanded settings to their defaults |
"Home" | Simulates home key, setting cursor/view at center |
"Left" | Simulates left arrow key |
"Right" | Simulates right arrow key |
"Up" | Simulates up arrow key |
"Down" | Simulates down arrow key |
"Folder <path>" | Set working directory to <path>, e.g., "Folder C:\\mypath\\" |
"Image <filename>" | Load image file <filename>, e.g., "Image myimage.jpg" |
"Saccade <x> <y>" | Move zoomed view to (<x> %, <y> %), e.g., "Saccade 100.0 100.0" |
For some combinations with other GUI applications, you may wish to turn off The vOICe's
automatic CPU priority switching by going to the menu Edit | Soundscape Preferences |
Advanced button, and unchecking the "HIPRIO" checkbox to obtain a more smooth overall
GUI response.
Pranav Lal created "vOICeCmd", a command-line interface for use of the above functionality,
available for free via the GitHub project page
https://github.com/pranavlal/vcmd/
(GPL license, with
Manual).
See also his
Technology Esoterica
blog post about this utility.