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
The voice changer will latch to the actual default microphone, so a virtual microphone isn't needed.
But there are cases when you would want to configure your operating system to provide a virtual microphone:
- When you absolutely don't want to be heard without the voice changer when something crashes and reverts to the direct microphone input.
- When you want to use the AVoc's QtMultimedia backend instead of its PipeWire backend (by uninstalling the pipewire-filtertools package from the Python environment).
- When you're not on the Linux operating system.
(Optional) EasyEffects
It's fine to use with EasyEffects: put "Noise Reduction" and "Autogain" as the input effects there.
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",
}
Metadata
Release files for avoc 0.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| avoc-0.1.2.tar.gz | 380.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| avoc-0.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 413.3 kB
Release files / avoc-0.1.2.tar.gz
| Download URL | avoc-0.1.2.tar.gz |
|---|---|
| Size | 380.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b4f10197b8757f0c44e66fc3670ef3ab0b90b4b8f4fafc692f695ed410123b36
|
|
BLAKE2b-256 checksum How to use checksums |
60345b1c96221cb3b18ec1411f2623c2a7388271d310572cc29aa79839a1c146
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|
Release files / avoc-0.1.2-py3-none-any.whl
| Download URL | avoc-0.1.2-py3-none-any.whl |
|---|---|
| Size | 32.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0133a3e7881a2156698d42171df0f6106a74e8d82717586adb17375a636d5617
|
|
BLAKE2b-256 checksum How to use checksums |
2f99d535724b9305897268eaff6f42c83c09887f207893b1353dfbdaccdaef77
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.12
|