Vivox voice replacements delayed by funding and OpenSim integration issues

(Image by Maria Korolov via Midjourney.)

Ever since Vivox announced last year that it was planning to discontinue its free voice service for OpenSim, the community has been searching for an alternative.

The goal is to find a free or open source system that offers positional audio and works for Windows, MacOS, and Linux viewers. Unfortunately, the most viable Vivox alternatives are facing funding and resource difficulties.

Other Vivox alternatives are proprietary which makes them prone to future monetization issues and policy changes as happened with Vivox voice.

Unity plans to keep the free OpenSim Vivox voice version 4 up and running at least for the foreseeable future, Shirley Chu, the director of communications at Unity, told Hypergrid Business. However, the free version is deprecated and no longer available for new grids.

Meanwhile, latest version 5 is only available for free for up to 5,000 users after which it costs between $1,000 and $2,000 per 5,000 users per month. It could theoretically be used for OpenSim — but it first would need some work to get it fully integrated.

Some believe that OpenSim should go it alone, instead.

OpenSim requires a self-hosted decentralized voice alternative that is easier to integrate and does not depend on private companies, said Olivier Van Helden owner of the Speculoos grid.

“The need for external services like Vivox, FreeSwitch, Mumble, and others makes it painful to setup, painful to debug, and exposes to a sudden need to change provider and redo all this setup with a new environment,” Van Helden told Hypergrid Business.

Vincent Sylvester

Besides, Vivox struggles with quality issues overall and has very low bandwidth, Zetamex Network CEO Vincent Sylvester told Hypergrid Business. 

The concerns have also been reported on some grids where users complain that the voice randomly stops working. However, grids such as Kitely report that it works fine.

Vivox may also be less suitable for grids with stringent commercial regulatory challenges for instance due to encryption issues. This means its usage may not meet regulatory and security obligations as needed in the military, education, health industry, business, and other applications in sensitive industries.

Funding, resources, and integration huge concern for alternatives

Most teams working on full Vivox alternatives are unable to finalize their work because of inadequate development resources yet viewer developers need to make changes specifically for OpenSim, which can be a hard sell, said Sylvester.

“As you know there is only really one developer currently working on OpenSim and most viewers also have only a single person doing support for it, so a lot of groundwork has to be done by a solution in order to get it into OpenSim and the viewers because those developers can’t do all the work alone,” he said.

Mumble, for instance, has stalled even after successful tests and proofs of concept because of resource issues.

The amount of work involved is also immense with little reward. While creating a voice solution that hooks into OpenSim is not a huge challenge in itself, the difficulty is in making a spacial audio, and switching channels from parcels, calls, and group calls, because all have different setups.

Although it is possible to reverse engineer the Vivox client code into a workable alternative, he said, that would be the same amount of work as developing a solution from scratch.

Besides, the use of voice in OpenSim has declined, he said, with people looking for other ways of communicating.

“At the moment the big priority for OpenSim is the runtime upgrade to .Net 6, so most of the other things are somewhat set aside until that has reached stability and feature parity,” he said. “There are a number of things that potentially need re-engineering as a result of the changes in the runtime. No way to tell yet when this process is complete either as the only metric for proper operation, until tests, are completely out of the picture due to requiring a rewrite.”

EchoVoice development delayed by funding

EchoVoice, which has been delayed by funding, offers the most potentially ideal alternative since it can be self-hosted, is encrypted by default and can be used with OpenSim in strict regulatory requirements such as in defense applications. It is more suitable than Vivox in those environments for privacy and also has group text chats, which is not offered by Vivox.

While the design is complete, the coding effort is still awaiting funding, said Lisa Laxton, the CEO at Infinite Metaverse Alliance

“It will work on all major operating systems — Windows, Linux, and Mac,” she told Hypergrid Business. “Free to use with the ability to self-host server for privacy.”

“We are hoping that EchoVoice becomes a really good solution not only for the OpenSimulator community but also for other virtual world platforms because it won’t be limited for use by OpenSimulator alone,” she said during the 2020 OSCC conference.

The team plans to have three funding phases for the project to raise over $60,000 for the first and second phases, which according to their GoFundMe page, will complete engineering, development, testing, and documentation. The project is still receiving funding from well-wishers.

EchoVoice has been tested and works on all viewers but requires manual configuration, which needs to be fixed. Some of the features it will have include spatial sound, chat and conference capabilities, speech-to-text, text-to-speech capabilities for severely disabled persons, and support for other platforms.

It is meant to serve new grids that cannot connect to Vivox and those commercial regions and businesses that do not want to connect to Vivox or have licensing issues with using Vivox.

FreeSwitch spacial sound issues

FreeSwitch is probably the most common alternative to Vivox currently. It, however, can be difficult to get working. It uses the FreeSwitch server that works with the SLVoice.exe on the viewer.

FreeSwitch, including the Moses grid adaptation, works well for the OpenSim except that there is no lip sync on the avatars — the lips do not move as avatars speak and there is no indication above the head of the avatar speaking to indicate to other people who are speaking.

It also does not have spacial sound components so you hear everybody speaking with the same volume when the speaker is in a noisy environment. This makes it great for meetings and class presentations, but there are usability issues where spacial sound is required.

Matrix and Riot-Element  

Matrix is a voice, video, and text chat that is self-hosted and thus uses a decentralized server. It is used alongside Riot-Element client for OpenSim voice and chats communications although there are other more than ten desktop, web, command-line, and mobile clients that it works with. It can be integrated into third-party applications.

This alternative gives greater freedom with regard to the flow and storage of information because it is installed on the user’s app server. It has end-to-end encryption, supports real-time collaboration, is private without tracking, and allows VoIP calls.

However, the server and client can be complicated to integrate into an app. It may not even be worth the effort for ordinary OpenSim usage.

When used separately, the Element cloud solution, which is a ready-to-use solution based on Matrix, can be very expensive. It can be used for cross-app voice, video, and text communications, which means the user does not need to download, install, and create accounts with multiple chat apps to communicate with his users.

To integrate, a user needs to pick a client such as Riot-Element, sign up, and install Synapse or other home server implementations that let one run own home server used to store the communications and to which the client connects. The Element client — like many other clients — can also be installed on one’s web server as per this documentation instead of running it as a desktop or web application. Once this is done, a grid or region owner or event organizer can create rooms on the Matrix server through which other users can join to participate.

Other servers, including the OpenSim viewer’s SLVoice server, can then communicate with this server through the client.

(Image by Maria Korolov via Midjourney.)

Whisper and Mumble hard to work with

Whisper, which is based on Mumble — the first VoIP application especially for gamers — was taunted as the most viable replacement for Vivox but its development is also in shambles.

The server consists of an OpenSim or Aurora-Sim region module known as Whisper Server — and which handles registering voice parcels and users, and the Mumble voice server.

Mumble works on Windows, Mac, and Linux and delivers a spacial sound. However, it requires modifying the viewer since the SLVoice in the viewer code cannot communicate with Mumble normally. This obviously increases the setup time.

Whisper client replaces the SLVoice.exe with MumbleVoice.exe code in the viewer, which will then communicate with the instance of Murmur associated with the Aurora-Sim region. It, however, saves the SLVoice.exe such that it is possible to switch between Vivox and Mumble.

Switching back to the Vivox may also require the removal of the Mumble.

Discord and Skype

Discord and Skype are also common alternatives for voice communications. Both are popular for OpenSim in-world events and work great for encrypted communications, except that they do not have lip sync, are centralized, and would be difficult to integrate into viewers by the developer teams. They would also risk deprecation as a private service.

For a regular user who needs to use Discord as a voice solution for instance in an OpenSim event or meeting, setting up Discord voice and text for use with OpenSim requires downloading the Discord client and activating the Games Overlay from the Discord settings.

The overlay shows up at the corner of the viewer. After setting up, the user will need to set up a dedicated voice and chat channel into which other people or in-world users can then join to participate in the voice and chat. After that, you and other people do not have to switch between the viewer and Discord to communicate.

With Firestorm OpenSim viewer, you do not even need to add Firestorm as a game activity from Discord’s Game Activity settings tab. You do not also need to run a Discord chat server for your community as normally would be needed. Once you set up Discord, you can see text channels, resize and move the chat windows, and make and receive calls to and from other users in-world. It also delivers text and voice notifications.