https://github.com/sioaeko/openvoicechanger
✨ A real-time voice changer application using WebSockets and ONNX/TensorFlow/PyTorch
https://github.com/sioaeko/openvoicechanger
ai conversational-ai converter onnx-models onnxruntime pytorch rvc rvc-voices tensorflow voice voice-conversion voice-conversion-gan voice-converter websocket-server
Last synced: 2 months ago
JSON representation
✨ A real-time voice changer application using WebSockets and ONNX/TensorFlow/PyTorch
- Host: GitHub
- URL: https://github.com/sioaeko/openvoicechanger
- Owner: sioaeko
- License: mit
- Created: 2024-05-26T14:43:32.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-01-30T01:32:29.000Z (9 months ago)
- Last Synced: 2025-06-20T12:14:41.379Z (4 months ago)
- Topics: ai, conversational-ai, converter, onnx-models, onnxruntime, pytorch, rvc, rvc-voices, tensorflow, voice, voice-conversion, voice-conversion-gan, voice-converter, websocket-server
- Language: JavaScript
- Homepage:
- Size: 124 KB
- Stars: 38
- Watchers: 2
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Realtime Voice Changer
### Preview

[English](https://github.com/sioaeko/OpenVoiceChanger/blob/main/README.md) | [한국어](https://github.com/sioaeko/OpenVoiceChanger/blob/main/README_KR.md) | [日本語](https://github.com/sioaeko/OpenVoiceChanger/blob/main/README_JP.md)
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.


## 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](https://github.com/sioaeko/OpenVoiceChanger/blob/main/LICENSE) file.
## Thanks for
- [ONNX Runtime](https://github.com/microsoft/onnxruntime)
- [ngrok](https://ngrok.com/)
- [torch](https://pytorch.org/)
- [websockets](https://pypi.org/project/websockets/)
- [numpy](https://numpy.org/)
- [uvicorn](https://www.uvicorn.org/)
- [fastapi](https://fastapi.tiangolo.com/ko/)