Skip to main content

Voice changer for desktop

Project description

A-Voc 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

Features

  • Import of the voice models provided by the user
  • Switching between voices
  • Pitch and volume adjustments
  • Hotkeys and popup notifications for the ease of use in the background

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

With Python Environment

Install:

mkdir avoc-installdir
cd avoc-installdir
pyenv local 3.12.3
python3 -m venv ./venv
pip install avoc

Launch:

python3 -m venv ./venv
avoc

(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 .

(Optional) If it doesn't install, try installing reproducible requirements:

pip install -r requirements-3.12.3.txt

Run:

python -m src.avoc.__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": "src.avoc.__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.0.1.tar.gz (14.9 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.0.1-py3-none-any.whl (15.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for avoc-0.0.1.tar.gz
Algorithm Hash digest
SHA256 c7bda732da76d1123a182e3f1e9a4e561f82b8d5754ed5a1ee43391ae89b4399
MD5 242619fd47a9bb97e3a770490a12333d
BLAKE2b-256 7b1bbc9a23e1d97160cf31c99a267f1fd6d9d37332e1c816ac8c19adff52f00b

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for avoc-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ed0bc4ba0e464b6003b6a30c52a4f256c05722289c9fccc4c7bcf549a6219a95
MD5 dfe008a11363381850d79d7ee0610bef
BLAKE2b-256 b49ff1e9e9e5c71e34218820dbded41624964f86bdffaa2ed8167652b2605795

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