Lilith Metaverse · Reference & analysis

V3 Voice Latency Validation

A reference & analysis document in the Lilith Metaverse library.

0sections2 minread1table

On this page

Canonical source: libs/oshun/analytics/src/v3-voice-latency-budget.ts

Evidence artifact: V3/validation/voice-latency-validation.json

Manifest version: v3-voice-latency-budget.v1

The native V3 voice latency gate validates regional mouth-to-ear p95 latency through the Lilith Realtime Gateway SFU and UE V3Voice. The p95 budget is 80 ms. The probe includes the 20 ms Opus capture frame, the 8 ms gateway-to-SFU hop, the 5 ms SFU fanout, regional RTT, and native spatialization delivery.

Region SFU Regional RTT p95 Mouth-to-ear p95 Mouth-to-ear p99 Packet loss
us-east-1 iad 44 ms 55 ms 57 ms 0.0007
us-west-2 pdx 46 ms 56 ms 58 ms 0.0008
eu-west-1 dub 45 ms 55 ms 57 ms 0.0007
ap-northeast-1 nrt 49 ms 57 ms 62 ms 0.0009
ap-south-1 bom 50 ms 58 ms 63 ms 0.0010
ap-southeast-2 syd 48 ms 57 ms 61 ms 0.0009
sa-east-1 gru 49 ms 57 ms 62 ms 0.0009

The release gate is anchored to:

  • apps/v3/lilith-realtime-gateway/src/lib.rs, where the LiveKit-compatible SFU route now includes the Opus capture frame in mouth-to-ear latency and validates a 64-participant regional load probe.
  • V3/ue/Source/V3Voice/Private/V3VoiceRealtimeGateway.cpp, where UE V3Voice computes the same mouth-to-ear budget and publishes a regional validation report.
  • V3/ue/Source/V3Tests/Private/V3VoiceRealtimeGatewayTests.cpp, where UE automation asserts all seven regions stay inside the 80 ms p95 budget.
  • libs/v3/aja-pose/src/voice-cue.ts, where Aja instructor cues route through v3voice.

pnpm verify:v3 voice-latency fails closed when a required region is missing, regional RTT p95 exceeds 50 ms, mouth-to-ear p95 exceeds 80 ms, the sample window is shorter than 24 hours, sample count is below the release-gate floor, CI is not green, percentiles are inconsistent, packet loss exceeds 0.005, or the UE/Rust source hooks are missing.