Pular para o conteúdo principal

Implantar Whisper na Raspberry Pi AI box

Introdução

Whisper é um modelo versátil e de última geração de Reconhecimento Automático de Fala (ASR) e processamento de fala desenvolvido pela OpenAI. Diferente dos sistemas tradicionais de conversão de fala em texto, o Whisper foi treinado com 680.000 horas de dados supervisionados multilíngues e multitarefa coletados na web. Esse conjunto de dados massivo e diversificado torna o modelo excepcionalmente robusto a sotaques, ruídos de fundo e terminologia técnica.

Este guia fornece um passo a passo completo para a implantação e utilização do Whisper na Raspberry Pi AI Box.

Preparar hardware

AI Box

reComputer AI R2130reComputer AI Industrial R2145reComputer Industrial R20xxreComputer Industrial R21xx

Matriz de microfones

Preparar software

atualizar o sistema

sudo apt update
sudo apt full-upgrade
nota

Às vezes você pode encontrar os seguintes problemas durante as atualizações.

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.

Isso acontece porque a hora no Raspberry Pi está configurada incorretamente, e você precisa definir manualmente a hora no Raspberry Pi com o comando abaixo:

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

Depois de ajustar a hora do seu Raspberry, você pode atualizar o seu Raspberry.

Definir pcie para gen2/gen3 (gen3 é mais rápido que gen2)

Adicione o seguinte texto a /boot/firmware/config.txt

#Enable the PCIe external connector

dtparam=pciex1

#Force Gen 3.0 speeds

dtparam=pciex1_gen=3

nota

Se você quiser usar gen2, comente dtparam=pciex1_gen=3

Instalar hailo-all e reiniciar

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para instalar o software Hailo.

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

Verificar software e hardware

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para verificar se o hailo-all foi instalado.

hailortcli fw-control identify

O resultado correto é mostrado abaixo:

pir

Abra o terminal no Raspberry Pi5 e insira o comando a seguir para verificar se o hailo-8L foi conectado.

lspci | grep Hailo

O resultado correto é mostrado abaixo:

pir

Instalar projeto

Baixar projeto

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

Instalar pacotes necessários

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

Criar ambiente Python

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

Executar projeto

Inicie o backend.

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

Resultado

Inicie o frontend e então você poderá ver o resultado de STT em tempo real.

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

Suporte Técnico e Discussão de Produtos

Obrigado por escolher nossos produtos! Estamos aqui para fornecer diferentes tipos de suporte para garantir que sua experiência com nossos produtos seja o mais tranquila possível. Oferecemos vários canais de comunicação para atender a diferentes preferências e necessidades.

Loading Comments...