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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1278d7fa5aab2efdc8cff5344339f1832e66dc64cf271846bd49a5f31e9eb5a4 |
|
MD5 | 8655cc17ddbf6edbe70598e4ee240bcc |
|
BLAKE2b-256 | 878c3fbd5fe10127565c22984f8e4e46b2b716436e2b5e76bb857610e800b1ac |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97c121b8f26bc0db90e4331641efaab4fac42f0133a0039d3e5e7a3359e0b8f9 |
|
MD5 | da756d30600c0c90f591fdbc3f710fb1 |
|
BLAKE2b-256 | c8c807f91fa3755d62ab03423a9ae5968f5aa2a16bfaa80ffdf1ddbe9b6c3ecc |