Skip to main content

FurChain is an innovative toolkit for creating and interacting with digital personas, complete with voice cloning and role-playing capabilities. It offers a suite of tools for real-time voice manipulation, chatbot creation, and text-based RPG adventures, all while being open-source and operable offline.

Project description

🦊🔗 FurChain

🌟 Create Lifelike Digital Personas 🌟

Empower your digital experiences with lifelike characters, complete with their own voices and personalities. FurChain is your toolkit for creating and interacting with digital personas that feel real.

🚀 Features

  • 🎤 Voice Cloning: Instantly clone any voice and generate speech with unparalleled realism.
  • 🎭 Effortless & Rapid Role-Play Creation: Instantly bring to life endless role-play scenarios with minimal effort and maximum speed.
  • 🛠️ Offline and Open Source: Full control and customization without the need for an internet connection.

🌐 Examples

  • 🎶 Music Voice Alteration: Change the voice in a song on-the-fly while preserving the original background music. Check examples/singer_change.py.
  • 🤖 Self-Clone Chatbots: Craft your own chatbot with a cloned voice and character in mere seconds. See examples/clone_me.py for a demonstration.
  • 🎲 Text-Based RPGs: Kickstart a text RPG adventure swiftly. Experience it in examples/adventure_with_fox.py.

📋 Requirements

To ensure the best experience with FurChain, your system should meet the following requirements:

  • CPU: X86_64 architecture
  • GPU: Nvidia GPU (recommend >= 12GB VRAM)
  • Docker Compose: For managing multi-container Docker applications.
  • NVIDIA Container Toolkit: For GPU support within Docker containers.

🏃‍♂️ How to Run

Starting the API Service

Run the following command to launch the service:

docker compose up -d

This spins up 5 containers, each serving a unique purpose:

  • text-mongo: Manages chat history with MongoDB, optimized for CPU usage.
  • text-llama-cpp: Hosts the Llama-cpp server for large language models, utilizing GPU.
  • audio-gpt-sovits: Runs the GPT-SoVITS server for voice synthesis, leveraging GPU.
  • audio-funasr: Powers the FunASR online server for speech recognition, optimized for CPU usage.
  • audio-rvc: Operates the RVC server for voice conversion, utilizing GPU.

Initiating FurChain

You can use docker to have a quick glance at the capabilities of FurChain:

docker run --rm --gpus all --network host -v $PWD/data:/app/data -it markyfsun/furchain python3 examples/adventure_with_fox.py

The data directory serves as the central hub for your models, audio files, and chat logs:

  • gpt-sovits: Holds reference audio for speech generation.
  • llama-cpp: Contains LLM GGUF files available for download from huggingface.
  • rvc: Stores models for voice conversion.

Should you wish to contribute or customize furchain, clone this repository and install it as an editable package:

git clone https://github.com/furchain/FurChain.git
cd FurChain
pip install -e .

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

furchain-0.1.6.tar.gz (40.3 kB view details)

Uploaded Source

Built Distribution

furchain-0.1.6-py3-none-any.whl (50.9 kB view details)

Uploaded Python 3

File details

Details for the file furchain-0.1.6.tar.gz.

File metadata

  • Download URL: furchain-0.1.6.tar.gz
  • Upload date:
  • Size: 40.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for furchain-0.1.6.tar.gz
Algorithm Hash digest
SHA256 1278d7fa5aab2efdc8cff5344339f1832e66dc64cf271846bd49a5f31e9eb5a4
MD5 8655cc17ddbf6edbe70598e4ee240bcc
BLAKE2b-256 878c3fbd5fe10127565c22984f8e4e46b2b716436e2b5e76bb857610e800b1ac

See more details on using hashes here.

File details

Details for the file furchain-0.1.6-py3-none-any.whl.

File metadata

  • Download URL: furchain-0.1.6-py3-none-any.whl
  • Upload date:
  • Size: 50.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.9.19

File hashes

Hashes for furchain-0.1.6-py3-none-any.whl
Algorithm Hash digest
SHA256 97c121b8f26bc0db90e4331641efaab4fac42f0133a0039d3e5e7a3359e0b8f9
MD5 da756d30600c0c90f591fdbc3f710fb1
BLAKE2b-256 c8c807f91fa3755d62ab03423a9ae5968f5aa2a16bfaa80ffdf1ddbe9b6c3ecc

See more details on using hashes here.

Supported by

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