# XuruVOIP Features & Functionalities Welcome to the comprehensive features and functionalities guide for XuruVOIP. This document provides non-technical and technical overviews of all systems designed to bring an unprecedented level of audio immersion and tactical convenience to **Star Citizen** operations. Go back to Readme file --- ## πŸ—ΊοΈ Quick Navigation Use the summary table below to navigate between the various features implemented in the XuruVOIP suite. | Feature Number | Feature Name | Primary Impact | Configuration Tab | | :---: | :--- | :--- | :--- | | **1** | [πŸ”Š Real-Time 3D Spatial Audio](#1-real-time-3d-spatial-audio) | Directional Voice Tracking | Audio / Position | | **2** | [🏒 Location-Aware Acoustics & Occlusion](#2-location-aware-acoustics--shipbunker-occlusion) | Ship/Room Audio Muffles | *Automatic (Zone)* | | **3** | [πŸ’¨ Helmet & EVA Atmospheric Simulation](#3-helmet--eva-atmospheric-simulation) | Vacuum Muting & Suit Breathing | Hotkeys / General | | **4** | [πŸ‘½ Sci-Fi Voice Changer & Modulators](#4-sci-fi-voice-changer--suit-modulators) | Robot/Alien voice FX | Audio / Companion | | **5** | [πŸ“» Immersive Radio Degradation & Chimes](#5-immersive-radio-degradation--chimes) | Authentic Radio Static & Chirps | Audio | | **6** | [πŸ’¬ Automatic Ship Intercom System](#6-automatic-ship-intercom-system) | Fleet Comms & Pilot Priority | General | | **7** | [πŸ“‘ Vulkan-Compatible HUD Overlay & Radar](#7-vulkan-compatible-hud-overlay--2d-tactical-radar) | Real-Time UI telemetry | Overlay | | **8** | [πŸŽ™οΈ Hands-Free PTT Voice Commands](#8-hands-free-ptt-voice-commands) | Offline Speech Ship control | General / Hotkeys | | **9** | [πŸ“± Companion App & REST API](#9-companion-app--rest-api) | Mobile control dashboard | General | | **10** | [πŸŽ›οΈ Stream Deck Plugin](#10-stream-deck-plugin) | Physical key bindings & MFD titles | *External Software* | | **11** | [πŸ”Œ Discord Voice Bridge](#11-discord-voice-bridge) | Out-of-game Discord relay | *Server Setup (.env)* | | **12** | [🀒 G-Force & Exertion Voice Distortion](#12-g-force--physical-exertion-voice-distortion) | Breathiness under G-force strain | Settings / General | | **13** | [πŸ“‘ Tactical Radio Relay & Beacons](#13-tactical-radio-relay--multi-hop-repeater-beacons) | Long-range multi-hop daisy-chains | Settings | | **14** | [πŸ“’ Ship Public Address (PA) Broadcast](#14-ship-public-address-pa-broadcast-system) | Fleet-wide alert announcements | Hotkeys | | **15** | [πŸ”Œ External Hardware UDP Telemetry](#15-external-hardware-telemetry-sim-pit-udp-sync) | Sim-pit hardware integration | General | | **16** | [πŸ›‘οΈ Security, Log Rotation & Admin Radar](#16-security-log-rotation--admin-canvas-radar) | Server moderation & zoomable radar | *Server Setup (.env)* | | **17** | [πŸͺ Planetary Atmosphere Simulation](#17-planetary-atmosphere-density-simulation) | Client-side muffling & range scaling | Audio | | **18** | [πŸŽ™οΈ Post-Op Voice Recorder & AAR Portal](#18-post-op-voice-recorder--aar-portal) | Server-side Ogg/Opus recording & admin timeline | *Server Setup (.env)* | | **19** | [πŸ“ž Ship-to-Ship Hailing & Calling](#19-ship-to-ship-hailing--calling-system) | Cockpit-to-cockpit private calls | Hotkeys | | **20** | [πŸ”€ Visor HUD Real-Time Translation Subtitles](#20-visor-hud-real-time-translation-subtitles) | Real-time speech translation on HUD | Overlay | | **21** | [🎧 Binaural HRTF Spatial Audio](#21-binaural-hrtf-spatial-audio) | Physical human hearing simulation | Audio | | **22** | [πŸ“Š Visor HUD 3D Spectrogram](#22-visor-hud-3d-spectrogram) | Real-time speaker frequency overlay | Overlay | | **23** | [πŸŽ™οΈ Voice-Activated Ship Controls](#23-voice-activated-ship-controls) | Simulated keystrokes via speech | Hotkeys / Settings | | **24** | [πŸ›°οΈ Server-Side AAR 3D Playback](#24-server-side-aar-3d-playback) | Synchronized path replay Canvas | *Web Portal* | | **25** | [πŸ’¬ In-App Speech Caption Logs Viewer](#25-in-app-speech-caption-logs-viewer) | History of speech captions & commands | General | | **26** | [πŸŽ™οΈ Voice Command Calibration Wizard](#26-whisper-voice-command-calibration-wizard) | Real-time speech command testing | Hotkeys / Settings | | **27** | [🀫 Whisper Mode (Stealth Comms)](#27-whisper-mode-stealth-comms-with-10m-proximity-limit) | 10m short-range proximity whispering | Hotkeys / Acoustics | | **28** | [πŸ“Έ Voice-Triggered Screenshot Capturer](#28-voice-triggered-in-game-screenshot-capturer) | Captures game screen via speech command | Hotkeys / Settings | | **29** | [πŸŽ™οΈ Visor HUD Microphone Clipping Indicator](#29-visor-hud-microphone-clipping-indicator) | HUD flash for microphone clipping/overgain | Overlay | | **30** | [πŸ“» Custom Radio Squelch & Tone Generator](#30-custom-radio-squelch--tone-generator) | Custom chime frequency, chime/squelch duration | Acoustics | | **31** | [πŸŽ™οΈ Local Voice Loopback Diagnostic Mode](#31-local-voice-loopback-diagnostic-mode) | Playback local microphone with 200ms delay | Acoustics | | **32** | [πŸ“± Companion App OLED High-Contrast Theme](#32-companion-app-oled-high-contrast-theme) | Absolute flat black interface theme | Companion App | | **33** | [πŸ”Š Noise Gate DSP](#33-noise-gate-dsp) | Filter background noise by thresholding RMS volume | Audio | | **34** | [πŸŽ™οΈ Push-to-Talk (PTT) Latch Mode](#34-push-to-talk-ptt-latch-mode) | Toggle voice transmission on press (hands-free PTT) | General / Hotkeys | | **35** | [πŸ—£οΈ Text-To-Speech (TTS) Accessibility Relay](#35-text-to-speech-tts-accessibility-relay) | Local speech synthesizer for captions, alerts, and chat | General / Audio | | **36** | [πŸ€– Voice Macro Sequence Executor](#36-voice-macro-sequence-executor) | Execute complex series of keystrokes via voice commands | Hotkeys | | **37** | [πŸ“ž Manufacturer-Specific Hailing Ringtone Profiles](#37-manufacturer-specific-hailing-ringtone-profiles) | Synthesize unique chime rings (Aegis, Anvil, Drake, RSI, Origin) | Audio | | **38** | [πŸŽ™οΈ Interactive Audio Calibration Wizard](#38-interactive-audio-calibration-wizard) | 5-second buffer recording and loopback diagnostic testing | Audio | | **39** | [πŸ“Š Companion App RSSI Canvas Graph](#39-companion-app-rssi-canvas-graph) | Real-time network statistics graph (RSSI, latency, jitter, loss) | Companion App / Network | | **40** | [πŸŽ™οΈ Voice Wake-Word Engine](#40-voice-wake-word-engine) | Transcribes local voice activity segment-by-segment via Whisper | General / Audio | --- ## 1. Real-Time 3D Spatial Audio ### Description Calculates the spatial relation between players and dynamically applies stereo panning and distance-based volume attenuation. This makes other players sound like they are speaking from their actual in-game locations relative to you. ### How It Works * **Dynamic Stereo Panning:** The client takes the remote speaker's 3D coordinate vector $(X, Y, Z)$ and projects the delta relative to the local listener's position onto the listener's Forward and Right direction vectors. A constant-power panning formula is then applied to calculate precise left/right speaker gains. * **Front-Back Ambiguity Resolution:** Traditional stereo panning makes it difficult to differentiate if a sound is directly in front of or directly behind you. To resolve this, XuruVOIP attenuates the volume by 25% if the remote player is standing behind you. * **Distance Roll-Off:** Volume decays linearly as distance increases. Proximity communication fades out completely at 50 meters, while whispers fade to zero at 5 meters. ### How to Use 1. Open the Client **Settings** window. 2. Under the **Audio** tab, ensure **Enable 3D Spatial Audio** is checked. 3. Coordinate tracking must be active via **OCR Screen Scanner** or **Game.log Reader (GRTPR)** in the **Position** tab. ### Why It's Good to Have It eliminates standard flat VoIP chat limitations. Instead of guessing who is talking, you can immediately identify the location of a calling squadmate by sound aloneβ€”whether they are on your left, behind a crate, or calling from the upper deck. --- ## 2. Location-Aware Acoustics & Ship/Bunker Occlusion ### Description Modulates sound waves as they pass through ship hulls, bulkheads, or cave passages. It dynamically dampens and adds environmental reverb depending on where players are standing. ### How It Works * **Deck & Wall Occlusion:** When players are in the same vehicle zone but on different decks (e.g. inside a *Carrack* or *Hercules*) or separated by bunker walls, a low-pass filter (cutoff frequency between 300Hz and 900Hz) is applied to their voice. The volume is also dampened to simulate acoustic absorption by structural materials. * **Environmental Reverb:** Reads the player's current location zone (e.g., Caves, Bunkers, Hangars) and passes the audio through NAudio DSP delay lines. Custom wet-mix levels, feedback, and decay delays are automatically adjusted to match room sizes. ### How to Use * **No Manual Trigger Needed:** This feature is fully automated once position/zone tracking is active. ### Why It's Good to Have It provides realistic sound boundaries. You won't hear crew members on the lower deck as if they are standing right next to you; their voices will sound naturally muffled and localized. Similarly, shouting in a cave will produce deep echoes, enhancing the immersion of ground exploration. --- ## 3. Helmet & EVA Atmospheric Simulation ### Description Replicates atmospheric sound constraints. Sound cannot travel through the vacuum of space, and wearing a pressurized space suit helmet alters the sound of your own breathing and incoming audio. ### How It Works * **EVA Muting:** If the system detects a player is in vacuum/space (EVA), proximity voice chat is automatically muted. Players must use radio channels to communicate. * **Visor Respirator Overlay:** When the helmet visor is down, the C# client synthesizes a low-frequency breathing sound whoosh and overlays a continuous dual-frequency suit ventilator fan hum (50Hz + 100Hz harmonics) on the mic capture channel. * **Visor Sync:** The client tails the Star Citizen `Game.log` file, parsing attachment logs to automatically detect when a helmet is equipped or unequipped. ### How to Use * Go to the **Hotkeys** tab in Settings to bind a key for **Toggle Helmet** (defaults to `H`). You can toggle your visor manually, or let `Game.log` sync it automatically. ### Why It's Good to Have It enforces space survival mechanics. Forgetting to switch to radio before stepping into the vacuum of space means your squad won't hear your warnings. The faint, persistent hum of the visor fan also adds a claustrophobic space-suit feel. --- ## 4. Sci-Fi Voice Changer & Suit Modulators ### Description Applies real-time vocal modulations to voice feeds, allowing players to sound like robots, cyborgs, or alien species, or define their own custom parameters. ### How It Works * Uses time-domain digital signal processing (DSP) chains: * **Pitch Shifting:** Formant-preserving resampling from 0.5x (deep alien) to 2.0x (high-pitched). * **Ring Modulation:** Multiplies the audio carrier signal by a sine wave to create metallic, robotic tones. * **Bitcrushing:** Reduces sample depth to 8-bit or less to simulate low-fidelity synthesized voice lines. * **Flanger & Distortion:** Applies micro-delays and hyperbolic tangent (`tanh`) soft clipping for grit. * **Custom Vocal Modulator Editor:** Allows fine-grained control of all DSP components via manual sliders in the client UI. ### How to Use 1. Go to the **Audio** tab in Settings. 2. Select an active preset under **Voice Changer**: **Alien**, **Cyborg**, or **Robotic**. 3. Alternatively, check **Enable Custom Vocal Modulator** to open a slider panel: * **Pitch Shift** (0.5x to 2.0x) * **Ring Modulator Frequency** (0Hz to 2000Hz) & **Mix** (0% to 100%) * **Flanger Depth** (0% to 100%), **Rate** (0.1Hz to 10.0Hz) & **Feedback** (0% to 100%) * **Bitcrush Toggle** & **Bits** (2 to 16 bits) 4. You can also toggle and adjust settings in real-time via the Companion App dashboard or Stream Deck keys. ### Why It's Good to Have Perfect for roleplay organizations, hostile alien scenarios, or simply adding a unique audio signature to players operating heavy mechanized power suits. --- ## 5. Immersive Radio Degradation & Chimes ### Description Simulates analog radio transmissions with bandpass filters, static noise, distance delay, and custom/mechanical chimes. ### How It Works * **Radio Bandpass:** Incoming radio packets are restricted to a communication frequency band (e.g. 400Hz to 3400Hz) to replicate radio hardware. * **Signal Degradation:** Calculates distance between the speaker and listener. As they approach the transmitter's maximum range, the bandpass limits narrow and static white noise is dynamically blended in. * **PTT Chimes & Squelch Tail:** Triggers mechanical key-down and key-up chimes when transmitting on radio channels. Supports four distinct mathematical profiles selectable in settings or the Companion App (Military, Industrial, Alien, and Vintage). * **Planetary Distance-Based Radio Delay:** Simulates signal propagation delay using the speed of light ($\approx 3.3\text{ ms}$ per kilometer, computed as `delayMs = distance * 0.0033`). Dequeued radio packets are buffered and delayed dynamically, capped up to 3000ms. * **Custom PTT Chime Uploads:** Allows players to upload custom WAV/MP3 files (`radio_key_down` and `radio_key_up`) into the `Resources/` folder. The client automatically downmixes and resamples these files to 48kHz mono. ### How to Use * Set a key for **Radio PTT** in the **Hotkeys** tab and communicate on an active radio channel. * Enable **Enable Planetary Distance-Based Radio Delay** in Settings -> Audio tab to turn on speed-of-light delays. * Place `radio_key_down.wav` / `.mp3` and `radio_key_up.wav` / `.mp3` in the `Resources/` directory and check **Enable Custom PTT Chimes** in Settings -> Audio tab to use custom chimes. ### Why It's Good to Have Brings military-grade communication realism. The audio cues (chimes and squelch) provide positive feedback that a transmission has started or ended, preventing overlapping communication. --- ## 6. Automatic Ship Intercom System ### Description Automatically groups ship crews into private, localized intercom channels that reflect the ship's physical status (e.g., taking damage or losing power). ### How It Works * **Auto-Subscription:** Boarding a vehicle zone automatically subscribes players to a private `Intercom_` radio channel. * **Pilot Priority Ducking:** If a player sitting in a cockpit or pilot/driver seat transmits on the intercom, the proximity playback of all other crew members is ducked by 85%. * **Dynamic Degradation:** Treads state logs in `Game.log` to apply DSP filters: * **Shield Hits (Static Burst):** Blends in sharp, random voltage spikes and white noise (lasts 2.5 seconds). * **Critical Power (Power Loss):** Heavy soft-clipping saturation, pitch resampled down to 0.78x, and a 60Hz AC hum. * **Quantum Travel (Quantum Wave):** Flanger/phaser sweep via an LFO and an 1800Hz resonant whine. * **Cleanup Cooldown:** Unused intercom channels are deleted by the Go server 5 minutes after the last player disembarks. ### How to Use * Enable **Enable Intercom Degradation (Ship Damage)** in Settings -> General. * You can individually toggle **Shield Hits**, **Critical Power**, and **Quantum Travel** sub-effects. ### Why It's Good to Have Keeps bridge crew communication organized without manual radio switching. During combat, pilot commands cut through chatter automatically. Hearing the ship intercom crackle as shield hits land or whine as the quantum drive spools adds unmatched mechanical feedback. --- ## 7. Vulkan-Compatible HUD Overlay & 2D Tactical Radar ### Description An in-game HUD overlay displaying active channels, speaker states, real-time speech-to-text subtitles, and a 2D tactical radar with vertical elevation metrics. ### How It Works * **Win32 Click-Through Overlay:** A borderless overlay window positioned over the game. It uses low-level Win32 window flags (`WS_EX_TRANSPARENT` and `WS_EX_NOACTIVATE`) to remain clickable-through. * **Interactive HUD Customizer:** Allows real-time theme, positioning, and component visibility customization via the client settings or companion app. * **Tactical Mini-Radar:** Resolves the player's heading and relative speaker coordinates to render a 2D radar overlay with pulsating rings representing voice activity. * **3D Elevation Indicators:** Calculates the vertical height delta: `dz = remotePos.Z - localPos.Z`. If the height difference is 2.0 meters or more, a vertical arrow indicator and height offset (e.g. `Bob (β–² 12m)` or `Alice (β–Ό 8m)`) are appended to their radar tag. * **Speech-to-Text Subtitles:** Decoded incoming audio packets are sent to a background thread running a lightweight, offline Whisper model (`ggml-tiny.bin`) to generate real-time HUD subtitles. ### How to Use * Configure this in the **Overlay** tab in Settings. Set the HUD placement (e.g., Bottom Center, Top Left) and adjust the maximum radar scale. * Elevation markers are rendered automatically on the radar when coordinates are active and the vertical distance exceeds 2 meters. ### Why It's Good to Have Allows players to keep track of communications visually without minimizing the game client. Real-time subtitles are invaluable for hearing-impaired players or during chaotic combat operations when audio is cluttered with explosions. --- ## 8. Hands-Free PTT Voice Commands ### Description Allows players to control client and ship states by speaking commands directly into an offline voice recognizer without other players hearing them. ### How It Works * **Press to Listen:** Holding the dedicated hotkey suppresses all outgoing proximity and radio audio, and records local microphone input at 16kHz. * **Speech Processing:** Upon release, the buffered samples are transcribed offline using the Whisper model. * **Localized Match Dictionaries:** Supports English, French, German, Spanish, Portuguese, Japanese, and Chinese. * **Action Routing:** Compares match ratios against a confidence threshold to trigger actions (Visor toggle, Mic mute, Active radio channel selection, Voice changer preset). * **HUD Banners:** Displays status banners (`AEGIS LISTENING...`, `CMD: Visor Toggle`, or `CMD NOT RECOGNIZED`). ### How to Use 1. In General Settings, check **Enable Voice Commands (Hands-Free PTT)**. *(Note: This downloads the 140MB Whisper model on first activation).* 2. Bind a key to **Voice Command Key (PTT)** in Hotkeys (default is `V`). 3. Hold the key and speak a command (e.g., *"Computer, toggle visor"*, German: *"Kanal auf Alpha"*), then release the key. ### Why It's Good to Have Provides hands-free utility. You can quickly switch radio frequencies, toggle your helmet, or mute communications silently without using complex keyboard bindings or interrupting active squad communications. --- ## 9. Companion App & REST API ### Description Hosts a local web server displaying a glassmorphic dashboard to monitor status or trigger client actions remotely. ### How It Works * **HTTP Web Server:** The client spins up a local HTTP listener on a configurable port (default: `8891`). * **MFD Radar Mode:** Hosts a canvas-based HUD radar screen tracking position, heading, same-zone crew contacts, and speaker activity. * **REST API:** Exposes endpoints: * `GET /api/status`: Returns current client configuration and intercom states. * `POST /api/action`: Triggers manual overrides (like simulated ship failures, voice commands, or mute toggles). ### How to Use * Check **Enable Companion HTTP Server** in General Settings. Open `http://localhost:8891` in a browser on any local device. ### Why It's Good to Have Enables secondary screens (tablets or smartphones) to serve as physical ship MFDs or co-pilot radar maps. Also provides integration points for external developers. --- ## 10. Stream Deck Plugin ### Description Integrates physical Stream Deck buttons to display status, cycle radio frequencies, trigger voice command macros, broadcast on ship PA, toggle beacon relays, cycle intercom simulation states, and display live GPS telemetry. ### How It Works * Connects via WebSockets to the client's Companion App REST API. * **Dynamic Multi-State Actions:** * **Mute Buttons:** Toggles update icons in real-time (cyan glow for active, red strike-through for muted). * **PA Broadcast:** Functions as a Push-to-Talk (PTT) key. Holding it triggers `/api/action` with `start_pa`, and releasing it triggers `stop_pa`. The icon glows active cyan during broadcast. * **Beacon Mode:** Toggles ship beacon relay. Displays cyan when transmitting, and dim grey/red when disabled. * **Voice Command Macro:** Simulates voice commands headlessly. Users configure a text string (e.g., `"close visor"`, `"open cargo bay"`) in the Property Inspector. When pressed, the command executes. Shows a listening indicator if voice recognition is active. * **Intercom Status:** A 4-state action displaying the ship intercom status (`NORMAL`, `SHIELD HIT`, `CRIT PWR`, `QUANTUM`). Pressing the key cycles through these states in the simulation. * **Location Telemetry:** A read-only MFD button displaying the current system zone and player coordinates $(X, Y, Z)$ dynamically formatted with newline characters: ``` [Zone] X: [value] Y: [value] Z: [value] ``` * **Live Frequency Titles:** The "Cycle Radio" button displays the active channel name directly on the key in real-time. ### How to Use 1. Install the `com.xurudragon.xuruvoip.sdPlugin` in the Stream Deck app. 2. Drag and drop any of the 13 available actions onto your Stream Deck keys. 3. Configure the **Companion Port** (default: `8891`) in the key settings to match your client. 4. For the **Voice Command Macro** action, enter the custom text command you want to trigger (e.g., `"open hangar"`). ### Why It's Good to Have Allows hands-on physical access to communication controls and essential ship telemetry. You can control your comms, trigger voice macros, and check your space coordinates at a glance without having to open overlays or look away from your flight stick. --- ## 11. Discord Voice Bridge ### Description Connects community members on Discord directly with in-game tactical channels, supporting active frequency mirroring. ### How It Works * Integrates a Discord bot client inside the Go server. * Relays audio bidirectionally between the Go server radio channel and a designated Discord voice channel. * Maps Discord SSRC audio packets to Go server player nicknames. * **Dynamic Frequency Tracking:** Instead of anchoring to a static channel, the server can dynamically mirror the bridge channel to follow the active channel of a leader in-game. ### How to Use * Configure the bot credentials, server ID, and target channel name inside the server's `.env` configuration file. * Enable dynamic tracking by setting `XURUVOIP_DISCORD_DYNAMIC_TRACKING=1` and `XURUVOIP_DISCORD_LEADER_USERNAME=Username` in the `.env` configuration file. ### Why It's Good to Have Allows coordinators, command staffs, or community members to participate in operations directly from Discord without running the Star Citizen game client. --- ## 12. G-Force & Exertion Voice Distortion ### Description Modulates outgoing voice and overlays breathing audio based on in-game physical stress. ### How It Works * **G-Force Distortion:** Under high G-forces (high accelerations, blackouts), the client applies a tremolo LFO (4-10Hz, up to 40% depth) and pitches down voice feeds (down to 0.85x). * **Exertion Heavy Breathing:** Reads player stamina levels from `Game.log`. If stamina is low, the client overlays randomized panting/breathing audio, scaling respiration speed dynamically. ### How to Use * Enable G-Force tracking under Settings. The system reads telemetry from `Game.log` automatically. ### Why It's Good to Have Brings physical strain to life. Combat maneuvers or sprint runs will make your character sound exhausted or strained, adding dramatic realism to flight dogfights. --- ## 13. Tactical Radio Relay & Multi-Hop Repeater Beacons ### Description Enables long-range communications over planetary scales by routing voice traffic through players acting as repeater beacons. ### How It Works * **Repeater Beacon Mode:** Active beacons announce their positions to the Go server. * **Dijkstra's Shortest Path:** If two players are beyond direct radio range (1500m), the receiving client calculates the shortest path over active repeaters (up to an 8000m total limit). * **Signal Quality Degradation:** The voice is routed through the path and degraded based on the worst quality hop in the chain. ### How to Use * Toggle **Beacon Mode** via Settings or the Companion App. ### Why It's Good to Have Allows organizing communication chains across large operational zones. A player on a high-altitude ship can act as a relay, connecting ground teams in deep canyons to commanders in orbit. --- ## 14. Ship Public Address (PA) Broadcast System ### Description Enables captains or pilots to make ship-wide announcements that bypass local proximity and radio mutes. ### How It Works * Relays audio to all crew members sharing the same `ContainerID` (ship) in the same Zone. * Applies a megaphone filter (high-pass/low-pass) and reverberation to simulate ship corridor acoustics. * Prepend a dual-tone Sci-Fi chime/klaxon alert before the audio plays. ### How to Use * Bind a hotkey for the **PA Broadcast** and transmit. ### Why It's Good to Have Allows captains to issue orders (e.g. "Prepare for jump," "Abandon ship") that are clearly heard by all crew members on board, regardless of local channel selections. --- ## 15. External Hardware Telemetry (Sim-Pit UDP Sync) ### Description Broadcasts client VoIP and helmet states in JSON over UDP to integrate custom sim-pit hardware. ### How It Works * Broadcasts JSON payloads (containing transmission states, visor status, active channel) to `127.0.0.1:8895` every 100ms. ### How to Use * Enable **External Telemetry Sync** in General Settings and configure the target port. ### Why It's Good to Have Enables sim-pit builders to connect physical LEDs, warning lights, or analog meters that react to active communication states. --- ## 16. Security, Log Rotation & Admin Canvas Radar ### Description Provides server administrators with tools for monitoring, log rotation, and real-time visual tracking of players. ### How It Works * **Daily Log Rotation:** Rotates `xuruvoip.log` on startup if it contains entries from a previous day. Retains only the 5 most recent logs. * **Admin Radar Map:** Integrates an interactive 2D HTML5 Canvas radar into the web portal, displaying active zones, speaking indicators, and player walking trails (breadcrumbs) with zoom and pan controls. * **Anti-Bypass Security:** Implements lockout mechanisms and bans players by Username, IP, and hardware fingerprint (HWID/MachineGuid). ### How to Use * Access the Admin Web Portal on `https://[Server_IP]:[Server_Port]/admin` using your secure admin password. ### Why It's Good to Have Essential for large gaming events or public servers, allowing admins to moderate, track player activity, and manage server health securely. --- ## 17. Planetary Atmosphere Density Simulation ### Description Simulates real-time voice range scaling and frequency dampening depending on the local atmospheric density of the moon or planet. ### How It Works * **Volume Range Scaling:** Based on the listener's planetary zone, range is scaled by an atmospheric multiplier: * Moon with trace/very thin atmosphere (e.g., Cellin, Ita): `3.5` (very rapid volume decay, sound dies quickly). * Moon with thin atmosphere (e.g., Daymar, Yela, Lyria): `2.6` or `2.1` (moderate decay). * Standard planet (e.g., MicroTech, Hurston, ArcCorp): `1.0` (standard decay). * Dense gas atmosphere (e.g., Crusader, Arial): `0.75` (sound travels further). * **Gas Muffling (Low-Pass Filtering):** Applies low-pass filters to outdoor moon environments to model thin gas sound transmission constraints (e.g., Cellin outdoor zone applies an 800Hz low-pass cutoff). * **Pressurized Bypasses:** The simulation is bypassed entirely when players disembark their spacesuits or stand inside pressurized environments, such as facilities, outposts, hangars, and ship cabins. ### How to Use 1. Open the Client **Settings** window. 2. In the **Audio** tab, check **Enable Planetary Atmosphere Simulation (Muffling & Range)**. ### Why It's Good to Have Reinforces realism during ground operations. Squad members on airless moons will sound muffled and will need to stand closer to each other to communicate via proximity, while voices inside pressurized ships remain clear and standard. --- ## 18. Post-Op Voice Recorder & AAR Portal ### Description An administrative voice recording suite that writes direct Opus frames to browser-playable Ogg container files, integrated with a timeline view on the admin dashboard. ### How It Works * **Zero-Overhead Ogg/Opus Writer:** Saves incoming Opus voice packets directly into standard Ogg page files with correct CRC-32 checksums, requiring **zero server transcoding CPU load** and saving 5x more disk space than MP3 (~12 MB/hour of audio). * **Target-Based Activation:** Does not record everything automatically. Admins specify exactly which targets (Proximity chat, specific Radio Channels, or Audio Profiles) are actively recorded. * **PTT-Framed Sessions:** Instantiates a new recording when a player begins transmitting, and automatically closes/commits the segment to the database on PTT release or timeout. * **Canvas Timeline & Portal:** Displays an interactive canvas timeline of speaking periods. Admins can click on voice blocks directly on the timeline canvas to trigger a floating audio player and play back segments, or delete them. ### How to Use 1. Enable `XURUVOIP_ENABLE_AAR_RECORDING=1` in the server's `.env` config file. 2. Open the Admin Web Portal and navigate to the **Archives** tab. 3. Check target boxes to enable active recording (e.g., Proximity or a specific Radio Channel). 4. View recorded clips and speak blocks dynamically plotted on the Canvas Timeline. Click on them to play or review. --- ## 19. Ship-to-Ship Hailing & Calling System ### Description Enables cockpit-to-cockpit private calling between ships with a maximum communication range limit of 5,000 meters. ### How It Works * **Protocol-Level Calling:** Active at the position server socket level. When a player initiates a hail to another online player, the server verifies range constraints and busy status. If clear, the target receives an incoming call notification. * **Audio Loop Routing:** Once connected, a private audio stream is established. Microphones are captured and transmitted using custom audio frames (`AudioTypeHail = 0x04`) which bypass standard proximity/radio channels. * **Interactive Hotkeys:** Players can configure separate keybindings to Initiate, Accept, and Decline/End calls. * **VAD Auto-Transmission:** While in an active call, the voice capture service overrides PTT checks to enable hands-free voice transmission. * **Synthesized Audio Chimes:** Uses NAudio signal generators to play realistic dialing/ringing sweeps (900Hz to 600Hz) and connection/disconnection tones, providing clear acoustic feedback. ### How to Use 1. Set bindings for **Initiate Hail**, **Accept Hail**, and **Decline/End Hail** under the **Hotkeys** tab in Settings. 2. When close to another ship, use your Initiate hotkey. The target will hear a ringing sound and see a HUD prompt. 3. The target can press their Accept key to connect, or Decline key to reject the call. Press Decline during an active call to hang up. --- ## 20. Visor HUD Real-Time Translation Subtitles ### Description Translates incoming foreign-language voice streams in real-time and displays them on your Visor HUD overlay. ### How It Works * **Foreign Language Sync:** The client synchronizes your selected language (e.g., English, French, German, Spanish, Portuguese, Japanese, or Chinese) to the server. * **Multi-Language Transcription:** When a remote player speaks, the server forwards their spoken language metadata. The listening client uses this to transcribe the voice stream in the speaker's language using the offline Whisper model. * **Dynamic Translation Engine:** The transcription is mapped against a comprehensive military/flight phrase translator and displayed on the HUD with the source and target languages prefixed: `[FROM -> TO] Subtitle text`. * **Whisper Model Integration:** Requires the `ggml-tiny.bin` model. If not present, enabling the feature will prompt a download warning and fetch it in the background. ### How to Use 1. Go to the **Overlay** tab in Settings. 2. Check **Enable Real-Time HUD Translation Subtitles**. 3. If the Whisper model is missing, a yellow notice appears and the model will download automatically in the background. 4. Incoming foreign speech will now be translated and displayed on your screen! --- ## 21. Binaural HRTF Spatial Audio ### Description Uses Head-Related Transfer Function (HRTF) algorithms to simulate the physical properties of human hearing. Instead of simple stereo panning, it modifies frequencies and delays to simulate how sound waves bounce off the listener's head and ears. ### How It Works * **Woodworth's ITD (Interaural Time Difference):** Calculates the sub-millisecond delay between the left and right ears based on the speaker's angle relative to the listener's head. * **ILD (Interaural Level Difference):** Attenuates the volume of the sound reaching the opposite ear by simulating the head shadow effect using a dynamic low-pass filter. * **Stereo Headphone Optimization:** Custom-designed to work on all standard stereo headphones, allowing players to distinguish height, depth, and distance accurately. ### How to Use 1. Open the Client **Settings** window. 2. In the **Audio** tab, check **Enable HRTF Binaural Rendering**. 3. (Optional) Toggle this setting in real-time via the Stream Deck or Companion App. --- ## 22. Visor HUD 3D Spectrogram ### Description Renders a real-time, 3D Radix-2 64-point FFT spectral visualizer overlay directly on the in-game HUD next to each active speaker. ### How It Works * **Fast Fourier Transform (FFT):** Calculates the frequency distribution of the incoming audio stream in real-time. * **Spectral Mapping:** Groups frequencies into 8 distinct visualizer bands with a leaky integrator decay simulation to create smooth motion. * **HUD Overlay Integration:** Displays the visualizer bars in the overlay window next to the speaker's name tag. ### How to Use 1. Open the Client **Settings** window. 2. In the **Overlay** tab, check **Enable Visor HUD 3D Spectrogram**. 3. When other players speak, the bars will dance next to their name tags. --- ## 23. Voice-Activated Ship Controls ### Description Simulates keyboard presses in Star Citizen when the player speaks commands like "open doors" or "power up shields". ### How It Works * **Voice Command Service:** Analyzes the microphone input in real-time. Supports match dictionaries in 8 languages. * **Virtual Key Simulation:** Simulates direct hardware keystrokes using low-level Win32 `keybd_event` API calls (supporting keys held down for 50ms for reliable game registration, and modifier keys like Alt). * **Configurable Hotkeys:** Keybind mappings can be configured in the Hotkeys tab in settings. ### How to Use 1. Open the Client **Settings** window. 2. In the **Hotkeys** tab, bind custom keys for Power, Doors, Shields, and Landing Gear. 3. Check **Enable Voice Commands** under Settings. 4. Hold your Voice Command PTT hotkey (default: `V`) and speak a command (e.g. "open doors"). --- ## 24. Server-Side AAR 3D Playback ### Description Integrates real-time player coordinates logging and spatial 3D visualization within the After Action Review (AAR) web admin portal. ### How It Works * **Positions Log:** The Go server records player coordinates and zones to a `_positions.jsonl` file every 500ms during active recording. * **WebGL (Three.js) 3D Replay:** An interactive WebGL 3D tactical holographic dashboard powered by Three.js in the admin portal. It fetches coordinates log data and projects 3D spatial points, rendering a full 3D interactive flight path. * **OrbitControls Navigation:** Allows administrators to rotate, pan, and zoom the 3D space with the mouse to analyze movement from any angle. * **Synchronized Playback:** Animates player positions (wireframe 3D meshes) and speaking pulse rings (concentric wireframe circles radiating in 3D space) synchronized with the playback timeline of the recorded Ogg/Opus audio. ### How to Use 1. Log into the Admin Web Portal. 2. Under the **Aar Archives** tab, click **β–Ά 3D Replay** on any recorded segment. 3. The 3D Playback modal will open, displaying the player's path and speaking pulses in interactive 3D. Drag to rotate, right-click to pan, and scroll to zoom. --- ## 25. In-App Speech Caption Logs Viewer ### Description Exposes a scrolling history of speech transcription captions (such as incoming HUD subtitles) and user-issued voice commands inside the desktop client UI itself, making it easy to track past comms. ### How It Works * **WPF TabControl Integration:** Replaces the static Console panel with a styled, sci-fi tab control. Users can toggle between the **System Console** (application errors, diagnostic logs) and **Speech Captions**. * **Automatic Queue Management:** The View-Model subscribes to caption events and inserts new entries at the top of the collection (newest first). The history is kept lightweight by capping the list to the last 30 entries. * **Timestamp & Sender Meta:** Each entry is formatted with the current system time, the player name, and the channel type (e.g. Proximity, Radio, Profile, or Command). ### How to Use 1. Start the client and ensure Whisper transcription or Voice Commands are enabled. 2. Select the **Speech Captions** tab on the main console panel in the lower section of the main window. 3. As voices are transcribed or commands are issued, they will appear chronologically in a scrolling list. --- ## 26. Whisper Voice Command Calibration Wizard ### Description Provides a safe, dedicated testing panel in the client configuration window to speak voice commands and verify that they are correctly recognized by the local Whisper engine, showing confidence similarity scores and matching actions without executing actual keystrokes. ### How It Works * **Bypass Input Simulation:** Activating the calibration mode sets `InputSimulator.BypassInputSimulation = true`. This blocks the client from executing low-level `keybd_event` simulated key presses or VM event handlers ( visor toggles, channel changes, voice changer profile changes, mic mutes), preventing unintended controls in Star Citizen while speaking test commands. * **Live Calibration Bindings:** The VM listens to transcription updates. When calibration mode is active, it redirects the decoded text, updates the confidence similarity percentage, and resolves what action the recognized command would trigger in English or localized languages, posting it directly to the settings calibration panel. * **Interactive VU Level Meter:** Re-routes mic capturing to feed a ProgressBar visual indicator in the UI, helping players verify their mic is active and recording correctly at the required volume. ### How to Use 1. Open the Client **Settings** window and navigate to the **Voice Commands** sub-tab. 2. Find the **Voice Command Calibration Wizard** panel. 3. Click the **Start Calibration** button. The button will turn red and show "Stop Calibration". 4. Speak a command (e.g., *"computer, toggle visor"*, French *"ouvrir les portes"*). 5. Review the **Detected Text**, **Confidence**, and **Matched Action** fields. No key actions will be simulated. 6. Click **Stop Calibration** to return the client to normal operation. --- ## 27. Whisper Mode (Stealth Comms) with 10m Proximity Limit ### Description Allows players to engage in tactical stealth communication (whispering) that restricts voice transmission to a short **10-meter** radius and optimizes mic captures for quiet spoken voices. ### How It Works * **10m Proximity Limit:** When Whisper Mode is active, the client reports a `prox_short` position status to the server. The Go server's position and audio processing loops dynamically constrain audio packet distribution to other players within a tight **10.0-meter** radius (instead of the standard 50.0m proximity distance). * **Stealth DSP Boost:** Upon activation, the client automatically forces the local `WebRtcVad` engine to operate in `OperatingMode.HighQuality` (which is more sensitive to low-amplitude speech). Outgoing microphone samples undergo a **+6dB (2.0x)** pre-VAD amplification gain boost, and pass through a **400Hz High-Pass (HP) filter** to eliminate low-frequency room rumbles or keyboard taps. * **HUD Overlay Integration:** The main window HUD and spatial overlay render a `(Whisper)` status indicator next to the microphone icon to confirm stealth mode is active. ### How to Use 1. Toggled using the default global hotkey **Alt + W** (configurable in Hotkeys settings). 2. The Whisper Mode state checkbox can be manually toggled in Settings under the **Acoustics** tab. --- ## 28. Voice-Triggered In-Game Screenshot Capturer ### Description Allows players to take local screenshots of their active Star Citizen game window hands-free using an offline voice command. ### How It Works * **Localized Trigger Recognition:** The local Whisper model matches voice commands against localized screenshot phrase dictionaries (e.g. English `"take screenshot"`, `"capture screenshot"`, `"screenshot"`; French `"capturer ecran"`, `"capture d'ecran"`; German `"screenshot machen"`; Spanish `"capturar pantalla"`; Portuguese `"capturar tela"`, `"tirar print"`; Japanese `"γ‚Ήγ‚―γƒͺγƒΌγƒ³γ‚·γƒ§γƒƒγƒˆ"`; Chinese `"ζˆͺ屏"`, `"ζˆͺε›Ύ"`). * **Active Window Capture:** When triggered, the client fetches the coordinates of the active Star Citizen window client boundary from the OS. It uses GDI+ `CopyFromScreen` to capture the frame. * **Screenshots Directory:** Saves the captured frame as a PNG inside a local `/Screenshots` folder, formatted as `Screenshot_yyyyMMdd_HHmmss.png`. * **Green HUD Overlay Flash:** Displays a flashing translucent green banner reading `πŸ“Έ SCREENSHOT CAPTURED: [filename]` at 2Hz for 3 seconds on the visor HUD overlay. ### How to Use 1. Ensure **Enable Voice Commands (Hands-Free PTT)** is active in Settings -> General tab. 2. Hold your **Voice Command Key (PTT)** (default `V`), speak the command (e.g. `"computer, take screenshot"`), and release the key. --- ## 29. Visor HUD Microphone Clipping Indicator ### Description Monitors microphone capture amplitude in real-time to alert the player via a flashing HUD overlay if their voice is clipping or too loud. ### How It Works * **Pre-Clamp Clipping Check:** Inside the high-priority capture thread, the client examines microphone samples before applying any output clamping or clipping. If a sample meets or exceeds the 16-bit limits (`>32767` or `<-32768`), a clipping timestamp is recorded. * **800ms Peak Hold:** The VM exposes a clipping flag that holds active for 800 milliseconds after a clipping event is detected. * **Red HUD Overlay Flash:** If the clipping flag is active, a translucent red HUD border showing `πŸŽ™οΈ OVERGAIN / CLIPPING` flashes at 2Hz on the visor overlay, indicating the user needs to lower their microphone gain or stand further away. ### How to Use * Speaks loudly or increase **Microphone Gain (dB)** in settings to verify the red alert flashes. No manual activation is needed as long as the Overlay is enabled. --- ## 30. Custom Radio Squelch & Tone Generator ### Description Allows players to customize the tone frequency and duration of PTT chimes and mechanical squelch sounds, restoring individual profile chimes. ### How It Works * **Restored Dropdown:** The Settings tab restores the **Radio Chime** profile ComboBox (options: `Military`, `Industrial`, `Alien`, `Vintage`, `Custom`). * **Interactive Chime Designer:** Selecting the `Custom` profile unlocks the Custom PTT Chime Designer: * **Waveform Selection:** Choose between Sine, Triangle, Square, and Sawtooth. * **Sweep Frequency Sliders:** Configure Start and End Frequency (300Hz - 3000Hz) to create frequency sweeps. * **Envelope Sliders:** Attack (0 - 200ms) and Decay (0 - 500ms) sliders to mathematically shape the sound envelope. * **Visual Canvas Preview:** Displays a real-time graph of the attack/decay envelope polygon and the generated sweep wave path. * **Play Preview Button:** Instantly plays the designed custom chime locally on the sidetone track. * **Tone Math Generation:** Synthesizes the sweep using phase formula: $\theta(t) = 2\pi (f_{start} \cdot t + \frac{f_{end} - f_{start}}{2T} \cdot t^2)$ and scales to 15% volume. ### How to Use 1. Open Settings and select the **Acoustics** sub-tab. 2. Change the **Radio Chime** dropdown to choose standard profiles. 3. Slide the **Tone Frequency (Hz)**, **Tone Duration (ms)**, and **Squelch Duration (ms)** sliders to design your custom mechanical sound signature. --- ## 31. Local Voice Loopback Diagnostic Mode ### Description Allows players to hear their own modulated microphone voice with a realistic transmission delay for testing and configuration. ### How It Works * **Delayed Sidetone Playback:** When loopback is enabled, incoming local captured audio frames are encoded/decoded and queued into the playback buffer. * **200ms Delay Buffer:** To simulate natural network latency and prevent acoustic echo loops, packets are buffered and delayed by exactly **200 milliseconds** before being mixed and played back through the local output device. ### How to Use 1. Open Settings -> **Acoustics** sub-tab. 2. Check the **Local Mic Loopback Diagnostic** checkbox. --- ## 32. Companion App OLED High-Contrast Theme ### Description Provides an absolute flat black theme option in the Companion App to maximize legibility on secondary monitors and reduce battery drain on OLED smartphones. ### How It Works * **Absolute Black CSS:** The Web Server app template exposes a theme override toggle. When active, it injects CSS styles replacing default dark gradient backgrounds with flat absolute black `#000000` styling. * **Theme State Persistence:** The Companion App header includes a toggle button. The selected theme choice is stored in browser `localStorage` to persist theme preferences across page refreshes. ### How to Use 1. Open the Companion App in a mobile/tablet browser. 2. Click the **OLED** button in the top header to toggle between the default Sci-Fi theme and the high-contrast flat black theme. --- ## 33. Noise Gate DSP ### Description Filters out background noise below a configurable volume threshold by suppressing mic audio. ### How It Works * **RMS Amplitude Check:** Computes Root-Mean-Square (RMS) amplitude of captured audio frames. * **Volume Threshold Gating:** If the average RMS power (converted to decibels) falls below the threshold (e.g. -45 dB), the outgoing packet buffer is cleared/zeroed out before network transmission. ### How to Use 1. Open the client Settings window and go to the **Audio** tab. 2. Check the **Enable Noise Gate** checkbox. 3. Use the threshold slider to adjust from -60 dB (sensitive) to -20 dB (aggressive). ### Why It's Good to Have Eliminates static hiss, breath sounds, and keyboard clicks from being transmitted to squadmates when you are not speaking. --- ## 34. Push-to-Talk (PTT) Latch Mode ### Description Allows toggle-style voice transmission rather than holding down a PTT key. ### How It Works * **PTT Override:** Overrides default PTT keyhook behaviors. * **Toggle Transmit:** When active, pressing the PTT key toggles transmission state on. The client ignores key release events, keeping transmission active until the key is pressed a second time. ### How to Use 1. Go to Settings -> **General** or **Hotkeys** tab. 2. Check the **Enable PTT Latch Mode** checkbox. 3. Tap your Proximity or Radio PTT key once to begin broadcasting continuously. Tap the same key again to stop broadcasting. ### Why It's Good to Have Provides a hands-free PTT option for long transmissions without needing voice activation (VAD), reducing finger fatigue during flight operations. --- ## 35. Text-To-Speech (TTS) Accessibility Relay ### Description Plays incoming text chat exchanges, subtitles, and system warnings locally to the player using Windows Speech Synthesis. ### How It Works * **Speech Synthesis:** Hooked into the text caption events, incoming game chat logs, and warning states. The client utilizes the localized `System.Speech.Synthesis.SpeechSynthesizer` to read incoming subtitles, notifications, and game chat lines directly to the user's local headset. * **Privacy & Efficiency:** Crucially, this relay runs entirely locally on the player's client to respect user privacy and prevent server-side CPU or network overhead. ### How to Use 1. Go to Settings -> **Audio** tab. 2. Check the **Enable Text-to-Speech (TTS) Accessibility Relay** checkbox. 3. Configure your desired voice settings or volume in the settings window. ### Why It's Good to Have Improves accessibility for visually impaired players or during high-stress situations where reading subtitles or chat windows on the HUD is not feasible. --- ## 36. Voice Macro Sequence Executor ### Description Runs predefined, multi-key sequences in Star Citizen using voice commands (e.g., "Prepare for Landing"). ### How It Works * **Visual Macro Builder:** A dedicated **Voice Macros** settings tab allows pilots to construct custom voice macro scripts: * **Master List:** Add or delete macros, and configure the unique Trigger Phrase. * **Step Editor:** Add, delete, and reorder steps using β–²/β–Ό buttons. * **Interactive Key Recording:** Press any key (with modifier keys like Ctrl, Alt, Shift) to record the simulated key binding. Press Backspace to clear. * **Step Delay Slider:** Configure a delay (10ms - 2000ms) for each key step. * **Input Simulation:** Upon command validation, the background thread executes the steps sequentially to simulate low-level hardware keystrokes using Win32 API. ### How to Use 1. Ensure Voice Commands are enabled under Settings -> General. 2. Hold your **Voice Command Key (PTT)** (default `V`). 3. Speak macro triggers such as `"computer, prepare for landing"` or `"computer, prepare for combat"`, and release the key. ### Why It's Good to Have Consolidates multiple cockpit cockpit controls into a single spoken phrase, dramatically reducing pilot workload during critical maneuvers. --- ## 37. Manufacturer-Specific Hailing Ringtone Profiles ### Description Synthesizes distinct corporate hailing chimes representing major ship manufacturers (Aegis, Anvil, Drake, Origin, RSI). ### How It Works * **Signal Synthesis:** Uses NAudio's signal generators to mathematically build ringtones for incoming Ship-to-Ship calls. * **Manufacturer Audioscapes:** Each profile has a unique acoustic signature: * **Drake:** Raw industrial buzzer and mechanical tone. * **RSI:** High-tech modern multi-tone chirp. * **Aegis:** Structured tactical military alert patterns. * **Anvil:** Solid utilitarian warning beep. * **Origin:** Sophisticated, melodic high-luxury chime. ### How to Use 1. Go to Settings -> **Audio** tab. 2. Under **Hailing Ringtone Profile**, select your favorite manufacturer (Aegis, Anvil, Drake, Origin, RSI). ### Why It's Good to Have Enhances aesthetic immersion. A Drake pilot hears a clunky, low-fi buzzer, while an Origin luxury touring pilot hears a sophisticated melodic chime. --- ## 38. Interactive Audio Calibration Wizard ### Description Allows players to test and calibrate their microphone levels and voice modulations before joining group channels. ### How It Works * **Loopback Sandbox:** Records a rolling 5-second audio buffer of the local microphone. * **DSP Processing:** On trigger release, the recording stops, applies current DSP effects (like voice changer presets, pitch shifts, or noise gate thresholds), and plays it back locally through the output device. ### How to Use 1. Go to Settings -> **Audio** tab. 2. Click the **Record Test Audio** button and speak for up to 5 seconds. 3. Click **Play Test Audio** to hear the playback with all current voice effects applied. ### Why It's Good to Have Helps players adjust microphone gains, noise gates, and voice effects in a sandbox environment without annoying other server members. --- ## 39. Companion App RSSI Canvas Graph ### Description Renders real-time network diagnostic metrics (RSSI, latency, jitter, packet loss) in a styled HTML5 Canvas graph on the Companion App dashboard. ### How It Works * **Telemetry Collection:** The client tracks communication latency, network jitter, packet sequence numbers, and computes a pseudo-RSSI (Received Signal Strength Indicator) based on signal quality. * **Diagnostics Hub:** A "Run Network Diagnostics" button is available in both the WPF Settings Connection tab and the Companion App Network view. Clicking it triggers active UDP echo pings to Go server ports (audio & positions) to measure exact metrics, during which vertical scan lines scroll across the web canvas. * **Canvas Drawing:** Drawn dynamically on a canvas grid at 10Hz. ### How to Use 1. Ensure the Companion Server is enabled in client settings. 2. Open the Companion App in a browser. 3. Navigate to the new **Network** tab to view the real-time scrolling wave graph. ### Why It's Good to Have Allows pilots or co-pilots to monitor the quality of their VoIP connection and network stability at a glance. --- ## 40. Voice Wake-Word Engine ### Description Allows hands-free activation of offline voice commands using Whisper transcription on local voice segments. ### How It Works * **WebRtc VAD Segmentation:** Monitored via the WebRtc VAD. When active, the capture service segments local audio into active speech buffers. * **Wake-Word Matching:** When speech stops, the buffer is transcribed. If the transcribed text starts with a configured wake word (e.g. "computer" or "xuru"), the voice command service processes the remaining text as an command, bypassing the need to hold a PTT hotkey. ### How to Use 1. Go to Settings -> **General** tab and check **Enable Wake-Word Engine**. 2. Speak commands hands-free starting with your wake word, for example: `"Computer, toggle visor"`. ### Why It's Good to Have Allows true hands-free cockpit operations, matching actual spaceship AI interactions.