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: Parham Doustdar <parham90 AT gmail.com>
  • To: Victor Tsaran <vtsaran AT gmail.com>
  • Cc: Bart Bunting <bart AT bunting.net.au>, Emacspeaks <emacspeak AT emacspeak.net>
  • Subject: Re: [Emacspeak] Emacsvox and Omnivox: an early experiment now available to try
  • Date: Wed, 23 Sep 2026 22:01:23 +0200

Hi Victor,
You need Emacsvox (which would be the Emacspeak equivalent) and you also need Omnivox (which would be the Swiftmac equivalent), if that makes sense.
HTH.

On 23 Sep 2026, at 21:59, Victor Tsaran (via emacspeak Mailing List) <emacspeak AT emacspeak.net> wrote:

Thanks for the explanation.
So, in the end, do I only need Omnivox  or both Emacsvox and Omnivox? 

On Tue, Sep 22, 2026 at 11:57 PM Bart Bunting <bart AT bunting.net.au> wrote:
Hi Victor,

Thanks for pointing this out. I had let the published manual fall behind the repository, and the Mac and Linux instructions were too easy to miss among the WSL material. I have now pushed the updated README and republished the manual. Sorry for the confusion.

Emacsvox needs a speech-server process. For a new installation, I recommend Omnivox. On macOS, Omnivox uses Apple’s AVSpeechSynthesizer and the system voices available through it. Emacsvox talks to Omnivox, which handles synthesis and playback; it does not connect directly to the Mac’s speech system.

Emacsvox should still work with older Emacspeak-compatible speech servers, but I have not tested that route heavily. Omnivox retains the traditional Emacspeak line protocol, while the newer protocol used between Emacsvox and Omnivox is significantly different and more extensive. Many Emacsvox features rely on those additions for their full experience. For example:

• Voice discovery and palettes let you browse installed engines and voices, preview adjustments, and give a named voice an ordered set of choices across engines, with fallbacks when a preferred voice is unavailable.
• Aural Presentation can coordinate speech, voice changes, sounds, tones, pauses and spatial placement in a single presentation, including cues positioned within speech.
• Selective replacement lets a newer navigation or status update cancel obsolete speech from the same context without clearing unrelated output.
• Playback feedback tells Emacs when speech reaches a marked position or finishes, supporting features that need to coordinate with playback.

The compatibility path preserves ordinary speech and some simpler presentation behavior, but cannot provide all of those facilities or the same timing guarantees. So an older server may be usable, but Omnivox is the recommended route for the full Emacsvox experience.

On either an Intel or Apple silicon Mac, you can install and check Omnivox with Homebrew:


sh ⧉

brew install bartbunting/omnivox/omnivox
"$(brew --prefix omnivox)/bin/omnivox" --check


That installs the speech server. Emacs 30.2 or newer and Emacsvox are installed separately. The Mac instructions explain how to select the Homebrew executable for Emacsvox, including when starting Emacs from Finder:

https://bartbunting.github.io/emacsvox/Installing-An-Omnivox-Release-Binary.html

Then follow the build and first-speech steps here:

https://bartbunting.github.io/emacsvox/Quick-Installation.html

For GNU/Linux, the manual covers Debian/Ubuntu packages and the archive or source installation routes. Omnivox normally uses eSpeak NG there. The Emacsvox package requires a packaged Emacs 30.2 or newer; the Omnivox amd64 package is tested on Ubuntu 24.04 and 26.04:

https://bartbunting.github.io/emacsvox/Installation.html

My everyday setup is still WSL2, so feedback on the Mac installation is particularly useful. Please let me know if any step is unclear.

Kind regards,

Bart


Victor Tsaran <vtsaran AT gmail.com> writes:

> Hi Bart.
> I did not see any installation notes or configurations for Emacsvox for Mac
> or Linux in the Github repository. Did I miss something?
> Do I need Omnivox for Emacsvox or the latter links to my default speech
> synthesis  manager on mac?
>
>
> On Tue, Sep 22, 2026 at 4:15 PM Bart Bunting <emacspeak AT emacspeak.net>
> wrote:
>
>> 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
>> >
>> >
>> Emacspeak discussion list -- emacspeak AT emacspeak.net
>> To unsubscribe send email to:
>> emacspeak-request AT emacspeak.net with a subject of: unsubscribe
>>
>
>
> --
>
> --- --- --- ---
> Find my music on
> Youtube: http://www.youtube.com/c/victortsaran
> <http://www.youtube.com/vtsaran>
> Spotify: https://open.spotify.com/artist/605ZF2JPei9KqgbXBqYA16
> Band Camp: http://victortsaran.bandcamp.com
Emacspeak discussion list -- emacspeak AT emacspeak.net
To unsubscribe send email to:
emacspeak-request AT emacspeak.net with a subject of: unsubscribe




Archive powered by MHonArc 2.6.19+.

Top of Page