Skip to main content

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.

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",
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

avoc-0.1.1.tar.gz (380.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

avoc-0.1.1-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file avoc-0.1.1.tar.gz.

File metadata

  • Download URL: avoc-0.1.1.tar.gz
  • Upload date:
  • Size: 380.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for avoc-0.1.1.tar.gz
Algorithm Hash digest
SHA256 5dd97e56ad2bb6b1997615f74bc8a34cfd3e0d7f5b2f68010884485c2cd42361
MD5 03dc1bb7150c4f66a9d520b0f4c9c288
BLAKE2b-256 00563e513902334af3d6ed37960fae9365179891c94eb17e44c5ac6f4965cda6

See more details on using hashes here.

File details

Details for the file avoc-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: avoc-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for avoc-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 dd3c5bf10f287c479ed127cfa179ba291d742567a1968d2e6c6b9051fee81ee2
MD5 0197d5c47866a45511391d8c4052174e
BLAKE2b-256 2ff364dfec9fb343c0a4747876bc04b58e8defcaa754f28787c995cf4a406b55

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page