This project is a Discord bot that transcribes voice channel audio into text in real-time. It uses Whisper for audio transcription and is capable of handling multiple users in a voice channel.
- This project uses Pycord (see Pycord Github)
- This project uses Faster Whisper (see Faster Whisper Github)
- Transcribes voice channel audio to text.
- Supports multiple users.
- Thread-safe operations for concurrent transcriptions.
To set up and run this Discord bot, follow these steps:
- Python 3.7 or higher.
- Discord bot token (see Discord Developer Portal).
ffmpeg
installed and added to your system's PATH.
-
Clone the Repository:
git clone https://github.com/your-github-username/discord-transcription-bot.git cd discord-transcription-bot
-
Create a Virtual Environment (optional but recommended):
python -m venv venv # Activate the virtual environment # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate
-
Install Dependencies:
pip install -r requirements.txt
-
Environment Variables:
Create a
.env
file in the root directory and add your Discord bot token and guild ID:DISCORD_TOKEN=your_discord_bot_token GUILD_ID=your_guild_id
- Edit
player_map.yml
to map Discord user IDs to player and character names for transcription. - Adjust
audio_processing.py
for specific Whisper model settings or other preferences.
-
Start the Bot:
python main.py
-
Bot Commands:
/connect
: Connect VOLO to your voice channel./scribe
: Starts the transcription in the current voice channel./stop
: Stops the transcription./disconnect
: Disconnects the bot from the voice channel.
Contributions to this project are welcome. Please ensure to follow the project's coding style and submit pull requests for any new features or bug fixes.
- This project uses Whisper for audio transcription.
- Thanks to the Discord.py community for their support and resources.