Join the world and Start talking.
An open-source in-game real-time voice chat mod for Minecraft Bedrock on LeviLamina — server-side mixing, client-side capture and playback, with optional live speech-to-text subtitles.
Warning
BSChat is still in early development, and all current builds are test builds. Please back up your important worlds and client/server data. The voice protocol is pinned to v1 and only ever extended in a backwards-compatible way, so different mod patch versions can still talk to each other. A Minecraft or LeviLamina version change is not guaranteed to stay compatible — that depends on the game's network layer and mod loading, which are outside this project's control.
Better Speech Chat brings your voice into the game
hold a key to talk, and your audio travels over the game's built-in data channel to everyone on the server in real time; the server mixes all active speakers and streams the result back. You can also enable live speech-to-text so subtitles show on screen who said what. One project, two builds: a server plugin and a client mod, delivering a consistent experience from server to player.
Important
BSChat ships as two independent builds — server and client. Both must be installed and running on the same LeviLamina baseline, or the handshake will fail.
- Install LeviLamina on your server (baseline 26.10.14).
- Install LeviLamina client on each player's Bedrock client.
- Install the matching build: server →
plugins/bschat/, client →mods/bschat/. - Restart, join the world, and hold V to talk; release to go quiet. Press J to open the voice settings panel.
Full installation and configuration steps are in the Getting Started guide.
- Real-time voice — talk the moment you join, near-zero latency, even with many speakers at once.
- Push-to-talk (PTT) — hold V to speak, release to mute; full control over your microphone.
- Bandwidth efficient — heavily compressed audio, nearly zero traffic when nobody is talking.
- No extra ports — voice reuses the game's built-in connection, no player-side setup.
- Live subtitles — server-side offline transcription shown as on-screen subtitles, so nothing is missed.
- Server and client builds — one project, two builds, ready to deploy.
- Graceful degradation — microphone, model, or network issues isolate themselves and never take down the game.
- Internationalization — player-facing text goes through the LeviLamina i18n system.
v0.1.1 pins the voice protocol to v1 as a stable, append-only contract and completes capability
negotiation on both ends: the client declares what it supports, the server answers with the common
subset, and only negotiated features are enabled — so newer and older builds keep talking to each other,
with base voice preserved whenever an optional feature is unavailable. Handshakes are now enforced on
both ends, and dropped uplink frames are attributed in the server log. The initial feature set
(server-side mixing, capture and playback, push-to-talk, HUD, panels and speech-to-text) shipped in
v0.1.0. Full history is in the Changelog.
Important
This is still a test release and configuration or new features may still change, but the voice protocol is pinned to v1 and only grows in a backwards-compatible way. Please keep an eye on the changelog after use.
| End | Build | Install path |
|---|---|---|
| Server (BDS) | Server build | plugins/bschat/ |
| Client (Bedrock) | Client build | mods/bschat/ |
Both are built for Windows x64 and run on LeviLamina 26.10.14.
Tip
No separate port or UDP channel is required — voice reuses the game's built-in connection.
Build on Windows x64 with xmake; use --target_type to produce the server or client
build. Commands, output layout, and dependencies are in the Building guide.
| Command | Description |
|---|---|
/bsc test |
Run the end-to-end self-check on your client; the result goes to its log. |
/bsc play <file> |
Play a WAV file through the voice downlink (files under <server config>/audio/, or an absolute path). |
/bsc stop |
Stop the running WAV playback. |
/bsc admin |
Open the admin panel; operators only. |
The following commands are planned and will ship as development proceeds:
| Command | Description |
|---|---|
/bsc help |
Show voice chat command help. |
/bsc mute <player> |
Force-mute a player. |
/bsc unmute <player> |
Unmute a player. |
/bsc toggle |
Toggle your own microphone. |
- Server: English, 简体中文
- Client: English, 简体中文
Player-facing text is wired through the LeviLamina i18n system and ships with both builds.
It is an in-game real-time voice chat mod for Minecraft Bedrock on Windows x64 LeviLamina. Players hold a key to talk; audio goes up over the game's built-in data channel, is mixed server-side, and streams back to all online players, with optional live speech-to-text subtitles.
No. Voice uses the game's built-in data channel, with no extra network configuration on either side.
Almost none. Audio is heavily compressed, so idle moments cost near-zero downstream data.
Enable sttEnabled on the server and provide the sherpa-onnx streaming Zipformer model files, and keep subtitles on
in the client. If the model is missing, speech-to-text is disabled without affecting voice.
Yes — press J in game to open the voice settings panel and bind another key, or edit pttKey and
settingsKey in the client config.json.
- The core voice engine, protocol, both adaptation layers and the unit tests are implemented; real device tuning of latency and audio quality is the next step.
- Planned later: proximity/distance audio, environmental reverb, VAD voice detection, and multi-room channels.
Tip
Testing focus: when reporting latency, artifacts, or subtitle issues, please include both build versions, LeviLamina versions, logs, and your microphone/network environment.
- No stable release yet; configuration and new features may still change, but the v1 voice protocol only ever grows in a backwards-compatible way.
- Subtitles show the text only, without the speaker's name.
- The admin panel exposes the server voice switch only.
- No proximity/distance attenuation or environmental reverb yet (interfaces reserved for later versions).
- VAD automatic voice detection is wired but off by default.
- No standalone UDP channel and no multi-room/channel system yet.
- Mobile/companion capture is not yet supported.
- Compatibility must be re-verified after Minecraft or LeviLamina updates.
To report a reproducible issue, please open an Issue.
Contributions are welcome — ask questions via issues and open pull requests.
Join the community on QQ group 861900673.
Special thanks to the maintainers and community of LeviLamina for the native mod development platform and tooling; and to Opus, sherpa-onnx, ONNX Runtime, and nlohmann/json for providing audio codec, offline transcription, and JSON parsing capabilities.
BSChat is free software released under the
GNU Affero General Public License v3.0 (or any later version). See
LICENSE for details. Third-party dependencies remain under their own licenses;
see THIRD_PARTY_NOTICES.md and the
licenses/ directory.