Soundscapes On The Emacspeak Audio Desktop
1 Executive Summary
Emacspeak module soundscape adds the ability to automatically switch
Soundscapes based on the current buffer. A Soundscape can be any
continuously playing stream of audio; in practice, using nature sounds
that repeat softly in a pseudo-random manner appears to be
effective. Soundscapes are activated based on the currently active
Emacs Major Mode and as a consequence directly mirror the user's
current activity. The present implementation uses Python package
Boodler to generate soundscapes.
2 Usage
Note that package soundscape.el
does not have any Emacspeak
dependencies. See the package documentation for details on installing
and configuring Boodler.
You can experiment with installed Boodler agents using command
soundscape
and soundscape-stop
. You can enable and disable
automatic soundscapes using command soundscape-toggle
. The
currently active default Soundscape theme can be inspected via command
soundscape-display
— this produces a buffer that lists the
currently defined /major-mode -> Soundscape mapping.
Package soundscape.el
considers the inheritance relationship among
Emacs major-modes when computing the set of soundscapes to
activate.As an example, eww-mode inherits from special-mode — as
a consequence, two soundscapes (LightWind and BackgroundWaves)
become active when reading Web content.
3 Default Major-Mode->Soundscape (Mood) Mapping:
Here is a table showing the mapping of major-mmodes to Soundscape
moods at the time of writing. For readability, I have stripped out the
package-name for these soundscapes.
Soundscape (Mood) | List Of Major Modes |
BuddhaLoop | fundamental |
LightStorm | special |
RainForever | Info help Man Custom messages-buffer |
LightWind | comint elfeed-search |
TonkSpace | tabulated-list |
Cavern | prog |
Drip | message gnus-summary gnus-article gnus-group mspools vm-presentation vm mail twittering jabber-roster jabber-chat erc |
Still | text |
Water | dired |
Steady | calendar diary |
BackgroundWaves | w3 eww |
4 Soundscape Research
I implemented package soundscape.el
to create a platform that would
let me experiment with different tools that aid in
concentration. After using Soundscapes for about a week, I have also
found that it reduces some of the fatigue that results from having to
listen to synthetic text-to-speech for extended periods.
The true value (if any) of this package will be a function of how heavily
I find myself using it six months from now — as a metric, complete
success might mean that in mid-2016, I still have automatic
soundscapes turned on.
As I type this article in Emacs org-mode, I hear the sound of
water-drops falling softly in the background, and I take note
that I have not switched tasks for the entire time I have spent
writing this article.
Other success metrics — harder to measure — might include how
effective Soundscapes are in helping the user stay focused on a
given activity for extended periods of time. In an ever-connected
world buzzing with a constant stream of distractions ranging from
incoming email and instant-messages to a flood of twitter updates,
this is likely the most relevant metric.