Skip to content

Python script to post 3rd-party closed captions for Zoom meetings

Notifications You must be signed in to change notification settings

heyyeh12/zoom_cc

Repository files navigation

Zoom Closed Captions

This is a simple Python script that uses speech recognition libraries to post 3rd-party closed captions for Zoom meetings.

Table of Contents

Usage

Right now only Mac OSX is supported without following the development installation instructions.

  1. Download & unzip the latest release of zoom_cc.

  2. Enable closed captioning in Zoom settings. Refer to Zoom Help Center for instructions.

  3. Start a meeting and get the API token Copy Zoom API token

  4. Configure zoom_cc_v0.1_OSX/settings.json for your Zoom meeting

  • zoom_api_token = Paste the copied API token. If left empty, you'll be prompted for the token at runtime
  • seq_count = 0 for a new meeting, unless you are restarting the script during the same meeting you were already captioning. This increments with each caption so the Zoom API knows whether it received a new caption.
  • lang = Language option in post request (e.g. 'en-US' for English, 'zh' for Chinese)
  • mic_timeout = Listening timeout for recognizer before resetting because nothing was said
  • phrase_time_limit = Speaking timeout before transcribing and posting to Zoom (set lower to update Zoom more often, higher for more continuous phrases)
  1. Start recognition script
  • Open up Terminal
  • Open up Finder to where zoom_cc_0.1_OSX is downloaded. Click and drag zoom_cc_v0.1_OSX/dist/zoom_cc_v0.1_OSX to the Terminal Window
  • Press enter to run
  1. When prompted, type y to load settings from settings.config. Otherwise paste API token via command line with ⌘V when prompted. Enter API token

  2. Check Zoom for transcriptions. Words should be appearing on the bottom of the screen and in the full transcript. Open Zoom Transcript

  3. Use ctrl+C to exit. The settings.json will be updated with the last used token and sequence count in case the script needs to be restarted during a Zoom meeting.

Development

Mac

1. Get Hombrew

2. Install Python3 & PyAudio prerequisites

brew install python portaudio

5. Get PipEnv

pip3 install pipenv

6. Clone this git repo

git clone https://github.com/heyyeh12/zoom_cc.git

7. Use PipEnv to install other dependencies

cd zoom_cc
pipenv install

8. Run same usage steps as above, except start the Python script instead of executable in step 4

Using SpeechRecognizer Google Speech Recognition

pipenv run python speech_recognizer_closed_caption.py

(Experimental) Using Google Cloud Speech API. NOTE: requires setting up GOOGLE_APPLICATION_CREDENTIALS

pipenv run python transcribe_streaming_infinite.py

9. Create executable with PyInstaller

pipenv run pyinstaller --onefile speech_recognizer_closed_captions.py

Windows - not tested

1. Install Python3

2. Clone this git repo

git clone https://github.com/heyyeh12/zoom_cc.git

3. Install PyAudio system-dependent prerequisites

python -m pip install pyaudio

4. Get PipEnv

pip3 install pipenv

5. Use PipEnv to install other dependencies

cd zoom_cc
pipenv install

For Ubuntu - not tested

1. Install Python3

2. Clone this git repo

git clone https://github.com/heyyeh12/zoom_cc.git

3. Install PyAudio system-dependent prerequisites

sudo apt-get install python-pyaudio python3-pyaudio

4. Get PipEnv

pip3 install pipenv

5. Use PipEnv to install other dependencies

cd zoom_cc
pipenv install

Other Useful Resources

About

Python script to post 3rd-party closed captions for Zoom meetings

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages