Skip to content

BBB-Translation-Bot is a tool designed to enhance communication in BigBlueButton (BBB) meetings by providing real-time transcription and translation services

Notifications You must be signed in to change notification settings

bigbluebutton-bot/bbb-translation-bot

Repository files navigation

🚀 BBB-Translation-Bot

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 <--🚨‼️


🎥 Demo

Demo

🛠️ Getting Started

📋 Prerequisites

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:
    • Access: Root access to your machine.

Tip: Consider using Proxmox to set up a virtual machine with Ubuntu 22 and enable GPU passthrough.

📥 Clone the Repository

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.


🔧 Installation

You have two options to set up BBB-Translation-Bot:

  1. Simple Setup: Quick setup using Docker. ->Click<-
  2. Developer Setup: Set up a development environment for contributing or customizing.->Click<-

🚀 Simple Setup (No Development)

Follow these steps to get BBB-Translation-Bot up and running quickly using Docker:

  1. 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
  2. Run the Makefile:

    make run
  3. 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
  4. 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
  5. Start the Bot:

    To start the bot, run:

    make run
  6. Open web browser:

    Open your web browser and navigate to:

    http://<ip>:8080
    

    Replace <ip> with your actual domain or IP address.

  7. Logs:

    To view the logs, run:

    docker-compose logs -f
  8. Stop the Bot:

    To stop the bot, run:

    make stop

💻 Developer Setup

If you plan to contribute or customize BBB-Translation-Bot, set up a development environment:

  1. 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
  2. Run the Development Makefile:

    make run-dev
  3. 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
  4. 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
  5. Start the Bot:

    To start the bot, run:

    make run-dev
  6. Open web browser:

    Open your web browser and navigate to:

    http://<ip>:8080
    

    Replace <ip> with your actual domain or IP address.

  7. 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
  8. Stop the Bot:

    To stop the bot, run:

    make stop

🪟 Windows WSL Setup

You can also develop on Windows using WSL2. Follow these steps:

  1. Install NVIDIA Drivers on Windows:

    Download and install from NVIDIA Drivers. According to the WSL CUDA Guide, WSL2 will access these drivers.

  2. Install WSL2:

    Open PowerShell as an administrator and run:

    wsl --install
  3. Install Ubuntu 22.04:

    • Open the Microsoft Store.
    • Search for Ubuntu 22.04.
    • Click Install and wait for the installation to complete.
  4. 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.

    Enable Docker in WSL

    Thanks to this post for the solution.

  5. 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
  6. 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
  7. 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
  8. Stop the Bot:

    To stop the bot, run:

    make stop

📚 Additional Resources


🙏 Contributing

I welcome contributions! Whether it's reporting issues, suggesting features, or submitting pull requests, your help is greatly appreciated. 🤝


📝 License

This project is licensed under the MIT License.


📫 Contact

For any questions or support, feel free to open an issue on GitHub.


About

BBB-Translation-Bot is a tool designed to enhance communication in BigBlueButton (BBB) meetings by providing real-time transcription and translation services

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •