<html>
<body>
<x-tab>        </x-tab><x-tab>
        </x-tab><br>
EMACSPEAK The Complete Audio Desktop - Wednesday, July 31, 2024 at 4:25
PM<br><br>
<h1><b>Emacspeak --- A Speech Odyssey<br><br>
<br>
Emacspeak: A Speech Odyssey<br><br>
<br>
</b></h1><h2><b>1. Dedication: To My Guiding Eyes Aster, Hubbell and
Tilden<br><br>
</b></h2><table border=0>
<tr><td width=158>
<a href="https://emacspeak.sourceforge.net/raman/aster-labrador/">
<img src="https://emacspeak.sourceforge.net/raman/aster-labrador/aster-geb-graduation.jpg" width=150 height=216 alt="Aster Labrador">
</a></b></h2><br>
(2/15/1987
12/05/1999)<td width=158>
<a href="https://emacspeak.sourcceforge.net/raman/hubbell-labrador/">
<img src="https://emacspeak.sourceforge.net/raman/hubbell-labrador/hubbell-and-raman.jpg" width=150 height=216 alt=" Hubbell Labrador">
</a><br>
(12/21/1997
4/111/2011)</td><td width=158>
<a href="https://emacspeak.sourceforge.net/raman/tilden-labrador/">
<img src="https://emacspeak.sourceforge.net/raman/tilden-labrador/raman-and-tilden-geb.jpg" width=150 height=216 alt="Tilden Labrador">
</a><br>
(8/4/2009 9/3/2022) </td></tr>
</table>
<br><br>
<h2><b>2. Key Insights</b></h2>
<ol>
<li>
<a href="https://www.drdobbs.com/user-interface-a-means-to-an-end/184410453">
User interface is a means to an end</a>. 
<li>Open Source is essential for discovering new interaction paradigms. 
<li>This is not mere idealism. Openness is a key enabler for creating
user journeys that were not envisioned by a system’s designers. 
<li><a href="https://www.gnu.org/s/emacs/">Emacs</a> and
<a href="https://en.wikipedia.org/wiki/TeX">TeX</a> are good exemplars.
They permit maximal freedom when seen from the viewpoint of user
extensibility and creativity. TeX enabled
<a href="https://emacspeak.blogspot.com/2022/12/aster-spoken-math-on-emacspeak-audio_21.html">
Audio System For Technical Readings (AsTeR)</a>; Emacs enabled
<a href="https://emacspeak.sourceforge.net">Emacspeak</a>. 
<li>Rapid, reliable task completion is the most important metric and
trumps secondary items such as eye-candy the latter only leads to bloatt
as evinced by the HTML Web. 
<li>Having a well-identified problem when designing a system is
paramount. 
<li><i>Usability</i> is important, but to matter, the system needs to be
<i>useful</i> first. 
<li><i>Ease of use</i> by itself is often <i>marketing</i> hype. 
<li>Useful systems are fun to learn and give back more than what you put
in with respect to time and effort. 
<li>A steep learning curve in and of itself is not to be feared it can be
fun to learn and gets you farther faster. 
<li>True empowerment: Ensure that the user grows continuously.
</ol><br>
<h2><b>3. Emacspeak The Complete Audio Desktop</b></h2>
<ol>
<li>Emacspeak, started in September 1994, was released as Open Source in
<a href="https://tvraman.github.io/emacspeak//web/releases/release-3.0.html">
April 1995</a>. 
<li>The goal was to create a system for daily use that doubled as a
research work-bench for developing an auditory interface. 
<li>Speech and auditory output would be treated as first-class citizens. 
<li>The time felt right with respect to building a system that enabled
eyes-free access to the emerging Web. 
<li><a href="https://emacspeak.sourceforge.net/turning-twenty.html">
Emacspeak At Twenty</a> was published in September 2014 and traced the
evolution of the project. 
<li>Now, this article gives a birds-eye overview of the last 10 years by
loosely following the logical structure of the <i>Turning Twenty</i>
paper. 
<li>In the process, we identify the dreams that have come to pass as well
as the expectations that have failed to materialize <b>both</b>
attributable to developments in the larger Internet eco-system. 
<li>But never fear, though some of these may be superficially
disappointing, they likely herald the nature of bigger and better things
to come! 
<li>As a proof-point, in 1994, I could not have imagined the impact that
the world of Internet-centered computing and the accompanying information
revolution would have on the state of information access. 
<li>Conversely, I boldly (and incorrectly) predicted that the arrival of
mobile devices and mainstream speech interfaces would herald the move to
a Web of information where there would be a clean separation between
application back-ends and various client-specific front-ends. See
<a href="https://emacspeak.sourceforge.net/raman/publications/specialized-browsers/">
Specialized Browsers</a> and
<a href="https://youtube.com/watch?v=TZKwvBkS5cs">The Web, The Way You
Want. Distinguished Lecture Series, UW Oct 2007</a>. 
<li>The above still makes sense from the view of <i>scalable</i> software
architecture. However the rapid growth of the Web economy has also
resulted in an even faster race to the bottom where applications continue
to be built and re-built every few years for <i>the next best thing</i>
welcome to the <i>write once, debug everywhere</i> world all over again! 
<li>Case in point; today we have smart phones, smart watches and smart
speakers, but each of these require targeted front-ends if one wishes to
bring the riches of the Internet to them. 
<li>So the larger the Web gets, the fewer devices it becomes available on
a classic downward spiral.
</ol><br>
Share And Enjoy <a href="??">The Best Is Yet To Come</a>!<br><br>
<h3><b>3.1. How To Read This Document</b></h3>
<ol>
<li>I recommend reading the <i>Turning Twenty</i> paper to get a full
overview. 
<li>Then, read this paper a section at a time, while referring back to
the parallel section in the <i>Turning Twenty</i> paper to understand how
things have evolved. 
<li>Make sure to skim or deep-dive into the references in both papers.
</ol><br>
<h2><b>4. Using UNIX With Speech Output 2024</b></h2>
<ol>
<li>In 2024 <i>UNIX</i> equates mostly to various Linux distributions,
and from the Emacspeak perspective, they are all made <i>mostly</i>
equal. 
<li>Variations do exist and running bleeding-edge distributions can come
with issues, <i>e.g.</i>, unstable versions of the underlying audio
infrastructure. 
<li>Yes, 30 years and counting, Linux Audio is still a work in progress
though I hope Pipewire will be the last of these tidal shifts. 
<li>Linux is moving to Wayland and expect that transition to be choppy. 
<li>Native applications are mostly gone bar the shouting. In this
context, where most users access things through a <i>mainstream</i> Web
browser, Emacspeak users access <i>everything</i> through Emacs. 
<li>The above when done right is hugely empowering; when done badly, it’s
extremely limiting see lateer sections of this paper on the continuing
evolution of the Web.
</ol><br>
<h2><b>5. Key Enabler Emacs And Lisp Advice</b></h2>
<ol>
<li>Advice in Emacs as implemented in advice is rock-solid. 
<li>There is a newer nadvice that is part of Emacs that Emacspeak does
not use. 
<li>There are no plans to migrate to nadvice since that is a lot of busy
work in my view and any such migration would be difficult to test for
correctness. 
<li>The classic <i>advice</i> package may be removed from Emacs at some
point in the future, but never fear; it’ll be bundled with Emacspeak if
that becomes necessary. This is a feature of Free Software and is a great
example of what that <i>Freedom</i> entails.
</ol><br>
<h2><b>6. Key Component Text To Speech (TTS)</b></h2>
<ol>
<li>Speech output especially unencumbered text-to-speech is just as much
a challenge as it was 30 years ago. 
<li>In the bigger picture, early instances of using TTS for voice
assistants has driven the industry toward <i>natural sounding</i> voices. 
<li>The above sounds attractive on the surface, but a price we have paid
is the loss of fine-grained control over voice parameters, emotion,
stress and other supra-linguistic features. 
<li>I believe these to be essential for delivering good auditory
interfaces and remain optimistic that these will indeed arrive in a
future iteration of speech interaction. 
<li>Things appear to be coming full circle, Emacspeak started with the
hardware Dectalk; now, the
<a href="https://github.com/dectalk/dectalk.git">Software Dectalk</a> is
increasingly becoming the primary choice on Linux ssee this
<a href="https://raw.githubusercontent.com/tvraman/emacspeak/master/servers/software-dtk/Readme.org">
Readme for setup instructions</a>. 
<li>Viavoice Outloud from Voxin is still supported. However, you can no
longer buy new licenses. If you have already purchased a license, it’ll
continue to work. 
<li>The Vocalizer voices that Voxin now sells <i>do not</i> work with
Emacspeak. 
<li>The other choice on Linux is ESpeak which will hopefully continue to
be free albeit of much lower quality. 
<li>The future as ever is unpredictable and new voices may well show up
especially those powered by on-device Large Language Models (LLMs). 
<li>On non-free platforms, there is usable TTS on the Mac, now supported
by the new SwiftMac server for Emacspeak.
</ol><br>
<h2><b>7. Emacspeak And Software Development</b></h2>
<ol>
<li><i>Magit</i> as a Git porcelain is perhaps the biggest leap forward
with respect to software development. 
<li>New completion frameworks such as <i>company</i> and <i>consult</i>
come a close second in enhancing productivity. 
<li>Completion strategies such as <i>fuzzy</i> and <i>flex</i> provide
enhanced completion. 
<li>
<a href="https://emacspeak.blogspot.com/2018/06/effective-suggest-and-complete-in-eyes.html">
Effective Suggest And Complete In An Eyes-free Environment</a> explains
the higher-level concept involved in defining such strategies. 
<li>The ability to introspect code via eglot turns Emacs into a powerful
and meaningful IDE I say meaningful because this brings thee best
features of an integrated development environment while leaving behind
the eye-candy that tends to bloat commercial IDEs. 
<li>Packages like <i>transient</i> enable discoverable, rapid keyboard
access to complex nested-menu driven interfaces. 
<li>
<a href="https://emacspeak.blogspot.com/2023/09/emacs-ergonomics-dont-punish-your.html">
Ergonomic keybindings</a> under X using
<a href="https://github.com/alols/xcape">xcape</a> to minimize chording
has been a significant win in the last two years. 
<li>Jupyter is the generalization of IPython notebooks to <i>Julia</i>,
<i>Python</i> and <i>R</i>. The news here isn’t all good; IPython
notebooks are well-designed with respect to not getting locked into any
given implementation. However in practice, front-ends depend on
Javascript in the browser. 
<li>Consequently, Emacs packages for IPython Notebooks <i>e.g.</i>,
package ein, are no longer maintained. 
<li>Developing in higher-level languages continues to be very well
supported in Emacspeak. 
<li>The re-emergence of Common Lisp in the last 20 years, thanks to
<a href="https://asdf.common-lisp.dev/asdf.html">asdf</a> and
<a href="https://www.quicklisp.org/">quicklisp</a> as a network-aware
package manager and build tool has once again made Lisp development using
Emacs Slime a productive experience. 
<li>In 2022, I updated
<a href="https://emacspeak.blogspot.com/2022/12/aster-spoken-math-on-emacspeak-audio_21.html">
Audio System For Technical Readings (AsTeR)</a> my PhD project from 1993
­ to run under SBCL with a freshly implemented Emacs front-end. 
<li>So now I can listen to Math content just as well as I could 30 years
ago!
</ol><br>
<h2><b>8. Emacspeak And Authoring Documents</b></h2>
<ol>
<li>Package org is to authoring as magit is to software development with
respect to productivity gains. 
<li>Org has existed since circa 2006 in my Emacs setup; but it continues
to give and give plentifully. 
<li>Where I once authored technical papers in <i>LaTeX</i> using auctex,
used nxml for HTML, <i>etc.</i>, I now mostly write everything in
org-mode and export to the relevant target format. 
<li>Integrating various search engines in Emacs makes authoring content
extremely productive. 
<li>Integrated access to spell-checking (flyspell) dictionaries,
translation engines, and other language tools combine for a powerful
authoring work-bench. 
<li>Extending org-mode with custom link types enables <i>smart note
taking</i> with hyperlinks to relevant portions of an audio stream see
article
<a href="https://emacspeaak.blogspot.com/2022/10/learn-smarter-by-taking-rich-hypertext.html">
Learn Smarter By Taking Rich Hypertext Notes</a>.
</ol><br>
<h2><b>9. Emacspeak And The Web In 2024</b></h2>
<ol>
<li>Package shr and eww arrived around 2014. But in 2024, they can be
said to have <b>truly</b> landed. 
<li>2014 also marked the explicit take-over of the stewardship of the
HTML Web by the browser vendors from the W3C ­ I say explicit because the
W3C had already thrown in the towel in the preceding decade. 
<li>This has led to a Web of content created using the assembly language
of divs, spans and Javascript under the flag of HTML5 ­ the result is a
tangled web of spaghetti that everyone loves to hate. 
<li>In this context, see
<a href="https://idlewords.com/talks/website_obesity.htm">Tag Soup,
Scripts And Obfuscation: How The Web Was Broken</a> for a good overview
of HTML’s obesity problem. 
<li>For better or worse, the investment in XML and display-independent
content is now a complete write-off at least on the surface. 
<li>So what next wait for the spaghetti monster to show up for lunch?
Humor aside that monster may well be called AI though whether today’s Web
givees that monster life, indigestion, constipation, dysentery or
hallucinations is a story to be written in the coming years. 
<li>I say <i>on the surface</i> above because The welcome re-emergence of
ATOM and RSS feeds is perhaps a silent acknowledgement that bloated Web
pages are now unusable even for users who can see. 
<li>Package elfeed has emerged as a powerful feed-manager for Emacs. 
<li>Emacspeak implements RSS and ATOM support using XSLT; those features
now shine brighter with mainstream news sites reviving their support for
content feeds. 
<li>Browsers like Mozilla now implement <i>content filters</i> a
euphemism for scrapping off visual eye-candy and related cruft to reveal
the underlying content. These are now available as plugins, (see
<a href="https://github.com/eafer/rdrview">RDRView</a> for an example).
Emacspeak leverages this to make the Web more readable. 
<li>Package url-template and emacspeak-websearch continue to give in
plenty, though they do require continuous updating. 
<li>Web APIs come and go, so that space is in a state of constant change. 
<li>The state of web applications is perhaps the most concerning from an
Emacspeak perspective, and I do not see that changing in the short-term.
There are no incentives for Web providers to free their applications from
the tangled Web of spaghetti they have woven around themselves. 
<li>But as with everything else in our industry, it is precisely when
something feels completely entrenched that users rebel and innovations
emerge to move us to the next phase so fingers crossedd.
</ol><br>
<h2><b>10. Audio Formatting Generalizing Aural CSS</b></h2>
<ol>
<li>Audio formatting with Aural CSS support is stable, with new
enhancements supporting more TTS engines. 
<li>Support for parallel streams of TTS using separate outputs to
left/right channels is a big win and enables more efficient interaction. 
<li>Support for various Digital Signal Processing (DSP) filters enables
rich auditory effects like binaural audio and spatial audio. 
<li>
<a href="https://emacspeak.blogspot.com/2015/12/soundscapes-on-emacspeak-audio-desktop.html">
Soundscapes</a> implemented via package boodler makes for a pleasant and
relaxing auditory environment. 
<li>Enabling virtual sound devices via Pipewire for 5.1 and 7.1 spatial
audio significantly enhances the auditory experience.
</ol><br>
<h2><b>11. Conversational Gestures For The Audio Desktop</b></h2>
<ol>
<li>Parallel streams of audio, combined with more ergonomic keybindings
are the primary enhancement in this area. 
<li>Parallel streams of speech, <i>e.g.</i>, a separate notification
stream on the left or right ear help increase the band-width of
communication. 
<li>Notifications can thus be delivered without having to stop the
primary speech output.
</ol><br>
<h2><b>12. Accessing Media Streams</b></h2>
<ol>
<li>Emacspeak support for rich multimedia is now much more robust. 
<li>Emacs package empv is a powerful tool for locating, organizing and
playing local and remote media streams ranging from music, audio books,
radio stations and Podcasts. 
<li>This makes media streams from a large number of providers ranging
from the BBC to Youtube available via a consistent keyboard interface. 
<li>This experience is augmented by a collection of <i>smart</i> content
locators on the Emacspeak desktop, see the relevant blog article titled
<a href="https://emacspeak.blogspot.com/2024/03/updated-smart-media-selector-for-audio.html">
smart media selectors</a>.
</ol><br>
<h2><b>13. Electronic Books Ubiquitous Access To Books</b></h2>
<ol>
<li>Emacspeak modules for <i>Epub</i> and <i>Bookshare</i> continue to
provide good books integration. 
<li>There are <i>smart</i> book locators analogous to the locators for
media content. 
<li>Emacspeak speech-enables Calibre for working with local electronic
libraries.
</ol><br>
<h2><b>14. Leveraging Computational Tools From SQL And R To IPython
Notebooks</b></h2>
<ol>
<li>This area continues to provide a rich collection of packages. 
<li>Newer highlights include sage interaction for symbolic computation. 
<li>Emacspeak speech-enables packages gptel and ellama for working with
local and network LLMs.
</ol><br>
<h2><b>15. Social Web Mail, Messaging And Blogging</b></h2>
<ol>
<li>This is a space that is definitely regressing. 
<li>The previous decade was marked by open APIs to many social Web
platforms. 
<li>Over time these first regressed with respect to privacy. 
<li>Then they turned into wall-gardens in their own right. 
<li>Finally, the Web APIs, other than the kind embedded in Javascript
have started disappearing. 
<li>Looking back, the only <i>social</i> platform I now use is Blogger
for hosting my Emacspeak Blog, it has a somewhat usable API, albeit
guarded by a difficult to use <i>OAuth</i> interface that requires
signing in via a <i>mainstream</i> browser. 
<li>IMap continues to survive as an open email protocol, though its days
may well be numbered. 
<li>The dye is already cast with respect to mere mortals being able to
setup and host their email witness the complexity in setting up the
Emacspeak mailing list in 2023 vs 1993! 
<li>This is an area that is likely to get worse before it gets better,
thanks to the spammers more’s thhe pity, since Internet Email is perhaps
the single-most impactful technology with respect to leveling the
communications playing field. 
<li>The disappearance of APIs mentioned above also means that today the
only usable chat service on an open platform like Emacspeak is the
venerable Internet Relay Chat (IRC).
</ol><br>
<h2><b>16. The RESTful Web Web Wizards And URL Templatess For Faster
Access</b></h2>
<ol>
<li>This area continues to thrive either because of or despite the bese
best and worst efforts of application providers on the Web. 
<li>Twenty years on (this feature originally landed in 2000) Emacspeak
has a far richer collection of filters, preprocessors and post-processors
that enables ever-more powerful Web wizards. See the relevant
<a href="https://tvraman.github.io/emacspeak/manual/URL-Templates.html">
chapter</a> in the Emacspeak manual for the automatically updated list of
<b>URL Templates</b>.
</ol><br>
<h2><b>17. Mashing It Up Leveraging AII And The Web</b></h2>
<ol>
<li>Developing solutions by combining various API-based services on the
Web has all but disappeared, unless one is willing to commit fully to the
Javascript-powered Web hosted in a Web browser, something I hope I never
have to accept. 
<li>So for now, I’ll keep well away and count my blessings. 
<li>The next chapter of the <i>mash-up story</i> may well be based around
<i>Generative AI</i> using LLMs. In effect, LLMs trained on Web content
define a <i>platform</i> for generating content mash-ups. The issue at
present is that they are just as likely to produce <i>meaningless
mush</i> something that may get better as the field getss a handle on
cleaning up Web content. 
<li>Notice that we are now back to the previously unsolved problem of
cleaning up the HTML Web with LLMs, we’ll just have aan order of
magnitude more documents than the <i>2<sup>W</sup></i> postulated by
<a href="https://emacspeak.sourceforge.net/raman/publications/beyond-web20-cacm-2009/">
Beyond Web 2.0, Communications Of The ACM, 2009</a>.
</ol><br>
<h2><b>18. The Final Word Donald E Knuth (DEK)</b></h2>
<ul>
<li>The best theory is inspired by practice. The best practice is
inspired by theory. 
<li>The enjoyment of one’s tools is an essential ingredient of successful
work. 
<li>Easy things are often amusing and relaxing, but their value soon
fades. Greater pleasure, deeper satisfaction, and higher wages are
associated with genuine accomplishments, with the successful fulfillment
of a challenging task. 
<li><a href="https://www.azquotes.com/author/8177-Donald_Knuth">Computer
Programming Is An Art</a>.
</ul><br>
The best example of the above is of course
<a href="https://en.wikipedia.org/wiki/TeX">Knuth’s TeX</a> work that was
motivaated by his own dissatisfaction with the tools available to him at
the time for typesetting his magnum opus The Art Of Computer Programming
(TAOCP). It is something I’ve looked up to ever since my time as a
graduate student at Cornell.<br><br>
The Emacspeak Speech Odyssey outlined in this paper is, in some small
measure, my own personal experience of the sentiments he
expresses.<br><br>
T. V. Raman, San Jose, CA, August 1, 2024.<br>
> <br><br>
<h2><b>19. References</b></h2>
<ol>
<li>
<a href="https://www.drdobbs.com/user-interface-a-means-to-an-end/184410453">
User Interface is a means to an end, DDJ 1997</a>. 
<li><a href="https://www.gnu.org/s/emacs/">GNU Emacs</a> 
<li><a href="https://en.wikipedia.org/wiki/TeX">Knuth’s TeX</a> 
<li>
<a href="https://emacspeak.blogspot.com/2022/12/aster-spoken-math-on-emacspeak-audio_21.html">
Audio System For Technical Readings</a> 
<li>
<a href="https://tvraman.github.io/emacspeak//web/releases/release-3.0.html">
Announcing Emacspeak: April 1995</a> 
<li><a href="https://emacspeak.sourceforge.net/turning-twenty.html">
Emacspeak At Twenty</a> 
<li><a href="http://www.cs.washington.edu/htbin-post/mvis/mvis?ID=636">
The Web, The Way You Want. Distinguished Lecture Series, UW Oct 2007</a> 
<li>
<a href="https://emacspeak.sourceforge.net/raman/publications/specialized-browsers/">
Specialized Browsers</a> 
<li><a href="https://tvraman.github.io/emacspeak/web/01-gemini.ogg">An
Ode To Emacspeak: The Best Is Yet To Come</a> 
<li><a href="https://github.com/dectalk/dectalk.git">Software Dectalk on
Github</a> 
<li>
<a href="https://raw.githubusercontent.com/tvraman/emacspeak/master/servers/software-dtk/Readme.org">
Dectalk setup instructions</a> 
<li>
<a href="https://emacspeak.blogspot.com/2018/06/effective-suggest-and-complete-in-eyes.html">
Effective Suggest And Complete In An Eyes-free Environment</a> 
<li><a href="https://asdf.common-lisp.dev/asdf.html">Common Lisp:
asdf</a> 
<li><a href="https://www.quicklisp.org/">Common Lisp: Quicklisp</a> 
<li>
<a href="https://emacspeak.blogspot.com/2015/12/soundscapes-on-emacspeak-audio-desktop.html">
Soundscapes on the Emacspeak Audio Desktop</a> 
<li><a href="https://en.wikipedia.org/wiki/REST">RESTful Web</a> 
<li>
<a href="https://emacspeak.blogspot.com/2023/09/emacs-ergonomics-dont-punish-your.html">
Ergonomic keybindings</a> 
<li><a href="https://github.com/alols/xcape">Minimize chording with
XCape</a> 
<li>
<a href="https://emacspeak.blogspot.com/2022/10/learn-smarter-by-taking-rich-hypertext.html">
Learn Smarter By Taking Rich Hypertext Notes</a> 
<li><a href="https://idlewords.com/talks/website_obesity.htm">Tag Soup,
Scripts And Obfuscation: How The Web Was Broken</a> 
<li><a href="https://github.com/eafer/rdrview">Readable Web Pages:
RDRView</a> 
<li>
<a href="https://emacspeak.blogspot.com/2024/03/updated-smart-media-selector-for-audio.html">
smart media selectors</a> 
<li>
<a href="https://emacspeak.sourceforge.net/raman/publications/beyond-web20-cacm-2009/">
Beyond Web 2.0, Communications Of The ACM, 2009</a> 
<li>
<a href="https://tvraman.github.io/emacspeak/manual/URL-Templates.html">
Emacspeak Manual: URL Templates</a> 
<li>
<a href="http://emacspeak.blogspot.com/2007/07/emacspeak-and-beautiful-code.html">
Beautiful Code</a> An overview of the Emacspeak architecture, O’Reilly
Media, 2007. 
<li><a href="https://www-cs-faculty.stanford.edu/~knuth/taocp.html">The
Art Of Computer Programming (TAOCP)</a>
</ol><br>
<a href="https://emacspeak.blogspot.com/2024/07/emacspeak-speech-odyssey.html" eudora="autourl">
https://emacspeak.blogspot.com/2024/07/emacspeak-speech-odyssey.html<br>
<br>
</a></body>
</html>