Setup
This page guides you through setting up Dreamspeaker for the first time.
WARNING
This project uses Coqui XTTS v2, which allows only non-commercial use of the model and its outputs. Using this bot for commercial purposes is not permitted.
You can read the full Coqui Public Model License 1.0.0 at https://coqui.ai/cpml.
Installation
1. Create a Discord bot
- Go to https://discord.com/developers/applications and create a new application. Give it any name, description, or icon.
- Go to the Bot tab.
- Scroll down and look for MESSAGE CONTENT INTENT under Privileged Gateway Intents. Enable the toggle.
- Under the OAuth2 tab, go to OAuth2 URL Generator. Check the bot box. In the second table, check the Read Messages/View Channels, Connect, Speak, Send Messages, and Attach Files boxes.
- Copy the URL and open it. Invite the bot to your server. Repeat for any servers you want to add the bot to.
- Go back to the Bot tab and find the Token. Reset and copy it into a temporary text file. We'll need it later.
2. Install
Clone this repository or download it as a ZIP and extract to a convenient location.
git clone https://github.com/BogTheMudWing/Dreamspaker.git
cd DreamspeakerIf you don't already have it installed, install uv: https://docs.astral.sh/uv/getting-started/installation/
In the Dreamspeaker folder, install dependencies using the command below. It may take a few minutes.
uv syncInstall ffmpeg. This will differ depending on your operating system, so search for instructions.
Add your bot token to .env. Replace YOUR_BOT_TOKEN_HERE with your bot token.
echo BOT_TOKEN=YOUR_BOT_TOKEN_HERE >> .envStart the bot to initialize the model.
uv run Dreamspeaker.pyAt the prompt, input y to accept the terms of the non-commercial CPML, then wait for the model to download.
At this point, you can start using it or stop it with Ctrl + C.
Operation
Each time you want to start the bot, run this command:
uv run Dreamspeaker.pyWhen you want to shut down the bot, press Ctrl + C. It may take a while to shut down completely, but it is not dangerous to repeat Ctrl + C to ask it to stop.
