Leroll/fast-vc-service

Real-time voice conversion service based on Seed-VC, providing WebSocket voice conversion with PCM and Opus audio format support

14

stars

254

commits

Python

primary language

Aug 18, 2026

updated

opus
realtime
realtime-vc
vc
voice-conversion
webrtc
websocket

README

repo cover

Real-time voice conversion service based on Seed-VC, providing WebSocket voice conversion with PCM and Opus audio format support

English | 简体中文

Features are continuously being updated. Stay tuned for our latest developments... ✨

Fast-VC-Service aims to build a high-performance real-time streaming voice conversion cloud service designed for production environments. Based on the Seed-VC model, it supports WebSocket protocol and PCM/OPUS audio encoding formats.

✨ Core Features

  • Real-time Conversion: Low-latency streaming voice conversion based on Seed-VC
  • WebSocket API: Support for PCM and OPUS audio formats
  • Performance Monitoring: Complete real-time performance metrics statistics
  • High Concurrency: Multi-Worker concurrent processing, supporting production environments
  • Easy Deployment: Simple configuration, one-click startup

🚀 Quick Start

📦 One-click Installation

# Install system dependencies (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y libopus-dev libopus0 opus-tools

# Clone project
git clone --recursive https://github.com/Leroll/fast-vc-service.git
cd fast-vc-service

# Configure environment
cp .env.example .env

# Install dependencies (using uv)
uv sync

# Start service
uv run fast-vc serve

🧪 Quick Testing

# WebSocket real-time voice conversion
uv run examples/websocket/ws_client.py

For detailed installation and usage guide, please refer to Quick Start documentation.

📈 Performance

GPUConcurrencyWorkerChunk timeFirst Token LatencyEnd-to-End LatencyAvg Chunk LatencyAvg RTFMedian RTFP95 RTF
4090D16500136.0143.0105.00.210.220.24
4090D1212500140.1256.6216.60.440.450.51
1080TI16500157.0272.0252.20.500.510.61
1080TI36500154.3261.3304.90.610.620.73

📝 Version Updates

2025-11-04 - v0.1.7: Audio quality improvements and output sample-rate control

  • Quality
    • Added t_span_schedule (supports cosine reordering) to improve quality at the same step count
    • Unified realtime_vc output to 22 kHz for better fidelity
    • Preserve sufficient voiced context across long silences to improve coherence
  • Output sample rate
    • WebSocket adds sample_rate_out to return audio at the requested sample rate
  • Other
    • VAD settings moved into config for easier tuning and portability
    • time_records centralized under session management
    • Removed realtimevc perf tracing, file-vc scripts, and noise-gate module to reduce redundancy
    • Fixed audio not being persisted when upstream disconnects unexpectedly

2025-10-16 - v0.1.6: Multi-GPU/Multi-instance deployment, semantic feature retrieval, uv package management

  • Deployment & Concurrency
    • Support custom model and config file paths, enabling multiple instances with isolated configs and ports
    • Support single instance using multiple GPUs to improve concurrency
  • Quality & Effect
    • Added semantic feature retrieval module to improve voice similarity and robustness
    • Optimized VAD parameters to reduce noise and silence false triggers
  • Engineering
    • Migrated package management to uv for faster install and startup
    • Fixed send_slow false delay warning
    • Added VC evaluation tool tools/eval.py

2025-07-24 - v0.1.5: Pitch Adaptive Matching Support and Real-time Monitoring Optimization

  • Real-time monitoring optimization:
    • Optimized timeline_lognize, added delay items statistics for same event types
    • Added SLOW tags to logs for monitoring receive intervals, send intervals, and VC-E2E latency
  • Support for pitch adaptive matching with reference audio to improve conversion quality
    • Added pitch analysis script providing audio analysis tools
    • Added pitch adaptive matching functionality with corresponding toggle configuration
  • Other optimizations
    • Changed UID generation method to time-based generation for easier experimentation and testing
    • Optimized session tool's file naming mechanism
    • Added config and model path options, support NAS configuration files, enable simpler cloud host deployment
View Historical Versions

2025-07-02 - v0.1.3: Added Process and Instance Level Concurrency Monitoring

  • Added PID record to logs for easier instance tracking
  • Added instance concurrency monitoring feature for real-time concurrency viewing
  • Optimized performance analysis interface to reduce impact on real-time performance

2025-06-26 - v0.1.2: Persistent Storage Optimization

  • Optimized session persistent storage module with asynchronous processing
  • Separated time-consuming timeline statistical analysis module to improve response speed
  • Optimized timeline recording mechanism to reduce storage overhead

2025-06-19 - v0.1.1: First Packet Performance Optimization

  • Added performance monitoring API endpoint /tools/performance-report for real-time performance metrics
  • Enhanced timing logs for better performance bottleneck analysis
  • Mitigated delay issue caused by first audio packet model invocation

2025-06-15 - v0.1.0: Basic Service Framework

Completed the core framework construction of real-time voice conversion service based on Seed-VC, implementing WebSocket streaming inference, performance monitoring, multi-format audio support and other complete basic functions.

  • Real-time streaming voice conversion service
  • WebSocket API support for PCM and Opus formats
  • Complete performance monitoring and statistics system
  • Flexible configuration management and environment variable support
  • Multi-Worker concurrent processing capability
  • Concurrent performance testing framework

🚧 TODO

  • tag - v0.2 - Improve inference efficiency, reduce RTF
    • Add a monitoring frontend to display performance metrics and system status in real time
    • Add scheduled tasks to periodically clean up logs and persisted data
    • Optimize timeline analysis, add batch analysis to the comprehensive report, and add a streaming smoothness metric to determine whether returned audio is sufficient for downstream playback
    • Support fp16 inference mode
    • Update documentation to reflect the latest code
    • Train models to optimize voice conversion quality
    • Improve model effectiveness for noisy data
      • Distinguish different noise types
    • Server send/recv event definitions should match roles
    • Model acceleration optimization:
      • Change VAD to use ONNX-GPU to improve inference speed
      • Explore solutions to reduce model inference latency (e.g., new model architectures, quantization, etc.)
    • Create Docker image and AutoDL image for one-click deployment

🙏 Acknowledgements

  • Seed-VC - Provides powerful underlying voice conversion model
  • RVC - Provides basic streaming voice conversion pipeline

Contributors

Leroll

254 commits

Leroll/fast-vc-service

Real-time voice conversion service based on Seed-VC, providing WebSocket voice conversion with PCM and Opus audio format support

14

stars

254

commits

Python

primary language

Aug 18, 2026

updated

opus
realtime
realtime-vc
vc
voice-conversion
webrtc
websocket

README

repo cover

Real-time voice conversion service based on Seed-VC, providing WebSocket voice conversion with PCM and Opus audio format support

English | 简体中文

Features are continuously being updated. Stay tuned for our latest developments... ✨

Fast-VC-Service aims to build a high-performance real-time streaming voice conversion cloud service designed for production environments. Based on the Seed-VC model, it supports WebSocket protocol and PCM/OPUS audio encoding formats.

✨ Core Features

  • Real-time Conversion: Low-latency streaming voice conversion based on Seed-VC
  • WebSocket API: Support for PCM and OPUS audio formats
  • Performance Monitoring: Complete real-time performance metrics statistics
  • High Concurrency: Multi-Worker concurrent processing, supporting production environments
  • Easy Deployment: Simple configuration, one-click startup

🚀 Quick Start

📦 One-click Installation

# Install system dependencies (Ubuntu/Debian)
sudo apt-get update
sudo apt-get install -y libopus-dev libopus0 opus-tools

# Clone project
git clone --recursive https://github.com/Leroll/fast-vc-service.git
cd fast-vc-service

# Configure environment
cp .env.example .env

# Install dependencies (using uv)
uv sync

# Start service
uv run fast-vc serve

🧪 Quick Testing

# WebSocket real-time voice conversion
uv run examples/websocket/ws_client.py

For detailed installation and usage guide, please refer to Quick Start documentation.

📈 Performance

GPUConcurrencyWorkerChunk timeFirst Token LatencyEnd-to-End LatencyAvg Chunk LatencyAvg RTFMedian RTFP95 RTF
4090D16500136.0143.0105.00.210.220.24
4090D1212500140.1256.6216.60.440.450.51
1080TI16500157.0272.0252.20.500.510.61
1080TI36500154.3261.3304.90.610.620.73

📝 Version Updates

2025-11-04 - v0.1.7: Audio quality improvements and output sample-rate control

  • Quality
    • Added t_span_schedule (supports cosine reordering) to improve quality at the same step count
    • Unified realtime_vc output to 22 kHz for better fidelity
    • Preserve sufficient voiced context across long silences to improve coherence
  • Output sample rate
    • WebSocket adds sample_rate_out to return audio at the requested sample rate
  • Other
    • VAD settings moved into config for easier tuning and portability
    • time_records centralized under session management
    • Removed realtimevc perf tracing, file-vc scripts, and noise-gate module to reduce redundancy
    • Fixed audio not being persisted when upstream disconnects unexpectedly

2025-10-16 - v0.1.6: Multi-GPU/Multi-instance deployment, semantic feature retrieval, uv package management

  • Deployment & Concurrency
    • Support custom model and config file paths, enabling multiple instances with isolated configs and ports
    • Support single instance using multiple GPUs to improve concurrency
  • Quality & Effect
    • Added semantic feature retrieval module to improve voice similarity and robustness
    • Optimized VAD parameters to reduce noise and silence false triggers
  • Engineering
    • Migrated package management to uv for faster install and startup
    • Fixed send_slow false delay warning
    • Added VC evaluation tool tools/eval.py

2025-07-24 - v0.1.5: Pitch Adaptive Matching Support and Real-time Monitoring Optimization

  • Real-time monitoring optimization:
    • Optimized timeline_lognize, added delay items statistics for same event types
    • Added SLOW tags to logs for monitoring receive intervals, send intervals, and VC-E2E latency
  • Support for pitch adaptive matching with reference audio to improve conversion quality
    • Added pitch analysis script providing audio analysis tools
    • Added pitch adaptive matching functionality with corresponding toggle configuration
  • Other optimizations
    • Changed UID generation method to time-based generation for easier experimentation and testing
    • Optimized session tool's file naming mechanism
    • Added config and model path options, support NAS configuration files, enable simpler cloud host deployment
View Historical Versions

2025-07-02 - v0.1.3: Added Process and Instance Level Concurrency Monitoring

  • Added PID record to logs for easier instance tracking
  • Added instance concurrency monitoring feature for real-time concurrency viewing
  • Optimized performance analysis interface to reduce impact on real-time performance

2025-06-26 - v0.1.2: Persistent Storage Optimization

  • Optimized session persistent storage module with asynchronous processing
  • Separated time-consuming timeline statistical analysis module to improve response speed
  • Optimized timeline recording mechanism to reduce storage overhead

2025-06-19 - v0.1.1: First Packet Performance Optimization

  • Added performance monitoring API endpoint /tools/performance-report for real-time performance metrics
  • Enhanced timing logs for better performance bottleneck analysis
  • Mitigated delay issue caused by first audio packet model invocation

2025-06-15 - v0.1.0: Basic Service Framework

Completed the core framework construction of real-time voice conversion service based on Seed-VC, implementing WebSocket streaming inference, performance monitoring, multi-format audio support and other complete basic functions.

  • Real-time streaming voice conversion service
  • WebSocket API support for PCM and Opus formats
  • Complete performance monitoring and statistics system
  • Flexible configuration management and environment variable support
  • Multi-Worker concurrent processing capability
  • Concurrent performance testing framework

🚧 TODO

  • tag - v0.2 - Improve inference efficiency, reduce RTF
    • Add a monitoring frontend to display performance metrics and system status in real time
    • Add scheduled tasks to periodically clean up logs and persisted data
    • Optimize timeline analysis, add batch analysis to the comprehensive report, and add a streaming smoothness metric to determine whether returned audio is sufficient for downstream playback
    • Support fp16 inference mode
    • Update documentation to reflect the latest code
    • Train models to optimize voice conversion quality
    • Improve model effectiveness for noisy data
      • Distinguish different noise types
    • Server send/recv event definitions should match roles
    • Model acceleration optimization:
      • Change VAD to use ONNX-GPU to improve inference speed
      • Explore solutions to reduce model inference latency (e.g., new model architectures, quantization, etc.)
    • Create Docker image and AutoDL image for one-click deployment

🙏 Acknowledgements

  • Seed-VC - Provides powerful underlying voice conversion model
  • RVC - Provides basic streaming voice conversion pipeline

Contributors

Leroll

254 commits

Languages

Python

99.4%