BBB-Translation-Bot helps with communication in BigBlueButton (BBB) meetings by providing real-time transcription and translation. The bot listens to the meeting’s audio, turns spoken words into text, and shows translations using a self-hosted version of Whisper AI (faster-whisper) and LibreTranslate. It automatically adds the text as closed captions in BBB. 📝🌐
‼️ 🚨--> This project only works with BBB 2.x <--🚨‼️
Before you begin, ensure you have the following:
-
Hardware:
- GPU: NVIDIA GPU. Im using a NVIDIA RTX 4090 (More Info) for stable transcription speed of ~2.1 seconds with Whisper large. If you are using a less powerful GPU, consider using a smaller model like Whisper base.
- Storage: Minimum 64GB disk space (more recommended for active development as Docker can consume significant disk space).
-
Software:
- Operating System:
- Ubuntu 22.04 or
- Windows: WSL2 with Ubuntu 22.04.
- Access: Root access to your machine.
- Operating System:
Tip: Consider using Proxmox to set up a virtual machine with Ubuntu 22 and enable GPU passthrough.
DO NOT clone sub repositories of the project in advance. The script depends on empty sub repositories and will clone them during the setup process. So pls follow the instructions below.
You have two options to set up BBB-Translation-Bot:
- Simple Setup: Quick setup using Docker. ->Click<-
- Developer Setup: Set up a development environment for contributing or customizing.->Click<-
Follow these steps to get BBB-Translation-Bot up and running quickly using Docker:
-
Clone the Repository:
sudo apt update && sudo apt install make -y git clone https://github.com/bigbluebutton-bot/bbb-translation-bot cd bbb-translation-bot
-
Run the Makefile:
make run
-
Configure the Bot:
On the first run, the script will ask you some questions to create a
.env
file with your BBB server details:-
Domain: Your BBB server's domain.
-
BBB Secret: Retrieve it by SSH into your BBB server and running:
sudo bbb-conf --secret
-
-
Reboot
Note: The script will reboot the system automatically. After reboot, the script continues running. To check the status of the script, run:
make run
-
Start the Bot:
To start the bot, run:
make run
-
Open web browser:
Open your web browser and navigate to:
http://<ip>:8080
Replace
<ip>
with your actual domain or IP address. -
Logs:
To view the logs, run:
docker-compose logs -f
-
Stop the Bot:
To stop the bot, run:
make stop
If you plan to contribute or customize BBB-Translation-Bot, set up a development environment:
-
Clone the Repository with Submodules:
sudo apt update && apt install make git -y git clone https://github.com/bigbluebutton-bot/bbb-translation-bot cd bbb-translation-bot
-
Run the Development Makefile:
make run-dev
-
Configure the Bot:
On the first run, the script will ask you some questions to create a
.env-dev
file with your BBB server details:-
Domain: Your BBB server's domain.
-
BBB Secret: Retrieve it by SSH into your BBB server and running:
sudo bbb-conf --secret
-
-
Reboot
Note: The script will reboot the system automatically. After reboot, the script continues running. To check the status of the script, run:
make run-dev
-
Start the Bot:
To start the bot, run:
make run-dev
-
Open web browser:
Open your web browser and navigate to:
http://<ip>:8080
Replace
<ip>
with your actual domain or IP address. -
Logs:
To view the logs, run:
tail -f logs/bot.log tail -f logs/changeset-grpc.log tail -f logs/prometheus.log tail -f logs/transcription-service.log tail -f logs/translation-service.log
-
Stop the Bot:
To stop the bot, run:
make stop
You can also develop on Windows using WSL2. Follow these steps:
-
Install NVIDIA Drivers on Windows:
Download and install from NVIDIA Drivers. According to the WSL CUDA Guide, WSL2 will access these drivers.
-
Install WSL2:
Open PowerShell as an administrator and run:
wsl --install
-
Install Ubuntu 22.04:
- Open the Microsoft Store.
- Search for Ubuntu 22.04.
- Click Install and wait for the installation to complete.
-
Install Docker Desktop:
- Download from Docker Desktop.
- Install and enable WSL2 integration.
- Open the Ubuntu 22.04 terminal and verify Docker by running:
docker
🔧 Fix Docker Command Not Found Error:
Solution: --> Click to expand <--
If you encounter:
$ docker The command 'docker' could not be found in this WSL 2 distro. We recommend activating WSL integration in Docker Desktop settings. For details, visit: https://docs.docker.com/go/wsl2/
Solution:
- Open Docker Desktop.
- Go to Settings > Resources > WSL Integration.
- Enable integration for Ubuntu22.
Thanks to this post for the solution.
-
Clone and Run the Bot:
In the Ubuntu 22.04 terminal, execute:
sudo apt update && apt install make git -y git clone https://github.com/bigbluebutton-bot/bbb-translation-bot cd bbb-translation-bot make run-dev
-
Configure the Bot:
On the first run, the script will ask you some questions to create a
.env-dev
file with your BBB server details:-
Domain: Your BBB server's domain.
-
BBB Secret: Retrieve it by SSH into your BBB server and running:
sudo bbb-conf --secret
-
-
Logs:
To view the logs, run:
tail -f logs/bot.log tail -f logs/changeset-grpc.log tail -f logs/prometheus.log tail -f logs/transcription-service.log tail -f logs/translation-service.log
-
Stop the Bot:
To stop the bot, run:
make stop
- BigBlueButton: Official Website
- Whisper by OpenAI: GitHub Repository
- faster-whisper: GitHub Repository
- whisperX: GitHub Repository
- whisper_streaming: GitHub Repository
- bigbluebutton-bot: GitHub Repository
- transcription-service: GitHub Repository
- stream_pipeline: GitHub Repository
- changeset-grpc: GitHub Repository
- LibreTranslate: GitHub Repository
I welcome contributions! Whether it's reporting issues, suggesting features, or submitting pull requests, your help is greatly appreciated. 🤝
This project is licensed under the MIT License.
For any questions or support, feel free to open an issue on GitHub.