promotional bannermobile promotional banner

OpenVoice

Unlisted
Immersive, distance-based proximity voice chat for the open world.

OpenVoice

Immersive, distance-based proximity voice chat for the open world of World of Warcraft – supporting WoW Forever (Beta) and Retail.

A player's voice virtually originates from their character: nearby players automatically hear each other, and the volume decreases with distance. No channel switching, no party required, no Discord.

Install. Set up once. Play. Talk.

Requirements (One-Time Setup)

  1. Install and enable the addon.
  2. Enable the built-in voice chat in the game settings (Options → Voice Chat) and configure your microphone/Push-to-Talk.
  3. Join a community – "Open Voice" by default (search using the Communities Finder or use an invitation link provided by the community operator).

The addon automatically connects to the community's General channel – the default stream available in every community. No additional channels are required; who can actually hear whom is determined entirely by distance.

Hosting Your Own Community

Instead of using the OpenVoice community, any group can use its own community:

  1. Open the panel (/ov) and click Set up community & join voice. This opens Blizzard's Communities window, where you can create or select a community (C_Club.CreateClub is a protected action and cannot be called from addon code). OpenVoice initiates the connection immediately and joins the voice channel as soon as you become a member.
  2. Enter the Community name (and optionally the Community description) in the panel – or click Use my community if you own exactly one community that you can manage.
  3. The addon automatically detects the community, joins its General channel, and uses the name/description for the Finder search ("Find …").

Use default resets everything to the OpenVoice community. Settings are saved per character (/ov community displays them, /ov community reset resets them).

Controls

Command Action
/ov or /openvoice Open/close the panel
/ov help Quick troubleshooting guide for connection issues
/ov status Display the status line (Voice, Peers, Range)
/ov community Show the currently selected community (name/description)
/ov community reset Switch back to the OpenVoice community
/ov debug Toggle debug output on/off

The panel provides an Enable toggle, an Auto-join checkbox (automatically joins voice chat; when disabled, connect manually using Connect now), editable community name and description fields, Set up community & join voice (opens Blizzard's Communities window and connects), Use my community, Use default, Position sharing (beacon transport: zone, group, or both – click to cycle through modes), hearing range (10–100 yd), master volume, connection status, and a list of audible players with speaking indicators.

Position Transport (Position Sharing)

Position beacons can be distributed through different transport methods, selectable in the panel. The default is Zone:

Mode Transport Reach
Everyone in the zone Custom channel OVP<mapID> All OpenVoice users in the zone/realm
Group only SendAddonMessage(..., "PARTY"/"RAID") Your own party/raid only
Zone + group Both methods Zone and group

Incoming beacons are always accepted regardless of your selected mode (CHANNEL, PARTY, RAID), so players using different settings remain audible.

Group only is useful when position data should not be shared beyond your group. When playing solo, this mode sends nothing, meaning other players cannot determine your position and you remain inaudible to them.

How It Works

  1. Voice Transport: Blizzard's built-in voice chat via the community's General stream (detected independently of the client language using Enum.ClubStreamType.General). One channel for all zones – audibility is controlled entirely by distance.

  2. Positions: Each player periodically broadcasts position beacons (V1;<guid>;<mapID>;<x>;<y>;<time>) – by default through a custom chat channel (OVP<mapID>) using C_ChatInfo.SendAddonMessage(..., "CHANNEL", index). Optionally, beacons can be sent only to the player's own group ("PARTY"/"RAID") or through both methods, configurable via Position sharing in the panel.

  3. Distance-Based Volume: C_VoiceChat.SetMemberVolume (0–100) adjusts the volume of each channel member based on their distance from your character's position (UnitPosition), with updates smoothed using a 0.2-second ticker.

  4. Muting Other Players: Only verified beacon peers within hearing range are audible. All other channel members are muted locally.

Important Notes & Limitations

  • Muting is local: Community members without the addon may theoretically still hear other participants. Community access is therefore kept as restricted as possible.
  • Instances, Battlegrounds, and Arenas: UnitPosition does not provide data in these environments (Restricted API). Distance-based volume control is paused, and all community members are muted.
  • Custom Chat Channels: These channels are realm-local. Players from connected realms may be able to hear each other but might not transmit position beacons, causing them to remain muted.
  • Layering/Phasing: Beacons may reach players on different layers. In such cases, their distance remains unknown, so they stay muted.
  • Classic Client Compatibility: SendAddonMessage("CHANNEL") is disabled on Classic clients. Its availability in WoW Forever Beta must be verified in-game (a key focus of beta validation).

OpenVoice Team

profile avatar
  • 2
    Projects
  • 103
    Downloads

More from deepnull

  • PartyVisualizer project image

    PartyVisualizer

    Visual combat analytics for retail WoW: per-boss DPS, HPS and totals for every player, shown in interactive bar, donut and line charts - powered entirely by the built-in damage meter.

    • 96
    • October 22, 2026
  • PartyVisualizer project image

    PartyVisualizer

    Visual combat analytics for retail WoW: per-boss DPS, HPS and totals for every player, shown in interactive bar, donut and line charts - powered entirely by the built-in damage meter.

    • 96
    • October 22, 2026