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-dev
Or 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.