HenrikBengtsson / progressr

三 R package: An Inclusive, Unifying API for Progress Updates
https://progressr.futureverse.org
279 stars 11 forks source link

Play incremental tone for audio progress bar #143

Open jooyoungseo opened 2 years ago

jooyoungseo commented 2 years ago

It would be even nicer if {progressr} could support incremental tones for audio progress bar. This is a technique being used by some screen readers, such as NVDA.

JGauge Progress Bar Monitoring Scripts can give you a better idea of this concept:

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.

HenrikBengtsson commented 2 years ago

This is a great example of the type of ideas and features that progressr was designed to support.

The gist of supporting custom progress reporters is to provide the basic functions for communicating the progress (e.g. audio, visual, ...). Then it's a matter of providing a thin progression_handler wrapper on top of those functions. After that, progress can be reported via this new handler.

So, a first step would be to write functions that can generate the different sounds (e.g. synthetically directly via some third-party R package, or by playing sound files). This part does not involve the progressr package, which makes it easier to create. It might become similar to how the 'beepr' progression handler wrapper uses the beepr package to generate sounds. Is this something you could start working on? When that is in place, I can write the wrapper for progressr.

jooyoungseo commented 1 year ago

@HenrikBengtsson -- The lightweight wav files are available at Gauge Sounds - Sound Files. could we just use these files and cite the author?

llrs commented 1 year ago

Related (duplicate?) to #20