Skip to content
DreaminkoPublic

About

VRChat Subtitle/Study Tool

Topics

Resources

Contributing

Stars

28 stars

Watchers

0 watching

Forks

Repository files navigation

logo

VRCS

English | 简体中文 | 繁體中文 | 日本語

VRCS is a Windows real-time subtitle and language-learning tool designed for VRChat. It captures system output, VRChat process audio, and microphone input, displays subtitles on the desktop or in SteamVR, and uses those subtitles for translation, dictionary lookup, learning analysis, Anki card creation, and VRChat Chatbox output.

Download the latest release · Report an issue · Contribute

Discord · QQ Group

Download and installation

Download the appropriate installer from GitHub Releases:

Installer Recommended use Additional requirements
VRCS-<version>-windows-x64.exe Recommended for most users; supports cloud recognition and local CPU-based Whisper No CUDA required
VRCS-<version>-windows-x64-CUDA.exe Accelerates local Whisper with an NVIDIA GPU CUDA 13.x Runtime, cuBLAS, and a compatible NVIDIA GPU and driver

The standard and CUDA editions share the same configuration, database, and model directories, so you can switch between them without migrating data.

Runtime requirements:

  • Microsoft Visual C++ v14 Redistributable (x64)
  • An internet connection on first launch to download the pinned Silero VAD model; enabling semantic endpointing downloads the pinned Smart Turn model
  • An initial model download when using local Whisper
  • API credentials for the selected providers when using cloud recognition, translation, or learning analysis; provider charges may apply

Getting started

The setup wizard opens on first launch:

  1. Select Simplified Chinese, Japanese, English, or the system language.
  2. Select cloud-based real-time recognition or local Whisper.
  3. Configure system audio, VRChat process audio, and the microphone.
  4. Test the microphone and calibrate the voice activation threshold.
  5. Complete setup and start transcription.

You can change the configuration at any time in the application. To run the setup wizard again, open Settings → System.

Features

Real-time subtitles and audio

  • Windows WASAPI system loopback, dedicated VRChat process loopback, and microphone capture
  • Dual-stream transcription for system audio and microphone input, with independent audio source and device controls
  • Silero ONNX VAD with automatic fallback to energy-based detection when the model is unavailable
  • Optional Smart Turn semantic endpointing for locally controlled speech segments
  • Incremental real-time subtitles, final subtitles, session history, and compact window mode
  • Local SQLite subtitle history with session organization, renaming, and cleanup

Speech recognition

  • Local whisper.cpp with CPU support and optional CUDA acceleration
  • Local Whisper model download, integrity verification, migration, and deletion
  • Alibaba Cloud Qwen3 ASR and Fun-ASR real-time streaming recognition
  • OpenAI Realtime Transcription
  • Automatic reconnection for cloud services and configurable failure-handling policies

Translation and context

  • Manual or automatic translation
  • DeepL, Microsoft Translator, OpenAI, Gemini, and Alibaba Cloud LLM
  • OpenAI-compatible Chat Completions services, including DeepSeek, Groq, OpenRouter, LM Studio, Ollama, and custom endpoints
  • Custom system prompts, local glossaries, online glossary subscriptions, and recent subtitle context
  • Optional access to the current world name, member display names, and member languages from the local VRCX-0 instance to enrich supported ASR or LLM requests with context

VRChat and SteamVR

  • Send final microphone subtitles and translations to the VRChat OSC Chatbox
  • Quick Chatbox input, translation preview, formatting, and 144-character handling
  • Synchronize VRChat's MuteSelf state through OSCQuery and block automatic sending when muted or when the state is unknown
  • SteamVR VR Overlay with headset subtitles and a wrist-mounted conversation view
  • Open VRCS quick settings from the SteamVR dashboard bottom bar while VRCS is running
  • Configure the overlay to show original text, translations, or both; select system audio, microphone, and Chatbox sources; and adjust position, size, opacity, and display duration

Dictionary lookup, learning, and Anki

  • Import and manage Yomitan dictionary packages
  • Select words in subtitles for lookup while preserving the original sentence and translation context
  • Ask the configured AI about selected subtitle text through an independent, explicit action
  • Collect learning material from live subtitles, subtitle history, and lookup results
  • Use the selected LLM for contextual definitions, sentence-pattern analysis, and conversation reviews
  • Edit drafts for vocabulary, sentence-pattern, and cloze cards
  • Create cards through AnkiConnect after selecting a deck, note type, and field mapping

Privacy and data

VRCS does not store raw audio. Subtitle history, sessions, learning items, dictionaries, and configuration are stored locally by default.

When using local Whisper, speech is not sent to the cloud. When using cloud recognition, detected speech segments are sent to the selected recognition provider. When using cloud translation, learning analysis, or Ask AI, the relevant text, the context explicitly selected by the user, and any submitted question are sent to the corresponding provider.

Run from source

Development requirements:

  • Windows 10 or 11
  • Node.js 24+
  • Rust stable
  • Visual Studio Build Tools with the Desktop development with C++ workload
  • NVIDIA CUDA 13.x Toolkit with CUDA_PATH configured, only for CUDA development
npm install
npm run dev

The default command uses a CPU build. To enable CUDA:

npm run dev:cuda

To run only the standalone Rust Core:

npm run dev:core
npm run dev:core:cuda

The standalone Core listens on http://127.0.0.1:8766 by default, and its subtitle WebSocket is available at ws://127.0.0.1:8766/ws. The desktop application automatically generates and manages a local session token. If you run the Core separately and bind it to a non-loopback address, you must explicitly set a non-empty VRCS_SESSION_TOKEN.

Testing

npm run check:i18n
npm --workspace apps/desktop test
npm run build:frontend
.\scripts\test-core.ps1
cargo test --manifest-path apps/desktop/src-tauri/Cargo.toml

Build a release

Release builds require TAURI_SIGNING_PRIVATE_KEY and TAURI_UPDATER_PUBLIC_KEY; set TAURI_SIGNING_PRIVATE_KEY_PASSWORD when the private key is encrypted. Keep the private key outside the repository and back it up securely.

Build the standard Windows installer:

npm run build

Build both the standard and CUDA editions:

.\scripts\build-release.ps1 -Version 0.1.0 -IncludeCuda

Contributing

Read CONTRIBUTING.md before contributing. To add or update an interface language, see LOCALIZATION.md. Run the tests relevant to your changes before submitting, and do not commit generated build artifacts.

License

VRCS is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0-only). See THIRD_PARTY_NOTICES.md for third-party components and their licenses.

About

VRChat Subtitle/Study Tool

Topics

Resources

Contributing

Stars

28 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages