Deploy Whisper on Raspberry Pi AI box
Introduction
Whisper is a versatile, state-of-the-art Automatic Speech Recognition (ASR) and speech processing model developed by OpenAI. Unlike traditional speech-to-text systems, Whisper was trained on 680,000 hours of multilingual and multitask supervised data collected from the web. This massive and diverse dataset makes the model exceptionally robust to accents, background noise, and technical terminology.
This guide provides a comprehensive walkthrough for the deployment and utilization of Whisper on the Raspberry Pi AI Box.

Prepare Hardware
AI Box
| reComputer AI R2130 | reComputer AI Industrial R2145 | reComputer Industrial R20xx | reComputer Industrial R21xx |
|---|---|---|---|
![]() | ![]() | ![]() | ![]() |
Microphone Array

Prepare software
update the system
sudo apt update
sudo apt full-upgrade
Sometimes you may encounter the following issues during updates.
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Get:3 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
Get:4 http://archive.raspberrypi.com/debian bookworm InRelease [39.0 kB]
Reading package lists... Done
E: Release file for http://deb.debian.org/debian/dists/bookworm/InRelease is not valid yet (invalid for another 58d 8h 26min 35s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian-security/dists/bookworm-security/InRelease is not valid yet (invalid for another 84d 18h 23min 59s). Updates for this repository will not be applied.
E: Release file for http://archive.raspberrypi.com/debian/dists/bookworm/InRelease is not valid yet (invalid for another 84d 13h 13min 5s). Updates for this repository will not be applied.
E: Release file for http://deb.debian.org/debian/dists/bookworm-updates/InRelease is not valid yet (invalid for another 85d 0h 52min 29s). Updates for this repository will not be applied.
This is because the time on the Raspberry Pi is set incorrectly, and you need to manually set the time on the Raspberry Pi with command below:
# This command only you can connect google.com
sudo date -s "$(wget -qSO- --max-redirect=0 google.com 2>&1 | grep Date: | cut -d' ' -f5-8)Z"
After set your raspberry time, you can update your raspberry.
Set pcie to gen2/gen3(gen3 is faster than gen2)
Add following text to /boot/firmware/config.txt
#Enable the PCIe external connector
dtparam=pciex1
#Force Gen 3.0 speeds
dtparam=pciex1_gen=3
If you want to use gen2, please comment dtparam=pciex1_gen=3
Install hailo-all and reboot
Open terminal on the Raspberry Pi5, and input command as follows to install Hailo software.
sudo apt install hailo-all
sudo apt-get -y install libblas-dev nlohmann-json3-dev
sudo reboot
Check Software and Hardware
Open terminal on the Raspberry Pi5, and input command as follows to check if hailo-all have been installed.
hailortcli fw-control identify
The right result show as bellow:

Open terminal on the Raspberry Pi5, and input command as follows to check if hailo-8L have been connected.
lspci | grep Hailo
The right result show as bellow:

Install Project
Download Project
cd ~ && git clone https://github.com/Seeed-Projects/STT_hailo_whisper.git
cd STT_hailo_whisper
Install necessary package
sudo apt update
sudo apt install ffmpeg
sudo apt install libportaudio2
sudo apt install portaudio19-dev python3-pyaudio
sudo apt install hailo-all
Create Python environment
python -m venv .env --system-site-packages && source .env/bin/activate
cd app && python download_resources.py
cd .. && pip install -r requirements.txt
Run Project
Start the backend.
python hailo_whisper.py --hw-arch hailo8 --variant base --udp-host 0.0.0.0 --udp-port 12345

Result
Start the frontend, then you can see real-time STT result.
cd test && python recive_message.py --host 0.0.0.0 --port 12345 --stats-interval 5

Tech Support & Product Discussion
Thank you for choosing our products! We are here to provide you with different support to ensure that your experience with our products is as smooth as possible. We offer several communication channels to cater to different preferences and needs.



