Voice changer for desktop
Project description
AVoc: Local Realtime Voice Changer for Desktop
A speech-to-speech converter that uses AI models locally to convert microphone audio to a different voice in near-realtime.
Suitable for gaming and streaming.
Quick Start
Drag your voice model files into the window.
Features
- Import of the voice models provided by the user
- Switching between voices
- Pitch adjustments
- Hotkeys and popup notifications for the ease of use in the background
- Pass Through
Platforms
All desktops.
Linux is the priority.
Goal
Make voice changing more developer-friendly by creating
- a voice conversion library
- a simple voice changer desktop application
- a command-line voice changer program
Open Source and Free for modification.
Installation
For Arch-based Linux Distributions - from AUR
No cloning of this repo needed.
yay -S avoc
or for Manjaro
pamac build avoc
Launch from the menu or by running:
gio launch /usr/share/applications/AVoc.desktop
For other Linuxes
Requires pyenv, update-desktop-database and some build tools to be installed.
After that, install the voice changer into a local directory:
git clone https://github.com/develOseven/avoc
cd avoc
pyenv local 3.12.3
python -m venv .venv
source .venv/bin/activate
CMAKE_ARGS="-DCMAKE_POLICY_VERSION_MINIMUM=3.5" pip install . -r requirements-3.12.3.txt
mkdir -p ~/.local/share/applications/
cp -t ~/.local/share/applications/ src/avoc/AVoc.desktop
echo "Path=$PWD" >> ~/.local/share/applications/AVoc.desktop
mkdir -p ~/.local/share/icons/hicolor/scalable/apps/
cp -t ~/.local/share/icons/hicolor/scalable/apps/ src/avoc/AVoc.svg
update-desktop-database
Launch from the menu or by running:
gio launch ~/.local/share/applications/AVoc.desktop
To uninstall:
rm ~/.local/share/applications/AVoc.desktop ~/.local/share/icons/hicolor/scalable/apps/AVoc.svg
(Optional) Virtual Microphone
To make a game take audio from the voice changer, the operating system needs to be configured to create a virtual microphone.
Linux with PulseAudio
Add this to ~/.config/pulse/default.pa:
load-module module-null-sink sink_name=voice-sink sink_properties=device.description=Voice_Sink
load-module module-remap-source master=voice-sink.monitor source_name=voice-mic source_properties=device.description=Voice_Microphone
And re-login or restart PulseAudio with pulseaudio -k
The Voice_Sink and Voice_Microphone devices will appear. Use the Voice_Sink as voice changer output, and use the Voice_Microphone as input for the game.
Development
Python Environment
Assign a compatible Python version to this directory using pyenv:
pyenv local 3.12.3
Create an environment using venv:
python -m venv .venv
or through VSCode with ~/.pyenv/shims/python as the Python interpreter.
Install the dependencies:
source .venv/bin/activate
pip install -r requirements-3.12.3.txt
Run:
python -m main
(Optional) Get sources of the voice conversion library and install it in developer mode:
(cd .. && git clone https://github.com/develOseven/voiceconversion)
source .venv/bin/activate
pip uninstall voiceconversion
pip install -e ../voiceconversion --config-settings editable_mode=strict
It allows to work on the voice conversion library.
(Optional) Add to the "configurations" in the VSCode's launch.json:
{
"name": "Python Debugger: Module",
"type": "debugpy",
"request": "launch",
"module": "main",
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file avoc-0.0.5.tar.gz.
File metadata
- Download URL: avoc-0.0.5.tar.gz
- Upload date:
- Size: 357.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ef9be64e5f4d3894856c2602680521a191ac5b2c43834c18a14cccc9eeb1dbe3
|
|
| MD5 |
63d3674c3de530365a2ddc4e2ea86ff0
|
|
| BLAKE2b-256 |
152b19e2600a3e225c0d53f46c0bb0284717e3fffc0bde0ed147362b10005c36
|
File details
Details for the file avoc-0.0.5-py3-none-any.whl.
File metadata
- Download URL: avoc-0.0.5-py3-none-any.whl
- Upload date:
- Size: 20.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
309e5388d459c143f594265def7383c96214d1d6460cf4f9340316a555e54282
|
|
| MD5 |
0a13e9a0a89f974a4b133ada5973fb9a
|
|
| BLAKE2b-256 |
54ed28a60a35a9a44b24097313f65212cbb78bc7d5cfc3efdb4dd71bb8d7d8c0
|