Skip to main content

Desplegar Whisper en Raspberry Pi AI box

Introducción

Whisper es un modelo versátil y de vanguardia de Reconocimiento Automático de Voz (ASR) y procesamiento de voz desarrollado por OpenAI. A diferencia de los sistemas tradicionales de voz a texto, Whisper fue entrenado con 680,000 horas de datos supervisados multilingües y multitarea recopilados de la web. Este conjunto de datos masivo y diverso hace que el modelo sea excepcionalmente robusto ante acentos, ruido de fondo y terminología técnica.

Esta guía proporciona un tutorial completo para el despliegue y utilización de Whisper en el Raspberry Pi AI Box.

Preparar Hardware

AI Box

reComputer AI R2130reComputer AI Industrial R2145reComputer Industrial R20xxreComputer Industrial R21xx

Matriz de Micrófonos

Preparar software

actualizar el sistema

sudo apt update
sudo apt full-upgrade
note

A veces puedes encontrar los siguientes problemas durante las actualizaciones.

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.

Esto se debe a que la hora en el Raspberry Pi está configurada incorrectamente, y necesitas configurar manualmente la hora en el Raspberry Pi con el comando a continuación:

# 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"

Después de configurar la hora de tu raspberry, puedes actualizar tu raspberry.

Configurar pcie a gen2/gen3(gen3 es más rápido que gen2)

Agrega el siguiente texto a /boot/firmware/config.txt

#Enable the PCIe external connector

dtparam=pciex1

#Force Gen 3.0 speeds

dtparam=pciex1_gen=3

note

Si quieres usar gen2, por favor comenta dtparam=pciex1_gen=3

Instalar hailo-all y reiniciar

Abre la terminal en el Raspberry Pi5, e ingresa el comando como sigue para instalar el software Hailo.

sudo apt install hailo-all
sudo apt-get -y install libblas-dev nlohmann-json3-dev
sudo reboot

Verificar Software y Hardware

Abre la terminal en el Raspberry Pi5, e ingresa el comando como sigue para verificar si hailo-all ha sido instalado.

hailortcli fw-control identify

El resultado correcto se muestra a continuación:

pir

Abre la terminal en el Raspberry Pi5, e ingresa el comando como sigue para verificar si hailo-8L ha sido conectado.

lspci | grep Hailo

El resultado correcto se muestra a continuación:

pir

Instalar Proyecto

Descargar Proyecto

cd ~ && git clone https://github.com/Seeed-Projects/STT_hailo_whisper.git
cd STT_hailo_whisper

Instalar paquetes necesarios

sudo apt update
sudo apt install ffmpeg
sudo apt install libportaudio2
sudo apt install portaudio19-dev python3-pyaudio
sudo apt install hailo-all

Crear entorno Python

python -m venv .env --system-site-packages && source .env/bin/activate
cd app && python download_resources.py
cd .. && pip install -r requirements.txt

Ejecutar Proyecto

Iniciar el backend.

python hailo_whisper.py --hw-arch hailo8 --variant base --udp-host 0.0.0.0 --udp-port 12345

Resultado

Inicia el frontend, luego puedes ver el resultado STT en tiempo real.

cd test && python recive_message.py --host 0.0.0.0 --port 12345 --stats-interval 5

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...