Skip to Content.
Sympa Menu

emacspeak - Re: [Emacspeak] Emacsvox and Omnivox: an early experiment now available to try

Subject: Emacspeak discussion list

List archive

Re: [Emacspeak] Emacsvox and Omnivox: an early experiment now available to try


Chronological Thread 
  • From: Bart Bunting <bart AT bunting.net.au>
  • To: emacspeak AT emacspeak.net
  • Subject: Re: [Emacspeak] Emacsvox and Omnivox: an early experiment now available to try
  • Date: Wed, 23 Sep 2026 09:15:35 +1000

Hello all,

I wanted to follow up on my August announcement with the main changes since
then, particularly the installation options and speech engines.

I am conscious that this list is specifically about Emacspeak, and do not
want to fill it with Emacsvox announcements. Robert and I are working towards
a dedicated Emacsvox mailing list. In the meantime, I hope an update on this
existing thread is useful to those who expressed interest.

The current releases are Emacsvox 2026.9.5 and Omnivox 1.12.1. One correction
to my original announcement: Emacsvox now supports Emacs 30.2 and newer, so
Emacs 31 is no longer required.

Installation should now be considerably easier:

• Windows: There is a downloadable Windows x64 setup wizard containing Emacs,
Emacsvox and Omnivox. It installs for the current user, offers a speech test,
and creates a Start menu shortcut. No administrator privileges, compiler or
WSL installation are required. This installer is an unsigned preview,
currently bundling Omnivox 1.12.0; testing with screen readers and on fresh
machines would be particularly welcome. The guided WSL2 installation remains
available.
• macOS: Omnivox now has a Homebrew tap, supporting both Apple silicon and
Intel Macs. Install it with brew install bartbunting/omnivox/omnivox. The tap
is already updated to 1.12.1. Emacs and Emacsvox are installed separately.
• Debian and Ubuntu packaging: Both projects now publish downloadable .deb
packages. Emacsvox requires a packaged Emacs 30.2 or newer. Omnivox’s amd64
package is tested on Ubuntu 24.04 and 26.04. These are release downloads,
rather than packages in the distributions’ official repositories.

Omnivox’s speech-engine choices have also expanded:

• eSpeak NG on Windows, macOS and GNU/Linux.
• Native Windows WinRT voices and macOS AVSpeechSynthesizer voices.
• Optional Piper neural voices, Flite, and RuTTS Russian voices.
• RHVoice, with a separately installed compatible runtime and voice data.
• Eloquence and Software DECtalk on Windows, using compatible runtimes
supplied by the user.
• Experimental TGSpeechBox support on Windows x64.

Availability varies by platform and architecture. MBROLA support and
additional Linux integrations are also being developed, but are not part of
the standard release installation. Proprietary speech runtimes are not
distributed with either project.

Voice installation and configuration have received quite a lot of attention.
In the WSL-to-Windows setup, Emacsvox can now install matching optional
engine components and download additional Piper, Flite and RHVoice voices
from within Emacs. Downloads are verified, and installing a voice is separate
from enabling and applying it.

The voice browser lets you search, listen to samples, compare voices and try
eSpeak variants. The common voice editor brings together voice adjustments
and fallback choices, including engine-specific Eloquence and DECtalk
controls where supported. These managed download facilities currently use the
bundled WSL-to-Windows launcher; other launch arrangements still need their
own engine and voice configuration. Existing users with custom voice palettes
should read the upgrade notes, as older palettes require conversion.

There have also been improvements to speech responsiveness, interruption and
recovery. Omnivox 1.12.1 fixes a case where speech stopped partway through a
line containing a link.

On the Emacsvox side, changes include improvements to Agent Shell response
navigation and speech, Notmuch performance, terminal completion and
minibuffer feedback. Image and PDF OCR now uses PaddleOCR, with reading-order
and table support. Aural Presentation also has more accessible controls for
investigating a particular piece of feedback and changing its voice or sound.

Another preview feature allows Emacs to run on a remote Linux machine while
Omnivox synthesizes and plays speech on your workstation, connected through
SSH.

The Emacsvox manual describes installation, voice setup, everyday use and
troubleshooting. Both projects remain experimental, and reports from
different machines and configurations are very welcome. Until the dedicated
list is ready, please feel free to contact me directly or use the projects’
GitHub issue trackers.

My thanks again to Raman for Emacspeak and the foundation it provides, to
Robert for his modernization and cross-platform work, and to everyone who has
tried these projects or offered feedback.

Kind regards,

Bart


<bart AT bunting.net.au> writes:

>
>
> Hello all,
>
>
>
> There has been some interest in Emacsvox and Omnivox, so I thought it might
> be useful to describe where the projects currently stand and make them
> available to anyone who would like to experiment with them.
>
>
>
> Emacsvox is an experimental Emacs 31 audio desktop derived from Emacspeak:
>
>
>
> https://github.com/bartbunting/emacsvox
>
>
>
> Robert Melton began Emacsvox as a modernization of Emacspeak for current
> Emacs and Emacs Lisp. My repository started from Robert's work but has since
> diverged substantially. I do not want to imply that Robert has endorsed all
> the directions I have taken.
>
>
>
> Emacsvox is not a drop-in replacement for an existing Emacspeak
> configuration. It requires Emacs 31 or newer, uses its own emacsvox-*
> namespace, and has made some incompatible changes while replacing obsolete
> APIs and modernizing the Lisp.
>
>
>
> Much of my work has concentrated on current Emacs packages and workflows,
> including Org, Notmuch, Magit, EAT, Agent Shell, Vertico, Corfu and others.
>
>
>
> The largest architectural experiment is Aural Presentation. Its purpose is
> to separate the meaning of an event or object from the way it is presented.
> A package can identify something as a heading, unread message, tool result,
> folded section or warning without permanently deciding which voice, sound,
> tone, pause or spatial position must represent it. Users can then adjust
> that presentation globally or for a particular package, mode, session or
> buffer.
>
>
>
> Omnivox is the accompanying cross-platform speech server:
>
>
>
> https://github.com/bartbunting/omnivox
>
>
>
> Omnivox also began with Robert's work. I initially developed it further
> because I wanted responsive speech while running Emacs inside WSL2, with
> Windows performing synthesis and audio playback.
>
>
>
> On Windows, Omnivox supports the native WinRT voices and eSpeak. It can also
> use a locally installed Freedom Scientific Eloquence runtime and an optional
> Software DECtalk helper. On macOS it supports AVSpeechSynthesizer and
> eSpeak, while GNU/Linux uses eSpeak, with Piper available as an experimental
> option.
>
>
>
> Omnivox retains the traditional Emacspeak line protocol and includes an
> adapter for upstream Emacspeak. The additional Emacsvox protocol is
> negotiated separately. It adds facilities such as logical voice discovery,
> structured speech and sound timelines, selective cancellation, playback
> markers and callbacks.
>
>
>
> These facilities make some useful behaviours possible, but they also
> introduce considerably more complexity than the deliberately small original
> Emacspeak protocol. I regard this as an experiment in a different direction,
> not an assertion that the original design was wrong.
>
>
>
> Both projects are still at an early stage. There will certainly be bugs,
> rough edges and assumptions inherited from my own setup. Nevertheless, they
> are not merely demonstrations: I use Emacsvox and Omnivox every day as my
> normal Emacs and speech environment.
>
>
>
> I should also be transparent about how the work has been produced. I have
> used Agent Shell and Codex extensively during the development of both
> projects. This has greatly accelerated the work and may also have introduced
> some of the rough edges associated with what is now called "vibe coding."
>
>
>
> I do not regard generated code as evidence of correctness. Both projects are
> backed by extensive automated test suites and build, documentation and
> release checks. Even so, tests only verify the assumptions encoded in them.
> They cannot replace human review or real use across a wider range of
> machines and configurations. That is another reason I describe these
> projects as experiments and welcome independent testing and criticism.
>
>
>
> My principal configuration is Emacs running inside WSL2 with Omnivox running
> natively on Windows, so that remains the best-exercised route.
>
>
>
> I have now revised and published the Emacsvox manual to the point where
> other people should be able to attempt an installation:
>
>
>
> https://bartbunting.github.io/emacsvox/
>
>
>
> The manual describes the platform routes, prerequisites, installation,
> first-speech checks and recovery steps. It includes a straightforward WSL2
> route using a pre-built Omnivox archive and a bounded native-Windows trial.
> Native Windows Emacsvox remains explicitly marked as a preview because the
> complete combination still needs fresh-machine testing.
>
>
>
> I have also published Omnivox 1.4.1 binary archives for Windows x64 and
> ARM64, macOS Intel and Apple silicon, and GNU/Linux x86-64:
>
>
>
> https://github.com/bartbunting/omnivox/releases/tag/v1.4.1
>
>
>
> The archives include the required adjacent runtime data, licence information
> and published SHA-256 checksums. The Windows and macOS archives are not
> code-signed, which is documented so that nobody is encouraged to weaken
> local security policy merely to try them.
>
>
>
> I am putting this forward because there has been interest, not because I
> want to compete with Emacspeak, fragment its community or step on anyone's
> toes. I hope it will be received in that spirit.
>
>
>
> Testing reports, bug reports and technical discussion would be very welcome,
> especially from configurations different from mine. Contributions are also
> welcome from anyone who would like to become involved. That might mean code,
> documentation, testing another platform, adding a speech engine, improving
> an integration, investigating a bug or simply reporting where the
> instructions were unclear. There is no expectation that a contribution needs
> to be large.
>
>
>
> I would also be interested in comparing approaches with other current
> Emacspeak-related work. There may be useful ideas and fixes that can be
> shared even where the projects make different architectural choices.
>
>
>
> Finally, none of this would exist without T. V. Raman's extraordinary work
> in creating and sustaining Emacspeak and establishing the audio-desktop
> ideas on which it depends. Robert Melton's Emacs modernization and original
> cross-platform work gave me the practical foundation from which to begin. My
> sincere thanks to both of them.
>
>
>
> Kind regards,
>
>
>
> Bart
>
>



Archive powered by MHonArc 2.6.19+.

Top of Page