You are viewing a potentially older version of this package. View all versions.
JavaXia-LethalVoiceRouter-0.5.0 icon

LethalVoiceRouter

Route game audio and incoming player voice to separate Windows outputs. Select outputs and your transmit microphone in the F8 menu. Optional Clear Voice controls. Windows only.

By JavaXia
Date uploaded 4 days ago
Version 0.5.0
Download link JavaXia-LethalVoiceRouter-0.5.0.zip
Downloads 25
Dependency string JavaXia-LethalVoiceRouter-0.5.0

This mod requires the following mods to function

BepInEx-BepInExPack-5.4.2100 icon
BepInEx-BepInExPack

BepInEx pack for Mono Unity games. Preconfigured and ready to use.

Preferred version: 5.4.2100

README

Lethal Voice Router

Thunderstore team: JavaXia

English

Route Lethal Company game audio and incoming player voice to separate Windows output devices. Use F8 to select both outputs and the microphone used for your outgoing voice. Clear Voice is optional and disabled by default.

Windows 10/11 x64 · Lethal Company Mono build · BepInEx 5

Install

Install Lethal Voice Router from Thunderstore with a mod manager. BepInExPack is a required dependency and will be installed automatically. LethalConfig is optional. This mod runs on each player's PC; the host does not need it for voice relay.

Quick start

  1. Launch the game with the mod enabled and press F8.
  2. In Output, choose separate playback devices for game audio and incoming voice.
  3. In Microphone Input, choose the microphone for your outgoing voice, or leave Use Game Settings selected to follow the game's microphone choice.
  4. To use Clear Voice, enable it in the Clear Voice tab and restart the game. Its default is off.

Separate output requires two playback devices available in Windows. Clear Voice can also be used without separating outputs. Players without this mod can still hear voice sent by someone using Clear Voice; the extended receive filter and receive FEC controls require the recipient to install this mod and enable Clear Voice.

The voice output may not preserve every spatial effect exactly as the game's built-in output. Linux, Proton, and Steam Deck behavior has not been verified.

한국어

게임 소리와 다른 플레이어의 음성을 서로 다른 Windows 출력 장치로 보냅니다. F8에서 출력과 송신 마이크를 선택할 수 있으며, 클리어 보이스는 선택 기능입니다.

Windows 10/11 x64 · Lethal Company Mono 빌드 · BepInEx 5

모드 매니저로 설치

Thunderstore에서 Install with Mod Manager를 누르거나, 모드 매니저에서 Lethal Company 프로필을 선택한 뒤 Lethal Voice Router를 설치합니다. Thunderstore 패키지에는 BepInExPack이 필수 의존성으로 등록되어 있어 매니저가 함께 설치합니다. LethalConfig는 선택 사항입니다.

Thunderstore에 공개되지 않은 ZIP을 시험 설치할 때는 Gale·r2modman·Thunderstore Mod Manager의 로컬 모드 가져오기를 사용할 수 있습니다. 이 ZIP은 프로필 공유 파일이 아닙니다.

수동 설치한 LethalLoopback 또는 LethalVoiceRouter가 있다면 이전 플러그인 폴더에서 DLL 두 개를 제거한 뒤 가져옵니다. 기존 설정 파일 BepInEx/config/io.lethalloopback.cfg는 유지하세요. 이 파일은 모드 매니저의 프로필 공유 ZIP이 아닙니다.

처음 사용할 때

  1. 모드를 적용한 프로필로 게임을 실행하고 F8을 누릅니다.
  2. 출력 탭에서 게임 소리와 음성에 서로 다른 재생 장치를 선택합니다. 게임 소리의 기본값은 기존 게임 출력이고 음성의 기본값은 Windows 기본 출력 장치입니다.
  3. 마이크 입력 탭에서 본인 음성 송신에 사용할 마이크를 고릅니다. 기본값인 게임 설정 사용은 게임의 현재 마이크 선택을 따릅니다. 음성 연결 전에도 설정창을 열어 레벨을 미리 볼 수 있습니다.
  4. 클리어 보이스를 사용하려면 클리어 보이스 탭에서 켜고 게임을 다시 시작합니다. 비트레이트와 FEC는 활성화된 상태에서 바꾸면 바로 적용됩니다.

출력 분리에는 서로 다른 Windows 재생 장치가 필요합니다. 출력 분리 없이 클리어 보이스만 켜서 사용할 수도 있습니다.

다른 플레이어와 함께 사용하기

설정은 각 플레이어의 PC에서 적용됩니다. 클리어 보이스를 켠 송신자의 음성은 모드가 없는 상대방도 받을 수 있습니다. 수신자가 일반 대화 필터를 확장하거나 수신 FEC를 바꾸려면 수신자도 이 모드를 설치하고 클리어 보이스를 켜야 합니다. 다른 사람의 송신 품질을 바꾸려면 그 사람도 클리어 보이스를 켜야 합니다.

눌러서 말하기, 음성 감지와 게임 내 음소거는 기존 게임 설정을 사용합니다. 송신 마이크는 마이크 입력 탭에서 선택할 수 있고, 게임 설정 사용으로 되돌릴 수 있습니다. 호스트가 음성 중계를 위해 이 모드를 설치할 필요는 없습니다.

라이선스

원본 모드 소스 코드는 MIT License로 제공되며, 배포 ZIP 루트의 LICENSE 파일에서 전문을 확인할 수 있습니다. 이 라이선스는 Lethal Company나 제3자 자료에 대한 권리를 부여하지 않습니다.

문제 해결

  • F8이 열리지 않으면 두 DLL이 모두 프로필의 BepInEx/plugins/LethalVoiceRouter 폴더에 있는지 확인합니다.
  • 장치가 보이지 않으면 Windows에서 재생 장치가 활성 상태인지 확인하고 F8에서 장치 새로고침을 누릅니다.
  • 음성이 끊기면 출력 버퍼를 10ms씩 높여 확인합니다. 기본값은 40ms입니다.
  • 오류가 계속되면 프로필의 BepInEx/LogOutput.log에서 Lethal Voice Router 관련 메시지를 확인합니다.

설정은 프로필의 BepInEx/config/io.lethalloopback.cfg에 저장됩니다. 프로필을 다른 PC로 옮기면 F8에서 출력 장치를 다시 선택하세요.

거리·방향·차폐·무전기 등의 공간 처리가 게임 출력과 완전히 같지는 않을 수 있습니다. Linux·Proton·Steam Deck의 출력 동작과 실제 장치의 청취 품질은 확인하지 않았습니다.

CHANGELOG

Changelog

The reference version is 0.5.2. Older entries describe behavior at their release dates. See the README and documentation index for current usage and validation.

0.5.2

  • Translate maintained documentation, configuration descriptions, diagnostics, scripts and test output into English. Rename the text installation guide to INSTALL.txt and update package paths and links.
  • Keep English as the default UI and preserve automatic Korean translation with a usable LCKR/LCKRL font. Store optional translations separately from English UI text.
  • Preserve actual device names, endpoint IDs, microphone selections and existing configuration. Use device aliases only when the selected font lacks the required glyphs.
  • Regenerate the English banner and settings previews, and validate both distribution archives for English text, links and matching DLLs.
  • Update project, plugin and mod manager versions to 0.5.2 and align installation instructions and archive filenames.

0.5.1

  • Reuse voice queues across silence, speech and mute transitions within one output session. Synchronize queue resets with in-progress writes and rendering to prevent stale voice playback.
  • Reapply saved Windows application output policies at startup. Apply original-output and explicit-device policies even when saved and initial values match; preserve the initial backup and retry failures.
  • Use atomic state changes to discard silent input queues without waiting for the output render lock. Normal mute transitions remain synchronized with output submission.
  • Calculate player-to-playback-source associations once per frame instead of searching all players for each source.
  • Pan mono callback voice toward its speaker. Preserve stereo callbacks because Unity may already have applied spatial processing.
  • On 2026-10-25, the startup-fix source passed 47 basic tests, 16 package checks, 29 Unity synthetic checks and three loopback LAN configurations with all 1,498 synthetic voice frames decoded.
  • Verified 44.1/48kHz silent playback and reconnection on four output endpoints, plus preview samples and nonzero levels on two inputs. Actual listening quality and internet multiplayer require separate checks.
  • Passed 30 output policy, shutdown and recovery conditions across ten game processes. Restarts with original output, saved explicit devices and Windows default aligned active sessions after initialization without another selection.
  • Updated the README, installation guide, configuration example and distribution materials to match features and validation scope.

0.5.0

  • Added an MIT license for the original mod source and included it in distribution ZIPs.
  • Added transmit microphone selection and an input-level meter to the F8 Microphone Input tab. Preview uses temporary capture before voice connection; the default follows the game's microphone setting.
  • Disable separate voice device selection when separation is off and play voice through the selected game output.
  • Show the current Windows default device in output lists and clarify status/refresh controls. Removed unused device ID copying.
  • Refined F8 accents, panel borders, toggle states and Clear Voice details. Updated both documented settings captures to the same current Unity UI, resolution and language.
  • Preserve game mute and hearing restrictions in separated voice. Improved Clear Voice lifetime management and F8 Esc input isolation.
  • Use concise English BepInEx status messages and reduce repeated logging.
  • Updated the README, installation instructions, mod manager materials and settings images for the current workflow.

0.4.0

  • Fixed Esc closing F8 settings while also opening the game's pause menu. Restore original input action states when closing settings.
  • Fixed Windows PowerShell 5.1 encoding of Korean filenames and manager manifest descriptions.
  • Generate a separate -modmanager.zip for Gale, r2modman and Thunderstore Mod Manager local imports, including name, version, BepInExPack dependency and icon without existing profile settings.
  • Removed a fixed Gale profile path from the build; accept the build API DLL through -LethalConfigPath.
  • Automatically validate archive paths, contents, metadata, icon, DLL versions and matching DLLs across both distributions.
  • Shortened the README around features and installation and separated development instructions. Updated the manager description, icon and banner to reflect actual mod behavior.
  • Added optional mono Clear Voice, disabled by default. Activation changes require restarting the game.
  • Bypass noise suppression, RNNoise, AGC and AEC/AECM on transmit samples; run voice detection on a separate copy.
  • Allow Opus targets from 6 to 300kbps, defaulting to the game's mono maximum of 300kbps, and display observed encoder values.
  • Added send/receive FEC, enabled by default and adjustable live with bitrate while active. PLC remains enabled when FEC is off.
  • Extend the unoccluded normal receive filter from 10 to 20kHz while preserving radio, occlusion, underwater, distance and direction settings.
  • Preserve mono, 48kHz, 20ms frames and the existing protocol; enforce 900-byte payload and 1,024-byte relay packet limits.
  • Added Output and Clear Voice tabs in F8 and updated LethalConfig, configuration examples and instructions. Restore original voice if patching fails.
  • Passed 34 basic tests, 22 synthetic checks in an isolated Unity copy and three two-process LAN configurations. All 1,514 received synthetic frames decoded; actual microphone and listening checks remain separate.
  • Documented standalone Clear Voice, setting application timing, host/client differences and troubleshooting, distinguishing current checks from earlier device records.

0.3.0

  • Added side-by-side game and voice output lists in F8 with independent saved selections.
  • Route game audio through Windows per-application policies, preserving music, effects and the game's mixing, volume and spatial processing without changing system defaults.
  • Default game output to the original application output. Restore previous policies on original-output selection or normal shutdown, and attempt crash recovery at the next launch.
  • Restore previous settings on device errors or partial role failures. Discover devices and change application outputs in the background.
  • Added game output selection in LethalConfig and separate game/voice device ID copying in F8.
  • Preserve existing voice configuration keys and defaults. Output buffer and voice volume affect separated voice only.
  • Passed 29 basic tests including output selection/restoration, rollback and recovery record preservation. Actual game output switching and listening still required an environment with active devices.

0.2.2

  • Removed Windows default communications output from device selection. Default to Windows default output and preserve old communications selections by resolving their endpoint IDs.
  • Fall back to Windows default output if the old communications endpoint is unavailable; retain disconnected explicit IDs for reconnection.
  • Added 10ms slider ticks and reference labels at 20, 50, 100, 150 and 200 in F8.
  • Added a matching 20-200ms slider with 10ms steps in LethalConfig.
  • Normalize saved output buffers to the nearest 10ms and apply changes without restarting.
  • Added a banner, environment badges, settings previews, FAQ and collapsible development guidance to the README; organized text installation instructions with numbered sections.
  • Added Output.DeviceName to the example and corrected descriptions of output buffers, maximum queues, reconnection and spatial-effect validation to match code.
  • Added a document index and validation reference; include documents and presentation images in distribution ZIPs.
  • Reworked the ZIP README and contents for installers, fixed ZIP-relative links and expanded update, removal, reset and troubleshooting guidance.

0.2.1

  • Added short Korean installation instructions to the distribution ZIP.
  • Renamed the mod to Lethal Voice Router, including the F8 title and LethalConfig display name.
  • Aligned DLL, project, installation-folder and ZIP names with LethalVoiceRouter.
  • Preserved the plugin GUID and io.lethalloopback.cfg filename so existing configuration continues to work.

0.2.0

  • Replaced F8 with Unity UI/TextMeshPro matching the game.
  • Use the game's 3270 font, checkbox and border sprites, white sliders and orange selection accents.
  • Reference font3270_Regular_SDF from installed LCKR/LCKRL without copying or distributing font files.
  • Use the game's default font and English UI without LCKR/LCKRL.
  • Arrange devices and controls in two areas and adapt the window to the screen aspect ratio.
  • Use a separate input system so F8 interactions do not click game menus behind it.

0.1.1

  • Moved settings and input handling to an independent runtime object outside the BepInEx loader, starting after scene load.
  • Read F8 immediately after Input System updates and prevent repeat toggling while the key is held.
  • Added device-name dropdowns, volume, buffer, shortcut and an open-settings button to LethalConfig 1.4.6.
  • Apply LethalConfig changes without restarting the game.
  • Distinguish devices with duplicate names and preserve disconnected endpoint IDs.

0.1.0

  • Route other players' voices to a separate Windows output device.
  • Configure output devices, volume, buffer length and failure behavior in F8.
  • Track default output and communications devices and reconnect after errors.
  • Discard stale buffers on departure, playback-source reuse or output-device changes.
  • Use installed playback devices without external executables or virtual audio drivers.