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.
Drag your voice model files into the window.
- 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
All desktops.
Linux is the priority.
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.
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.desktopRequires 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-databaseLaunch from the menu or by running:
gio launch ~/.local/share/applications/AVoc.desktopTo uninstall:
rm ~/.local/share/applications/AVoc.desktop ~/.local/share/icons/hicolor/scalable/apps/AVoc.svgThe 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.
It's fine to use with EasyEffects: put "Noise Reduction" and "Autogain" as the input effects there.
Assign a compatible Python version to this directory using pyenv:
pyenv local 3.12.3Create an environment using venv:
python -m venv .venvor through VSCode with ~/.pyenv/shims/python as the Python interpreter.
Install the dependencies:
source .venv/bin/activate
pip install -r requirements-3.12.3.txtRun:
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=strictIt 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",
}