Skip to main content

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.

screenshot

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)

Source distribution for avoc 0.1.2
File Size Uploaded
avoc-0.1.2.tar.gz 380.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for avoc 0.1.2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

0.0.8

2 release files

0.0.7

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page