Initial Communication
I found this project randomly on the internet by searching for open source projects for accessibility/disabled people because this is an area I am particularly interested in.
Once I got to their website, I read through their story, product, and GitHub repository. It sounds like a perfect fit for me because:
- The project was developed by two blind students from Brisbane, Australia.
- They created this project to help blind people to access computers as easily and naturally as possible.
- They seem to have helped many people globally, making actual postive impact.
- They are very active. When I first checked their GitHub, the lastest update was made within 24 hours ago.
- They have very clearly documented guidelines for contributors.
Therefore I decided to contact them. I wrote them an email explaining my intention, programming background, and interest in contributing to their project. Surprisingly, they responded 2 hours later with an extremely friendly, informative and helpful email, encouraging me to start with their first-good-issue, and told me to ask questions at any time.


Set up
I forked the repository to my GitHub.

Then I cloned the repository to my local computer via VScode.

When I was using “scons
” I ran into issues, then I realised that NVDA includes its own virtual environment (venv/
) set up with Python 3.11. I was using Python 3.9. This is why when I try to call python -m SCons with my system Python 3.9, the launcher bailed with “started outside NVDA’s build system Python virtual environment.” Additionally I learnt that the NVDA project has updated its build configuration to explicitly require Python 3.11 its dependencies (pywin32, comtypes, binary extensions, etc.) were compiled against Python 3.11. So even if SCons
itself worked under 3.9, the build will break because those extensions won’t behave reliably. Therefore I installed Python 3.11 and I am glad to notice this at the beginning.
After installing Python 3.11, I ran into another issue with building the python virtual environment. It was due to missing MIDL.EXE
. I found the MIDL.EXE
and temporarily added midl.exe to my PATH, but it still didn’t work. I read the error message and found out that it was looking for midl for AMR64 instead of x86, so I installed midl.exe for AMR64 from the Visual Studio Installer.
After fixing the midl.exe problem, I ran .\scons.bat source again, but this time, it says “'clang-cl' is not recognized"
. I went to the Visual Studio Installer and installed the “C++ Clang Compiler for Windows” and set the path to where it is located.
Then again, the virtual environment was interrupted because it was looking for a file include\espeak\espeak-ng-data\intonations
. Scons
thinks intonations
is a tool (maybe a script or binary), but it’s missing — and Windows gives a misleading error because it tries to run it. However, intonations
it’s not meant to be versioned — it’s a generated file. So I cloned the orginal espeak
repository and generated my own intonations
.
Once I have their python virtual environment set up, I can see their python console.

Leave a Reply