Prerequisites & Preparation

If you want to use CosyVoice, it is recommended to start preparing your environment with Miniconda.

Who Should Read This Page

If you only use NovelPlayer as a reader, you can read this page later.

If you want audiobooks, especially self-hosted CosyVoice, then it is recommended to read this page first — and you can start preparing directly with Miniconda.

Start with Miniconda

The upstream CosyVoice project recommends using a conda environment. For most users, installing Miniconda directly is lighter and simpler than the full Anaconda.

You can use the following official entry points:

What You Need to Prepare

  1. A computer or server capable of running CosyVoice — an NVIDIA GPU is recommended
  2. Miniconda, Git, and FFmpeg
  3. The CosyVoice repository and model files
  4. Your phone and host on the same local network, or a Cloudflare Tunnel already configured

Minimal Preparation Flow

  1. Install Miniconda and Git.
  2. Download FFmpeg and configure its environment variable.
  3. Create the cosyvoice environment.
  4. Clone the CosyVoice repository and models, and start the Web UI in the cosyvoice environment to verify.
  5. Replace with a compatible webui.py (GitHub source) and restart the Web UI or server.
  6. Fill the endpoint back into the NovelPlayer client.

Frequently asked questions

Minimal Installation Flow

After installing Miniconda, run the following commands:

git clone --recursive https://github.com/FunAudioLLM/CosyVoice.git

cd CosyVoice

conda create -n cosyvoice -y python=3.10

conda activate cosyvoice

pip install -r requirements.txt

Model downloads, ttsfrd, vllm, and Docker deployment steps change quickly, so please refer to the official CosyVoice documentation as the source of truth.

Reference launch command

conda activate cosyvoice

python webui.py --port 50001 --model_dir pretrained_models/Fun-CosyVoice3-0.5B

Target State After Launch

You can get a reachable CosyVoice address, for example:

http://192.168.1.119:50000/

Then, in the "Management" screen of NovelPlayer, fill it into the "CosyVoice address" field.

Boundaries You Should Know

  • CosyVoice is an external dependency and is not installed together with NovelPlayer.
  • NovelPlayer is responsible for consuming the CosyVoice API, not for deploying CosyVoice on your behalf.
  • When no CosyVoice endpoint is configured, the reader still works, but the audiobook pipeline is unavailable.

Important Notice

CosyVoice is an independent third-party open-source project (GitHub: FunAudioLLM/CosyVoice) that you deploy and manage yourself.

  • NovelPlayer does not provide voice cloning features. NovelPlayer itself does not include voice cloning, speech synthesis, or a TTS engine.
  • NovelPlayer only acts as a consumer, sending audio requests to an endpoint you specify.
  • You are fully responsible for having legal authorization for any voice samples you use. You must ensure you hold all necessary rights and licenses for any input voice sample.
  • Cloning, imitating, or impersonating another person's voice without explicit legal authorization is prohibited.

If your use of CosyVoice or another voice service involves voice cloning capabilities, please make sure to comply with applicable laws, regulations, and terms of service on your own.

Boundaries between preset audio samples and self-hosted samples:

  • Preset audio samples are original AI-designed virtual voices and are not based on any real human voice samples; the platform is responsible for their source and compliance.
  • Preset audio samples are provided with NovelPlayer as reference audio assets and do not depend on any cloud voice service; synthesis still happens in your own environment, and NovelPlayer does not participate in the final audio synthesis.
  • You are still responsible for: the text copyright of synthesized content, and the scope of use of preset audio samples (no resale, and no use for impersonation, defamation, or misleading purposes).
  • If you distribute audiobooks synthesized with preset audio samples externally, please clearly label the AI-generated content in accordance with applicable laws and regulations to avoid confusion or misidentification.