Skip to content

A real-time voice changer application using WebSockets and ONNX/TensorFlow/PyTorch

License

Notifications You must be signed in to change notification settings

sioaeko/OpenVoiceChanger

Repository files navigation

Realtime Voice Changer

Preview

스크린샷, 2024-06-30 21-59-50

English | 한국어

Realtime Voice Changer is a web-based application for real-time voice modification. This project consists of a React frontend, a Node.js backend server, and a Python-based voice processing server.

GitHub GitHub stars GitHub forks

Key Features

  • Real-time voice input and modification
  • Support for various voice modification models (RVC, ONNX)
  • Easy control through web interface
  • Server status monitoring

Tech Stack

  • Frontend: React
  • Backend: Node.js, Express
  • Voice Processing Server: Python, FastAPI
  • Real-time Communication: WebSocket
  • Voice Processing: ONNX Runtime, PyTorch

Installation

  1. Clone the repository:

    git clone https://github.com/sioaeko/OpenVoiceChanger.git
    cd OpenVoiceChanger
    
  2. Install dependencies:

    chmod +x install_dependencies.sh
    ./install_dependencies.sh
    

    This script installs all dependencies for the client, server, and Python environment.

Running the Application

  1. Start the Node.js server:

    cd server
    npm start
    
  2. Start the Python server:

    cd python_server
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    python python_server.py
    
  3. Start the client:

    cd client
    npm start
    
  4. Access the web interface at http://localhost:3000

Usage

  1. Click the "start" button in the "Server Control" section of the web interface to start the server.
  2. Select the desired model and settings in the "Model Setting" section.
  3. Choose audio input and output devices in the "Device Setting" section.
  4. Click the "Record" button to start voice input.
  5. The modified voice will be output in real-time.

Project Structure

OpenVoiceChanger/
│
├── client/                 # React frontend
│   ├── src/
│   │   ├── components/
│   │   │   └── VoiceChangerDesktop.js
│   │   ├── App.js
│   │   └── index.js
│   └── package.json
│
├── server/                 # Node.js backend
│   ├── models/
│   ├── rvc-model.js
│   ├── onnx-model.js
│   ├── index.js
│   └── package.json
│
├── python_server/          # Python voice processing server
│   ├── python_server.py
│   └── requirements.txt
│
├── install_dependencies.sh
└── README.md

License

This project is licensed under the MIT License. For more details, refer to the LICENSE file.

Thanks for