Old Well Carolina Computer Assistive Technology

Developer resources

On this page you will find links to documentation, tutorials, Windows binaries, and source code for our various Python libraries.

We often build new Python libraries to aid in the development of assistive technologies. Other times, we try to leverage existing work in our projects. Since some of our tools may be of interest to other developers, we provide them free of charge under open source licenses.


pySonic is a Python wrapper around the high performance, cross platform FMOD sound library. You get all the benefits of the FMOD library (e.g. spatial sound, reverberation, streaming playback, etc.), but in a Pythonic, object oriented package.

Download pySonic
Visit the pySonic homepage
Read a pySonic tutorial
Browse the pySonic 0.8 API documentation


The Microsoft Speech Engine provides programmers with text-to-speech and speech recognition capabilities on the Windows platform. pyTTS wraps this library for use in Python, and gives some simple functionality for speaking plain text and XML to audio out, disk, and memory.

Download pyTTS
Read a pyTTS tutorial
Browse the pyTTS 3.0 API documentation


The PMIDI library wraps the Windows MIDI Streams library for use in Python. Using PMIDI, developers can generate synthesized musical sequences on the fly in their code for playback to users.

Download PMIDI
Read a PMIDI tutorial
Browse the PMIDI 1.1 API documentation


The Windows Hooks API allows programmers to watch for system-wide events. pyHook wraps part of this API to allow Python developers to watch for global key and mouse events in Windows.

Download pyHook
Read a pyHook tutorial
Browse the pyHook 1.4 API documentation


The Microsoft Active Accessibility library provides programmers with run-time interface inspection and control capabilities on the Windows platform. pyAA wraps this library for use in Python by developers who wish to create automated GUI tests or to derive information for assistive technologies from the visual interfaces of other applications.

Download pyAA
Read a pyAA tutorial
Browse the pyAA 2.0 API documentation


The Immersion Foundation Classes (IFC) from Immersion Corporation provide a standard interface to numerous tactile feedback devices. pyIFC wraps these classes for use in the Python programming language, and provides a means for conveying information through tactile feedback in programs.

Download pyIFC


N.B.: We no longer develop this package. See pySonic for a replacement.

The FMOD sound engine provides realtime audio mixing and output capabilities. We have switched to using FMOD in our software instead of OpenAL because it better supports our needs. pyFMOD wraps this library for use in Python. It requires the ctypes Python library.

Download pyFMOD


N.B.: We no longer develop this package. See pySonic for a replacement.

The Open Audio Library (OpenAL) from Loki Entertainment Software gives programmers the ability to add 3D spatial sounds to their programs. pyOpenAL wraps this library for use in Python, and gives the ability to convey spatial information to users through audio.

Download pyOpenAL