Transcribe50rs is a tool for easy transcription and simultaneous translation of speech. I designed it in the first place to provide real-time captioning for my course - CS50 RS. Because the course is taught in Ukrainian, potential English-speaking viewers of the live stream would benefit from having English captions.
The idea behind this tool is to have it running on the same computer as OBS and output translation into a file. As OBS supports text overlays with its source being a text file, one can set up a Text(GDI+) source in OBS and point it to the created transcription.txt file, creating near real-time live stream captioning.
Requirement pyaudio depends on the portaudio19-dev package. Linux users may need to install it before running pip install -r requirements.txt. Install portaudio on Ubuntu & Debian with:
$ sudo apt-get install portaudio19-devOr look up instructions for your distribution.
After setting up your virtual environment and running pip install -r requirements.txt, you can run transcribe.py.
You will be prompted to choose an input and output language (must be in ISO 639-1 format).
You will be prompted to select your preferred input mic from the list of available ones, after which the program will create a transcription.txt file in its root directory.
Open OBS and create a new Text(GDI+) source in your scene. Check the Read from file box and point to your transcription.txt. I also recommend checking Use Custom Text Extends box so you can set the text to wrap.