Here you will find my scripts for monitoring Windows progress bars using sounds or speech. To install the scripts, run the installer and follow its directions.
These scripts fall under the BSD-3-Clause license. A former version of these scripts from 2003 was placed in the public domain.
This is a set of scripts and a set of 105 wav files comprising an audio gauge. The idea is to have a tone sweep from 220Hz to 880Hz (i.e., one octave below A 440 to one octave above it) as a progress bar advances. 101 wav files are assigned to the 101 values of a percentage (101 because they include both 0% and 100%; the other four wav files are used for special conditions). When a progress bar's position changes, the corresponding wav file is played. If a progress bar remains unmoving for five seconds, its last position is indicated so you can detect stalled downloads, etc. Each tone file is only 0.05 seconds long, so it amounts to a very short blip. Actually, each file contains three simultaneous tones: the one indicating the current progress percentage, plus a quieter tone for the starting position and one for the ending position. The upshot of all this is that, as a progress bar moves, you hear not only that it's moving, but also a very fast and accurate description of how far it is relative to its endpoints. Easier to hear than to explain, no doubt. If you don't install the wav files, JAWS will announce the percentages instead of using the wav files to report them.
Note that the JAWS settings controlling progress bar announcements affect the frequency of progress bar reports from these scripts as well. Turning off progress bar announcements for an application will also disable their sounds here, and restricting announcements to once every five seconds will similarly restrict the frequency of sound reports.
The wav files were created using Perl and a Unix tool called augen (before NVDA included progress tones actually). The volumes of the tones should be such that JAWS speech is not eclipsed by progress indications. The wav files are small (1,294 bytes each) and so don't require much time to load.