Skip to main content

Speech Subtitle Generation on Nvidia Jetson


Nowadays, we have many meetings every day, but some of the meeting content is not intended to be published. Sending meeting content to the cloud for recording and returning subtitles can pose a significant threat to meeting privacy. And the most important thing is you will lose your meeting content if the internet is delayed.

And here we introduce you Speech Subtitle Generation on Jetson, which can offer real-time speech-to-subtitle services while avoiding information leakage on the internet. Meeting content can be transcribed and displayed on screens using an AI model in subtitle form, which can protect meeting privacy and reduce meeting recorder workload.

Hardware Setup


  • reSpeaker (Or other USB interface microphones)


  • hardware connection


Prepare the runtime environment

Step1. Install Riva ASR Server:

Please refer to this wiki for installing Riva ASR Server.

In your terminal(Ctrl+Alt+T), input sudo docker ps and you will see something like following, that means you have finished the first step.


Step2. Install flask:

Open the terminal (Ctrl+Alt+T) and using the following command to install flask:

pip3 install flask
python3 -c 'import flask; print(flask.__version__)

If you get something like following that means you have finished this step.


Step3. upgrade pip setuptools wheel:

# riva client
git clone --depth=1 --recursive
cd python-clients
sudo pip3 install --upgrade pip setuptools wheel
pip3 install --no-cache-dir --verbose -r requirements.txt
python3 --verbose bdist_wheel
pip3 install --no-cache-dir --verbose dist/nvidia_riva_client*.whl
python3 -c 'import riva.client; print(riva.client.__version__)'

In your terminal(Ctrl+Alt+T), input pip --version you will see somthing like following, it means you finished upgrade pip.


In your terminal(Ctrl+Alt+T), input python3 -c 'import setuptools; print(setuptools.__version__) if you get something like following that means you have upgrade setuptools.


In your terminal(Ctrl+Alt+T), input wheel version you will see somthing like following, it means you finished upgrade wheel.


Step4. install pyaudio:

# pyaudio
sudo apt-get install -y --no-install-recommends python3-pyaudio
python3 -c 'import pyaudio; print(pyaudio.__version__)'

If your terminal get something like following, you finished the last step,congratulations!


Let's run it

git clone
cd Real-time-Subtitle-Recorder-on-Jetson

Project Outlook

In this project, we use the Riva ASR Serverto capture data from the microphone input in real-time and display it on a webpage. In the future we will add more applications like translating one language into another, having faster response speed.

Loading Comments...